[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 0/2] Drop ignore_memory_transaction_failures for xilink_zynq
From: |
Chao Liu |
Subject: |
[PATCH v2 0/2] Drop ignore_memory_transaction_failures for xilink_zynq |
Date: |
Fri, 27 Sep 2024 16:51:17 +0800 |
Hi, thank you for your prompt reply, it's a great encouragement to me!
Based on your review suggestions, I have improved the v1 patch.
By using create_unimplemented_device() during the initialization phase,
I added a "znyq.umip" device early on, which covers the 32-bit address space
of GPA. This can better serve as a replacement for the effect of the
ignore_memory_transaction_failures flag.
Since create_unimplemented_device() sets the priority of the
memory region (mr) to -100, normally created devices will override the address
segments corresponding to the unimplemented devices.
Even if our test set is not sufficiently comprehensive, we can create an
unimp_device for the maximum address space allowed by the board. This prevents
the guest system from triggering unexpected exceptions when accessing
unimplemented devices or regions.
Additionally, I still use create_unimplemented_device() for other
unimplemented devices. This makes it easier to debug when these devices
are added later.
Finally, here are my testing steps:
Step 1, Referring to the Xilinx Wiki,
I compiled a Linux kernel binary image for convenience in testing.
You can directly obtain it via:
git clone https://github.com/zevorn/QEMU_CPUFreq_Zynq.git
Step 2, Use the following command to run the QEMU:
./qemu/build/qemu-system-arm -M xilinx-zynq-a9 \
-serial /dev/null \
-serial mon:stdio \
-display none \
-kernel QEMU_CPUFreq_Zynq/Prebuilt_functional/kernel_standard_linux/uImage \
-dtb QEMU_CPUFreq_Zynq/Prebuilt_functional/my_devicetree.dtb \
--initrd QEMU_CPUFreq_Zynq/Prebuilt_functional/umy_ramdisk.image.gz
If there are no issues during execution and it boots successfully
into the terminal, for example:
...
PetaLinux 2016.4 zedboard-zynq7 /dev/ttyPS0
zedboard-zynq7 login:
root
root@zedboard-zynq7:~#
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 | 46 ++++++++++++++++++++++++++++++++++++++-
hw/dma/xlnx-zynq-devcfg.c | 2 +-
2 files changed, 46 insertions(+), 2 deletions(-)
--
2.46.1
- [PATCH v2 0/2] Drop ignore_memory_transaction_failures for xilink_zynq,
Chao Liu <=