[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-ppc] [PULL 06/14] macio: add addr property to macio IDE object
From: |
David Gibson |
Subject: |
[Qemu-ppc] [PULL 06/14] macio: add addr property to macio IDE object |
Date: |
Fri, 7 Sep 2018 17:31:47 +1000 |
From: Mark Cave-Ayland <address@hidden>
This contains the offset of the IDE controller within the macio address space
and is required to allow the address to be included within the fw path.
Signed-off-by: Mark Cave-Ayland <address@hidden>
Signed-off-by: David Gibson <address@hidden>
---
hw/ide/macio.c | 1 +
hw/misc/macio/macio.c | 5 +++--
include/hw/misc/macio/macio.h | 1 +
3 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/hw/ide/macio.c b/hw/ide/macio.c
index f23961e241..bab8c45a43 100644
--- a/hw/ide/macio.c
+++ b/hw/ide/macio.c
@@ -461,6 +461,7 @@ static void macio_ide_initfn(Object *obj)
static Property macio_ide_properties[] = {
DEFINE_PROP_UINT32("channel", MACIOIDEState, channel, 0),
+ DEFINE_PROP_UINT32("addr", MACIOIDEState, addr, -1),
DEFINE_PROP_END_OF_LIST(),
};
diff --git a/hw/misc/macio/macio.c b/hw/misc/macio/macio.c
index 229bfddb90..94da85c8d7 100644
--- a/hw/misc/macio/macio.c
+++ b/hw/misc/macio/macio.c
@@ -219,10 +219,11 @@ static void macio_init_ide(MacIOState *s, MACIOIDEState
*ide, size_t ide_size,
int index)
{
gchar *name = g_strdup_printf("ide[%i]", index);
+ uint32_t addr = 0x1f000 + ((index + 1) * 0x1000);
macio_init_child_obj(s, name, ide, ide_size, TYPE_MACIO_IDE);
- memory_region_add_subregion(&s->bar, 0x1f000 + ((index + 1) * 0x1000),
- &ide->mem);
+ qdev_prop_set_uint32(DEVICE(ide), "addr", addr);
+ memory_region_add_subregion(&s->bar, addr, &ide->mem);
g_free(name);
}
diff --git a/include/hw/misc/macio/macio.h b/include/hw/misc/macio/macio.h
index 3189973ee6..970058b6ed 100644
--- a/include/hw/misc/macio/macio.h
+++ b/include/hw/misc/macio/macio.h
@@ -51,6 +51,7 @@ typedef struct MACIOIDEState {
/*< private >*/
SysBusDevice parent_obj;
/*< public >*/
+ uint32_t addr;
uint32_t channel;
qemu_irq real_ide_irq;
qemu_irq real_dma_irq;
--
2.17.1
- [Qemu-ppc] [PULL 00/14] ppc-for-3.1 queue 20180907, David Gibson, 2018/09/07
- [Qemu-ppc] [PULL 02/14] spapr: fix leak of rev array, David Gibson, 2018/09/07
- [Qemu-ppc] [PULL 04/14] macio: move MACIOIDEState type declarations to macio.h, David Gibson, 2018/09/07
- [Qemu-ppc] [PULL 14/14] target-ppc: Extend HWCAP2 bits for ISA 3.0, David Gibson, 2018/09/07
- [Qemu-ppc] [PULL 08/14] mac_oldworld: implement custom FWPathProvider, David Gibson, 2018/09/07
- [Qemu-ppc] [PULL 05/14] macio: add macio bus to help with fw path generation, David Gibson, 2018/09/07
- [Qemu-ppc] [PULL 09/14] uninorth: add ofw-addr property to allow correct fw path generation, David Gibson, 2018/09/07
- [Qemu-ppc] [PULL 06/14] macio: add addr property to macio IDE object,
David Gibson <=
- [Qemu-ppc] [PULL 10/14] mac_newworld: implement custom FWPathProvider, David Gibson, 2018/09/07
- [Qemu-ppc] [PULL 01/14] ppc: Remove deprecated ppcemb target, David Gibson, 2018/09/07
[Qemu-ppc] [PULL 03/14] spapr_pci: fix potential NULL pointer dereference, David Gibson, 2018/09/07
[Qemu-ppc] [PULL 13/14] target/ppc/kvm: set vcpu as online/offline, David Gibson, 2018/09/07
[Qemu-ppc] [PULL 12/14] Fix a deadlock case in the CPU hotplug flow, David Gibson, 2018/09/07
[Qemu-ppc] [PULL 11/14] spapr: Correct reference count on spapr-cpu-core, David Gibson, 2018/09/07