@@ -34,6 +34,7 @@
#include "hw/net/cadence_gem.h"
#include "hw/cpu/a9mpcore.h"
#include "hw/qdev-clock.h"
+#include "hw/misc/unimp.h"
#include "sysemu/reset.h"
#include "qom/object.h"
#include "exec/tswap.h"
@@ -229,6 +230,16 @@ static void zynq_init(MachineState *machine)
zynq_machine->cpu[n] = ARM_CPU(cpuobj);
}
+ /* PL AXI */
+ create_unimplemented_device("zynq.pl-axi.port0", 0x40000000, 1 * GiB);
+ create_unimplemented_device("zynq.pl-axi.port1", 0x80000000, 1 * GiB);
+
+ /* IOP devices */
+ create_unimplemented_device("zynq.iop-devices", 0xE0000000, 256 * MiB);
+
+ /* Programmable register access via AMBA APB bus */
+ create_unimplemented_device("zynq.amba", 0xF8000000, 32 * MiB);
+
/* DDR remapped to address zero. */
memory_region_add_subregion(address_space_mem, 0, machine->ram);
@@ -394,7 +405,6 @@ static void zynq_machine_class_init(ObjectClass *oc, void *data)
mc->init = zynq_init;
mc->max_cpus = ZYNQ_MAX_CPUS;
mc->no_sdcard = 1;
- mc->ignore_memory_transaction_failures = true;
mc->valid_cpu_types = valid_cpu_types;
mc->default_ram_id = "zynq.ext_ram";
prop = object_class_property_add_str(oc, "boot-mode", NULL,
Add xilinx zynq board memory mapping is implemented in the device. Remove a ignore_memory_transaction_failures concurrently. Source: Zynq-7000 SoC Data Sheet: Overview, Chapter: Memory Map See: https://www.mouser.com/datasheet/2/903/ds190_Zynq_7000_Overview-1595492.pdf Signed-off-by: Chao Liu <chao.liu@yeah.net> --- hw/arm/xilinx_zynq.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-)