diff mbox series

[v3,1/2] xilink_zynq: Add various missing unimplemented devices

Message ID 1193cf07fbfa67f94ebad9bd897358f248f703cb.1728141040.git.chao.liu@yeah.net
State New
Headers show
Series Drop ignore_memory_transaction_failures for xilink_zynq | expand

Commit Message

Chao Liu Oct. 5, 2024, 4:06 p.m. UTC
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(-)
diff mbox series

Patch

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,