mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-20 07:59:00 +00:00
conf: support MSDM ACPI table type
The MSDM ACPI table is an alternative for the SLIC table type, sometimes used by Microsoft for Windows Licensing checks: https://learn.microsoft.com/en-us/previous-versions/windows/hardware/design/dn653305(v=vs.85) Reviewed-by: Michal Privoznik <mprivozn@redhat.com> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
parent
dac6ecba6f
commit
32765cd14e
@ -503,6 +503,10 @@ These options apply to any form of booting of the guest OS.
|
|||||||
software licensing information. The ACPI table signature in the
|
software licensing information. The ACPI table signature in the
|
||||||
header will be forced to ``SLIC`` (:since:`Since 1.3.5 (QEMU)`,
|
header will be forced to ``SLIC`` (:since:`Since 1.3.5 (QEMU)`,
|
||||||
mis-interpreted as ``rawset`` :since:`Since 5.9.0 (Xen)`).
|
mis-interpreted as ``rawset`` :since:`Since 5.9.0 (Xen)`).
|
||||||
|
* ``msdm``: a single ACPI table with header and data, providing
|
||||||
|
Microsoft Data Management information. The ACPI table signature
|
||||||
|
in the header will be forced to ``MSDM``
|
||||||
|
(:since:`Since 11.2.0`).
|
||||||
|
|
||||||
Each type may be used only once, except for ``raw`` which can
|
Each type may be used only once, except for ``raw`` which can
|
||||||
appear multiple times.
|
appear multiple times.
|
||||||
|
@ -1462,6 +1462,7 @@ VIR_ENUM_IMPL(virDomainOsACPITable,
|
|||||||
"raw",
|
"raw",
|
||||||
"rawset",
|
"rawset",
|
||||||
"slic",
|
"slic",
|
||||||
|
"msdm",
|
||||||
);
|
);
|
||||||
|
|
||||||
VIR_ENUM_IMPL(virDomainCFPC,
|
VIR_ENUM_IMPL(virDomainCFPC,
|
||||||
|
@ -2485,6 +2485,7 @@ typedef enum {
|
|||||||
VIR_DOMAIN_OS_ACPI_TABLE_TYPE_RAW,
|
VIR_DOMAIN_OS_ACPI_TABLE_TYPE_RAW,
|
||||||
VIR_DOMAIN_OS_ACPI_TABLE_TYPE_RAWSET,
|
VIR_DOMAIN_OS_ACPI_TABLE_TYPE_RAWSET,
|
||||||
VIR_DOMAIN_OS_ACPI_TABLE_TYPE_SLIC,
|
VIR_DOMAIN_OS_ACPI_TABLE_TYPE_SLIC,
|
||||||
|
VIR_DOMAIN_OS_ACPI_TABLE_TYPE_MSDM,
|
||||||
|
|
||||||
VIR_DOMAIN_OS_ACPI_TABLE_TYPE_LAST
|
VIR_DOMAIN_OS_ACPI_TABLE_TYPE_LAST
|
||||||
} virDomainOsACPITable;
|
} virDomainOsACPITable;
|
||||||
|
@ -7184,6 +7184,7 @@
|
|||||||
<value>raw</value>
|
<value>raw</value>
|
||||||
<value>rawset</value>
|
<value>rawset</value>
|
||||||
<value>slic</value>
|
<value>slic</value>
|
||||||
|
<value>msdm</value>
|
||||||
</choice>
|
</choice>
|
||||||
</attribute>
|
</attribute>
|
||||||
<ref name="absFilePath"/>
|
<ref name="absFilePath"/>
|
||||||
|
@ -337,6 +337,7 @@ libxlDomainDefValidate(const virDomainDef *def,
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case VIR_DOMAIN_OS_ACPI_TABLE_TYPE_RAW:
|
case VIR_DOMAIN_OS_ACPI_TABLE_TYPE_RAW:
|
||||||
|
case VIR_DOMAIN_OS_ACPI_TABLE_TYPE_MSDM:
|
||||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
||||||
_("ACPI table type '%1$s' is not supported"),
|
_("ACPI table type '%1$s' is not supported"),
|
||||||
virDomainOsACPITableTypeToString(def->os.acpiTables[i]->type));
|
virDomainOsACPITableTypeToString(def->os.acpiTables[i]->type));
|
||||||
|
@ -132,7 +132,8 @@ VIR_ENUM_IMPL(qemuACPITableSIG,
|
|||||||
VIR_DOMAIN_OS_ACPI_TABLE_TYPE_LAST,
|
VIR_DOMAIN_OS_ACPI_TABLE_TYPE_LAST,
|
||||||
"", /* raw */
|
"", /* raw */
|
||||||
"", /* rawset */
|
"", /* rawset */
|
||||||
"SLIC");
|
"SLIC",
|
||||||
|
"");
|
||||||
|
|
||||||
|
|
||||||
const char *
|
const char *
|
||||||
|
@ -749,6 +749,7 @@ qemuValidateDomainDefBoot(const virDomainDef *def,
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case VIR_DOMAIN_OS_ACPI_TABLE_TYPE_RAWSET:
|
case VIR_DOMAIN_OS_ACPI_TABLE_TYPE_RAWSET:
|
||||||
|
case VIR_DOMAIN_OS_ACPI_TABLE_TYPE_MSDM:
|
||||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
||||||
_("ACPI table type '%1$s' is not supported"),
|
_("ACPI table type '%1$s' is not supported"),
|
||||||
virDomainOsACPITableTypeToString(def->os.acpiTables[i]->type));
|
virDomainOsACPITableTypeToString(def->os.acpiTables[i]->type));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user