aboutsummaryrefslogtreecommitdiff
path: root/hw/ppc
diff options
context:
space:
mode:
authorAndreas Färber <afaerber@suse.de>2013-01-23 23:04:05 +0000
committerAlexander Graf <agraf@suse.de>2013-01-25 22:02:55 +0100
commit293c867d8c7399d17e6b593053411a6515171f38 (patch)
tree77ac79d1c0525ac72aff7053bd204a7bdc793d04 /hw/ppc
parent2e4a7c9c5df442d4223e738f7e8f73192b8b2a65 (diff)
downloadqemu-293c867d8c7399d17e6b593053411a6515171f38.zip
qemu-293c867d8c7399d17e6b593053411a6515171f38.tar.gz
qemu-293c867d8c7399d17e6b593053411a6515171f38.tar.bz2
cuda: Move ADB bus into CUDA state
Replace the global adb_bus with a CUDA-internal one, accessed using regular qdev child bus accessor. Signed-off-by: Andreas Färber <afaerber@suse.de> Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'hw/ppc')
-rw-r--r--hw/ppc/mac.h2
-rw-r--r--hw/ppc/mac_newworld.c7
-rw-r--r--hw/ppc/mac_oldworld.c7
3 files changed, 12 insertions, 4 deletions
diff --git a/hw/ppc/mac.h b/hw/ppc/mac.h
index 26cb497..b17107b 100644
--- a/hw/ppc/mac.h
+++ b/hw/ppc/mac.h
@@ -28,6 +28,7 @@
#include "exec/memory.h"
#include "hw/sysbus.h"
#include "hw/ide/internal.h"
+#include "hw/adb.h"
/* SMP is not enabled, for now */
#define MAX_CPUS 1
@@ -93,6 +94,7 @@ typedef struct CUDAState {
uint8_t ier;
uint8_t anh;
+ ADBBusState adb_bus;
CUDATimer timers[2];
uint32_t tick_offset;
diff --git a/hw/ppc/mac_newworld.c b/hw/ppc/mac_newworld.c
index 2892b36..6de810b 100644
--- a/hw/ppc/mac_newworld.c
+++ b/hw/ppc/mac_newworld.c
@@ -149,6 +149,7 @@ static void ppc_core99_init(QEMUMachineInitArgs *args)
PCIBus *pci_bus;
PCIDevice *macio;
MACIOIDEState *macio_ide;
+ BusState *adb_bus;
MacIONVRAMState *nvr;
int bios_size;
MemoryRegion *pic_mem, *escc_mem;
@@ -381,9 +382,11 @@ static void ppc_core99_init(QEMUMachineInitArgs *args)
"ide[1]"));
macio_ide_init_drives(macio_ide, &hd[MAX_IDE_DEVS]);
- dev = qdev_create(BUS(&adb_bus), TYPE_ADB_KEYBOARD);
+ dev = DEVICE(object_resolve_path_component(OBJECT(macio), "cuda"));
+ adb_bus = qdev_get_child_bus(dev, "adb.0");
+ dev = qdev_create(adb_bus, TYPE_ADB_KEYBOARD);
qdev_init_nofail(dev);
- dev = qdev_create(BUS(&adb_bus), TYPE_ADB_MOUSE);
+ dev = qdev_create(adb_bus, TYPE_ADB_MOUSE);
qdev_init_nofail(dev);
if (usb_enabled(machine_arch == ARCH_MAC99_U3)) {
diff --git a/hw/ppc/mac_oldworld.c b/hw/ppc/mac_oldworld.c
index 59b7199..9ed303a 100644
--- a/hw/ppc/mac_oldworld.c
+++ b/hw/ppc/mac_oldworld.c
@@ -92,6 +92,7 @@ static void ppc_heathrow_init(QEMUMachineInitArgs *args)
PCIDevice *macio;
MACIOIDEState *macio_ide;
DeviceState *dev;
+ BusState *adb_bus;
int bios_size;
MemoryRegion *pic_mem;
MemoryRegion *escc_mem, *escc_bar = g_new(MemoryRegion, 1);
@@ -281,9 +282,11 @@ static void ppc_heathrow_init(QEMUMachineInitArgs *args)
hd[3] = hd[2] = NULL;
pci_cmd646_ide_init(pci_bus, hd, 0);
- dev = qdev_create(BUS(&adb_bus), TYPE_ADB_KEYBOARD);
+ dev = DEVICE(object_resolve_path_component(OBJECT(macio), "cuda"));
+ adb_bus = qdev_get_child_bus(dev, "adb.0");
+ dev = qdev_create(adb_bus, TYPE_ADB_KEYBOARD);
qdev_init_nofail(dev);
- dev = qdev_create(BUS(&adb_bus), TYPE_ADB_MOUSE);
+ dev = qdev_create(adb_bus, TYPE_ADB_MOUSE);
qdev_init_nofail(dev);
if (usb_enabled(false)) {