diff options
author | Alexander Graf <agraf@suse.de> | 2010-02-09 17:37:08 +0100 |
---|---|---|
committer | Michael S. Tsirkin <mst@redhat.com> | 2010-02-14 16:10:54 +0200 |
commit | a2236d4820a09a35e017508c57564c97736c79f7 (patch) | |
tree | 5a8099c5531a366e47410c7a1d5ad84ae7c615b0 /hw/ppc_newworld.c | |
parent | a9ceb76d55abfed9426a819024aa3a4b87266c9f (diff) | |
download | qemu-a2236d4820a09a35e017508c57564c97736c79f7.zip qemu-a2236d4820a09a35e017508c57564c97736c79f7.tar.gz qemu-a2236d4820a09a35e017508c57564c97736c79f7.tar.bz2 |
PPC: Add USB per default on U3
Linux with CONFIG_PPC64 doesn't support ADB devices anymore, so we have to
use USB for keyboard and mouse.
This patch enables USB per default on U3 and adds a virtual keyboard and mouse
there.
Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'hw/ppc_newworld.c')
-rw-r--r-- | hw/ppc_newworld.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/hw/ppc_newworld.c b/hw/ppc_newworld.c index dafd37c..bc86c85 100644 --- a/hw/ppc_newworld.c +++ b/hw/ppc_newworld.c @@ -65,6 +65,7 @@ #include "elf.h" #include "kvm.h" #include "kvm_ppc.h" +#include "hw/usb.h" #define MAX_IDE_BUS 2 #define VGA_BIOS_SIZE 65536 @@ -377,12 +378,14 @@ static void ppc_core99_init (ram_addr_t ram_size, ide_mem_index[2] = pmac_ide_init(hd, pic[0x0e], dbdma, 0x1a, pic[0x02]); /* cuda also initialize ADB */ + if (machine_arch == ARCH_MAC99_U3) { + usb_enabled = 1; + } cuda_init(&cuda_mem_index, pic[0x19]); adb_kbd_init(&adb_bus); adb_mouse_init(&adb_bus); - macio_init(pci_bus, PCI_DEVICE_ID_APPLE_UNI_N_KEYL, 0, pic_mem_index, dbdma_mem_index, cuda_mem_index, NULL, 3, ide_mem_index, escc_mem_index); @@ -391,6 +394,13 @@ static void ppc_core99_init (ram_addr_t ram_size, usb_ohci_init_pci(pci_bus, -1); } + /* U3 needs to use USB for input because Linux doesn't support via-cuda + on PPC64 */ + if (machine_arch == ARCH_MAC99_U3) { + usbdevice_create("keyboard"); + usbdevice_create("mouse"); + } + if (graphic_depth != 15 && graphic_depth != 32 && graphic_depth != 8) graphic_depth = 15; |