On 2/26/25 21:16, Daniel P. Berrangé wrote: > This was triggered by a request by KubeVirt in > > https://gitlab.com/libvirt/libvirt/-/issues/748 > > I've not functionally tested this, since I lack any suitable guest > windows environment this is looking for MSDM tables, nor does my > machine have MSDM ACPI tables to pass to a guest. > > I'm blindly assuming that the QEMU CLI code is identical except for > s/SLIC/MSDM/. > > In this 2nd version I've addressed two further issues > > * the xen driver was incorrectly mapping its 'acpi_firmware' > option to type=slic. Xen's setting accepts a concatenation > of tables of any type. This is different from type=slic > which represents a single table, whose type will be forced > to 'SLIC' if not already set. To address this we introduce > a new 'rawset' type > > * The QEMU driver does not require a type to be set in the > first place; if set it merely overrides what is in the > data file. Supporting this would let us handle any ACPI > table type without further XML changes. To address this > we introduce a new 'raw' type, which can occur many > times. > > Daniel P. Berrangé (7): > conf: introduce support for multiple ACPI tables > src: validate permitted ACPI table types in libxl/qemu drivers > src: introduce 'raw' and 'rawset' ACPI table types > qemu: support 'raw' ACPI table type > libxl: support 'rawset' ACPI table type > conf: support MSDM ACPI table type > qemu: support MSDM ACPI table type > > docs/formatdomain.rst | 23 ++++- > src/conf/domain_conf.c | 94 ++++++++++++++----- > src/conf/domain_conf.h | 24 ++++- > src/conf/schemas/domaincommon.rng | 7 +- > src/libvirt_private.syms | 2 + > src/libxl/libxl_conf.c | 5 +- > src/libxl/libxl_domain.c | 28 ++++++ > src/libxl/xen_xl.c | 15 ++- > src/qemu/qemu_command.c | 18 +++- > src/qemu/qemu_validate.c | 23 +++++ > src/security/security_dac.c | 18 ++-- > src/security/security_selinux.c | 16 ++-- > src/security/virt-aa-helper.c | 5 +- > .../acpi-table-many.x86_64-latest.args | 37 ++++++++ > .../acpi-table-many.x86_64-latest.xml | 42 +++++++++ > tests/qemuxmlconfdata/acpi-table-many.xml | 34 +++++++ > tests/qemuxmlconftest.c | 1 + > .../xlconfigdata/test-fullvirt-acpi-slic.xml | 2 +- > 18 files changed, 337 insertions(+), 57 deletions(-) > create mode 100644 tests/qemuxmlconfdata/acpi-table-many.x86_64-latest.args > create mode 100644 tests/qemuxmlconfdata/acpi-table-many.x86_64-latest.xml > create mode 100644 tests/qemuxmlconfdata/acpi-table-many.xml > Reviewed-by: Michal Privoznik <mprivozn@xxxxxxxxxx> Michal