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....@yeah.net> --- hw/arm/xilinx_zynq.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/hw/arm/xilinx_zynq.c b/hw/arm/xilinx_zynq.c index 37c234f5ab..77010bebeb 100644 --- a/hw/arm/xilinx_zynq.c +++ b/hw/arm/xilinx_zynq.c @@ -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, -- 2.46.1