diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2024-06-10 17:23:43 +0100 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2024-06-21 14:01:59 +0100 |
commit | e7100972f2df313d1e47a0714aed968991437e86 (patch) | |
tree | b9017cf090677ab7896d50221d9fad7f5ccbf374 /docs | |
parent | fe22cba940d82e93818135c044afed4099056628 (diff) | |
download | qemu-e7100972f2df313d1e47a0714aed968991437e86.zip qemu-e7100972f2df313d1e47a0714aed968991437e86.tar.gz qemu-e7100972f2df313d1e47a0714aed968991437e86.tar.bz2 |
hw/arm/virt: allow creation of a second NonSecure UART
For some use-cases, it is helpful to have more than one UART
available to the guest. If the second UART slot is not already used
for a TrustZone Secure-World-only UART, create it as a NonSecure UART
only when the user provides a serial backend (e.g. via a second
-serial command line option).
This avoids problems where existing guest software only expects a
single UART, and gets confused by the second UART in the DTB. The
major example of this is older EDK2 firmware, which will send the
GRUB bootloader output to UART1 and the guest serial output to UART0.
Users who want to use both UARTs with a guest setup including EDK2
are advised to update to EDK2 release edk2-stable202311 or newer.
(The prebuilt EDK2 blobs QEMU upstream provides are new enough.)
The relevant EDK2 changes are the ones described here:
https://bugzilla.tianocore.org/show_bug.cgi?id=4577
Inspired-by: Axel Heider <axel.heider@hensoldt.net>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Tested-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-id: 20240610162343.2131524-4-peter.maydell@linaro.org
Diffstat (limited to 'docs')
-rw-r--r-- | docs/system/arm/virt.rst | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/docs/system/arm/virt.rst b/docs/system/arm/virt.rst index 26fcba0..e67e7f0 100644 --- a/docs/system/arm/virt.rst +++ b/docs/system/arm/virt.rst @@ -26,7 +26,7 @@ The virt board supports: - PCI/PCIe devices - Flash memory -- One PL011 UART +- Either one or two PL011 UARTs for the NonSecure World - An RTC - The fw_cfg device that allows a guest to obtain data from QEMU - A PL061 GPIO controller @@ -48,6 +48,10 @@ The virt board supports: - A secure flash memory - 16MB of secure RAM +The second NonSecure UART only exists if a backend is configured +explicitly (e.g. with a second -serial command line option) and +TrustZone emulation is not enabled. + Supported guest CPU types: - ``cortex-a7`` (32-bit) |