Signed-off-by: Fam Zheng <famz@redhat.com>
---
hw/arm/armv7m.c | 10 +++-------
include/hw/arm/armv7m.h | 2 +-
2 files changed, 4 insertions(+), 8 deletions(-)
diff --git a/hw/arm/armv7m.c b/hw/arm/armv7m.c
index 3a13d82..3b0ada0 100644
--- a/hw/arm/armv7m.c
+++ b/hw/arm/armv7m.c
@@ -132,12 +132,6 @@ static void armv7m_instance_init(Object *obj)
/* Can't init the cpu here, we don't yet know which model to use */
- object_property_add_link(obj, "memory",
- TYPE_MEMORY_REGION,
- (Object **)&s->board_memory,
- qdev_prop_allow_set_link_before_realize,
- OBJ_PROP_LINK_UNREF_ON_RELEASE,
- &error_abort);
memory_region_init(&s->container, obj, "armv7m-container", UINT64_MAX);
object_initialize(&s->nvic, sizeof(s->nvic), "armv7m_nvic");
@@ -167,7 +161,8 @@ static void armv7m_realize(DeviceState *dev, Error **errp)
return;
}
- memory_region_add_subregion_overlap(&s->container, 0, s->board_memory, -1);
+ memory_region_add_subregion_overlap(&s->container, 0,
+ MEMORY_REGION(s->board_memory), -1);
cpustr = g_strsplit(s->cpu_model, ",", 2);
@@ -248,6 +243,7 @@ static void armv7m_realize(DeviceState *dev, Error **errp)
static Property armv7m_properties[] = {
DEFINE_PROP_STRING("cpu-model", ARMv7MState, cpu_model),
+ DEFINE_PROP_LINK("memory", ARMv7MState, board_memory, TYPE_MEMORY_REGION),
DEFINE_PROP_END_OF_LIST(),
};
diff --git a/include/hw/arm/armv7m.h b/include/hw/arm/armv7m.h
index 1b4ce5b..1640199 100644
--- a/include/hw/arm/armv7m.h
+++ b/include/hw/arm/armv7m.h
@@ -58,7 +58,7 @@ typedef struct ARMv7MState {
/* Properties */
char *cpu_model;
/* MemoryRegion the board provides to us (with its devices, RAM, etc) */
- MemoryRegion *board_memory;
+ Object *board_memory;
} ARMv7MState;
#endif
--
2.9.4