Hi all, Following the Zynq-7000 SoC Data Sheet's "Memory Map" section (referenced at [1]),
We have identified the need to create placeholders for unimplemented devices across the entire range of Zynq-7000 series boards. This effort aims at ensuring maximum compatibility with different models within the series. The following table summarizes the relevant memory map addresses for the Zynq-7000: Start Address Size (MB) Description 0x0000_0000 1,024 DDR DRAM and on-chip memory (OCM) 0x4000_0000 1,024 PL AXI slave port #0 0x8000_0000 1,024 PL AXI slave port #1 0xE000_0000 256 IOP devices 0xF000_0000 128 Reserved 0xF800_0000 32 Programmable registers access via AMBA APB bus 0xFA00_0000 32 Reserved 0xFC00_0000 64 MB - 256 KB Quad-SPI linear address base address (except to 256 KB which is in OCM), 64 MB reserved, only 32 MB is currently supported 0xFFFC_0000 256 KB OCM when mapped to high address space For the purposes of this patch, we will not be creating placeholders for DRAM and any reserved regions of the address space. A test script has been developed that covers the most common board types of the Zynq-7000 series. The test script obtained all linux binary images of the zynq-7000 series boards from xilinx-wiki for script testing(referenced at [2]). The steps to run the test are as follows: a) Clone the repository. git clone -b xilinx-zynq-test https://github.com/gevico/qemu-board.git b) Apply the patch attached to this email and compile QEMU. c) Set the environment variable for the path to your QEMU. export QEMU_PATH=<your qemu path> d) Execute the testing script. ./qemu-zynq-test e) Check the results. If successful, the output should resemble the following: Test Project: <your path>/qemu-board/hw/arm/xilinx-zynq Start 1: xilinx-zynq.zc702 1/3 Test #1: xilinx-zynq.zc702 ...................... Passed Start 2: xilinx-zynq.zc706 2/3 Test #2: xilinx-zynq.zc706 ...................... Passed Start 3: xilinx-zynq.zed 3/3 Test #3: xilinx-zynq.zed ...................... Passed All tests passed See: [1]: https://www.amd.com/content/dam/xilinx/support/documents/data_sheets/ds190-Zynq-7000-Overview.pdf [2]: http://www.wiki.xilinx.com/Zynq+2016.2+Release Chao Liu (2): xilink_zynq: Add various missing unimplemented devices xilink-zynq-devcfg: Fix up for memory address range size not set correctly hw/arm/xilinx_zynq.c | 12 +++++++++++- hw/dma/xlnx-zynq-devcfg.c | 2 +- 2 files changed, 12 insertions(+), 2 deletions(-) -- 2.46.1