mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-07 17:28:15 +00:00
libxl: support 'rawset' ACPI table type
This fixes representation of the 'acpi_firmware' config in the Xen driver, which repesents a concatenation of tables of any type. Use of 'type=slic' is accepted on input for backwards compatibility. Reviewed-by: Michal Privoznik <mprivozn@redhat.com> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
parent
fe0cf62e0f
commit
dac6ecba6f
@ -498,7 +498,7 @@ These options apply to any form of booting of the guest OS.
|
||||
signature auto-detected from header (:since:`Since 11.2.0 (QEMU)`).
|
||||
* ``rawset``: concatenation of multiple ACPI tables with header
|
||||
and data, each with any ACPI signature, auto-detected from header
|
||||
(:since:`Since 11.2.0`).
|
||||
(:since:`Since 11.2.0 (Xen)`).
|
||||
* ``slic``: a single ACPI table with header and data, providing
|
||||
software licensing information. The ACPI table signature in the
|
||||
header will be forced to ``SLIC`` (:since:`Since 1.3.5 (QEMU)`,
|
||||
|
@ -331,11 +331,12 @@ libxlDomainDefValidate(const virDomainDef *def,
|
||||
|
||||
for (i = 0; i < def->os.nacpiTables; i++) {
|
||||
switch (def->os.acpiTables[i]->type) {
|
||||
case VIR_DOMAIN_OS_ACPI_TABLE_TYPE_SLIC:
|
||||
case VIR_DOMAIN_OS_ACPI_TABLE_TYPE_SLIC: /* Back compat for historical mistake,
|
||||
* functionally the same as 'rawset' */
|
||||
case VIR_DOMAIN_OS_ACPI_TABLE_TYPE_RAWSET:
|
||||
break;
|
||||
|
||||
case VIR_DOMAIN_OS_ACPI_TABLE_TYPE_RAW:
|
||||
case VIR_DOMAIN_OS_ACPI_TABLE_TYPE_RAWSET:
|
||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
||||
_("ACPI table type '%1$s' is not supported"),
|
||||
virDomainOsACPITableTypeToString(def->os.acpiTables[i]->type));
|
||||
|
@ -140,7 +140,7 @@ xenParseXLOS(virConf *conf, virDomainDef *def, virCaps *caps)
|
||||
def->os.nacpiTables = 1;
|
||||
def->os.acpiTables = g_new0(virDomainOSACPITableDef *, 1);
|
||||
def->os.acpiTables[0] = g_new0(virDomainOSACPITableDef, 1);
|
||||
def->os.acpiTables[0]->type = VIR_DOMAIN_OS_ACPI_TABLE_TYPE_SLIC;
|
||||
def->os.acpiTables[0]->type = VIR_DOMAIN_OS_ACPI_TABLE_TYPE_RAWSET;
|
||||
def->os.acpiTables[0]->path = g_steal_pointer(&slic);
|
||||
}
|
||||
|
||||
|
@ -8,7 +8,7 @@
|
||||
<type arch='x86_64' machine='xenfv'>hvm</type>
|
||||
<loader type='rom' format='raw'>/usr/lib/xen/boot/hvmloader</loader>
|
||||
<acpi>
|
||||
<table type='slic'>/sys/firmware/acpi/tables/SLIC</table>
|
||||
<table type='rawset'>/sys/firmware/acpi/tables/SLIC</table>
|
||||
</acpi>
|
||||
<boot dev='cdrom'/>
|
||||
</os>
|
||||
|
Loading…
x
Reference in New Issue
Block a user