qemu-cr16/include
Li Chen 54401d5abd acpi: Add machine option to disable SPCR table
The ACPI SPCR (Serial Port Console Redirection) table allows firmware
to specify a preferred serial console device to the operating system.
On ARM64 systems, Linux by default respects this table: even if the
kernel command line does not include a hardware serial console (e.g.,
"console=ttyAMA0"), the kernel still register the serial device
referenced by SPCR as a printk console.

While this behavior is standard-compliant, it can lead to situations
where guest console behavior is influenced by platform firmware rather
than user-specified configuration. To make guest console behavior more
predictable and under user control, this patch introduces a machine
option to explicitly disable SPCR table exposure:

    -machine spcr=off

By default, the option is enabled (spcr=on), preserving existing
behavior. When disabled, QEMU will omit the SPCR table from the guest's
ACPI namespace, ensuring that only consoles explicitly declared in the
kernel command line are registered.

Signed-off-by: Li Chen <chenl311@chinatelecom.cn>
Reviewed-by: Bibo Mao <maobibo@loongson.cn>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Gavin Shan <gshan@redhat.com>
Reviewed-by: Sunil V L <sunilvl@ventanamicro.com>
Message-Id: <20250528105404.457729-2-me@linux.beauty>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2025-07-14 09:16:40 -04:00
..
accel target: Use cpu_pointer_wrap_uint32 for 32-bit targets 2025-05-28 08:08:48 +01:00
authz
block block: mark bdrv_drained_begin() and friends as GRAPH_UNLOCKED 2025-06-04 18:16:34 +02:00
chardev
crypto
disas
exec physmem: qemu_ram_get_fd_offset 2025-07-03 13:42:28 +02:00
fpu
gdbstub include/gdbstub: fix include guard in commands.h 2025-06-07 16:40:44 +01:00
hw acpi: Add machine option to disable SPCR table 2025-07-14 09:16:40 -04:00
io io: Add helper for setting socket send buffer size 2025-05-29 16:37:15 -05:00
libdecnumber include/libdecnumber: replace FSF postal address with licenses URL 2025-06-26 00:42:37 +02:00
migration migration: Rename save_live_complete_precopy_thread to save_complete_precopy_thread 2025-07-11 10:37:39 -03:00
monitor
net net/vhost-vdpa: Report hashing capability 2025-07-14 05:25:34 -04:00
qapi util/error: make func optional 2025-06-05 20:24:51 +02:00
qemu migration: Rename save_live_complete_precopy_thread to save_complete_precopy_thread 2025-07-11 10:37:39 -03:00
qobject
qom
scsi
semihosting semihosting/uaccess: Remove uses of target_ulong type 2025-07-02 10:09:48 +01:00
standard-headers update Linux headers to v6.16-rc3 2025-06-20 13:25:59 +02:00
system softmmu/runstate: add a way to detect force shutdowns 2025-07-14 09:16:40 -04:00
tcg tcg: Use uintptr_t in tcg_malloc implementation 2025-07-11 10:43:47 -06:00
ui ui/gtk-egl: Render guest content with padding in fixed-scale mode 2025-05-24 17:04:09 +02:00
user
elf.h
glib-compat.h
qemu-io.h
qemu-main.h