xemu/docs/system
Peter Maydell e7100972f2 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
2024-06-21 14:01:59 +01:00
..
arm hw/arm/virt: allow creation of a second NonSecure UART 2024-06-21 14:01:59 +01:00
devices Revert "hw/virtio: Add support for VDPA network simulation devices" 2024-04-09 02:30:18 -04:00
i386 i386/sev: Introduce 'sev-snp-guest' object 2024-06-05 11:01:06 +02:00
loongarch hw/rdma: Remove deprecated pvrdma device and rdmacm-mux helper 2024-04-24 16:03:38 +02:00
openrisc docs/system: openrisc: Add OpenRISC documentation 2022-09-04 07:02:57 +01:00
ppc docs/system/ppc/amigang.rst: Fix formatting 2024-03-26 14:24:06 +01:00
riscv docs/system/riscv: sifive_u: Update S-mode U-Boot image build instructions 2024-01-10 18:47:47 +10:00
s390x docs/s390: clarify even more that cpu-topology is KVM-only 2024-03-15 07:19:01 +01:00
authz.rst docs: Drop deprecated 'props' from object-add 2021-11-22 15:02:38 +01:00
barrier.rst
bootindex.rst
confidential-guest-support.rst docs: rstfy confidential guest documentation 2022-02-09 09:08:56 +01:00
cpu-hotplug.rst
cpu-models-mips.rst.inc
cpu-models-x86-abi.csv docs: re-generate x86_64 ABI compatibility CSV 2024-02-09 12:48:11 +00:00
cpu-models-x86.rst.inc docs: fix highlighting of CPU ABI header rows 2024-02-09 12:48:10 +00:00
device-emulation.rst Revert "hw/virtio: Add support for VDPA network simulation devices" 2024-04-09 02:30:18 -04:00
device-url-syntax.rst.inc block/gluster: Remove deprecated RDMA protocol handling 2024-04-24 16:03:38 +02:00
gdb.rst docs/system: clarify limits of using gdbstub in system emulation 2023-11-23 14:10:06 +00:00
generic-loader.rst
guest-loader.rst docs/system: remove excessive punctuation from guest-loader docs 2023-04-27 14:58:41 +01:00
images.rst docs: Render binary names as monospaced text 2021-11-22 15:02:38 +01:00
index.rst docs: Start documenting VM templating 2023-09-19 10:23:21 +02:00
introduction.rst docs/s390: clarify even more that cpu-topology is KVM-only 2024-03-15 07:19:01 +01:00
invocation.rst qemu-options: Clarify handling of commas in options parameters 2023-12-20 10:29:23 +01:00
keys.rst docs: Remove unused weirdly-named cross-reference targets 2023-05-12 15:43:38 +01:00
keys.rst.inc docs/system: Update description for input grab key 2024-02-22 08:58:43 +03:00
linuxboot.rst docs: Remove unused weirdly-named cross-reference targets 2023-05-12 15:43:38 +01:00
managed-startup.rst
monitor.rst
multi-process.rst docs: fix multi-process QEMU documentation 2023-06-07 10:21:53 -04:00
mux-chardev.rst
mux-chardev.rst.inc
pr-manager.rst
qemu-block-drivers.rst
qemu-block-drivers.rst.inc block/gluster: Remove deprecated RDMA protocol handling 2024-04-24 16:03:38 +02:00
qemu-cpu-models.rst
qemu-manpage.rst qemu-options: Clarify handling of commas in options parameters 2023-12-20 10:29:23 +01:00
replay.rst target/nios2: Remove the deprecated Nios II target 2024-04-24 16:03:38 +02:00
secrets.rst
security.rst
target-arm.rst docs/system/target-arm: Re-alphabetize board list 2024-05-30 16:11:52 +01:00
target-avr.rst
target-i386-desc.rst.inc docs: i386: pc: Avoid mentioning limit of maximum vCPUs 2024-06-08 10:33:38 +02:00
target-i386.rst docs: Remove unused weirdly-named cross-reference targets 2023-05-12 15:43:38 +01:00
target-m68k.rst
target-mips.rst docs/system: Remove "mips" board from target-mips.rst 2023-03-07 18:08:12 +01:00
target-openrisc.rst docs/system: openrisc: Add OpenRISC documentation 2022-09-04 07:02:57 +01:00
target-ppc.rst docs/system/ppc: Document running Linux on AmigaNG machines 2024-03-13 02:47:04 +10:00
target-riscv.rst docs/system/target-riscv.rst: tidy CPU firmware section 2023-07-19 14:30:04 +10:00
target-rx.rst
target-s390x.rst docs/s390x/cpu topology: document s390x cpu topology 2023-10-20 07:16:53 +02:00
target-sparc.rst docs/system/target-sparc: Improve the Sparc documentation 2024-05-05 21:02:48 +01:00
target-sparc64.rst
target-xtensa.rst
targets.rst docs/system: openrisc: Add OpenRISC documentation 2022-09-04 07:02:57 +01:00
tls.rst misc: fix commonly doubled up words 2022-08-01 11:58:02 +02:00
virtio-net-failover.rst
vm-templating.rst docs: Start documenting VM templating 2023-09-19 10:23:21 +02:00
vnc-security.rst