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