qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [RFC 3/6] hw/core/platform-bus: add base_address field


From: Baptiste Reynal
Subject: [Qemu-devel] [RFC 3/6] hw/core/platform-bus: add base_address field
Date: Fri, 12 Jun 2015 16:20:07 +0200

Add base_address field to platform_bus structure and initialize it.

As the platform devices addresses are relative to the platform bus, we
need it to get the absolute address of a device.

Signed-off-by: Baptiste Reynal <address@hidden>
---
 hw/arm/virt.c             | 4 ++++
 include/hw/platform-bus.h | 2 ++
 2 files changed, 6 insertions(+)

diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index 1b1cc71..33361c5 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -740,6 +740,7 @@ static void create_platform_bus(VirtBoardInfo *vbi, 
qemu_irq *pic)
 {
     DeviceState *dev;
     SysBusDevice *s;
+    PlatformBusDevice *pbus;
     int i;
     ARMPlatformBusFDTParams *fdt_params = g_new(ARMPlatformBusFDTParams, 1);
     MemoryRegion *sysmem = get_system_memory();
@@ -766,6 +767,9 @@ static void create_platform_bus(VirtBoardInfo *vbi, 
qemu_irq *pic)
         platform_bus_params.platform_bus_size);
     qdev_init_nofail(dev);
     s = SYS_BUS_DEVICE(dev);
+    pbus = PLATFORM_BUS_DEVICE(dev);
+
+    pbus->base_address = vbi->memmap[VIRT_PLATFORM_BUS].base;
 
     for (i = 0; i < platform_bus_params.platform_bus_num_irqs; i++) {
         int irqn = platform_bus_params.platform_bus_first_irq + i;
diff --git a/include/hw/platform-bus.h b/include/hw/platform-bus.h
index 3c3f96b..13efc82 100644
--- a/include/hw/platform-bus.h
+++ b/include/hw/platform-bus.h
@@ -41,6 +41,8 @@ struct PlatformBusDevice {
     bool done_gathering;
 
     /*< public >*/
+    hwaddr base_address;
+
     uint32_t mmio_size;
     MemoryRegion mmio;
 
-- 
2.4.3




reply via email to

[Prev in Thread] Current Thread [Next in Thread]