config-tools: add NVMX_ENABLED feature and GUEST_FLAG_NVMX_ENABLED flag
NVMX_ENABLED: ACRN is built to support nested virtualization if set. GUEST_FLAG_NVMX_ENABLED: indicates that the VMX capability can be present in this guest to run nested VMs. Tracked-On: #5923 Signed-off-by: Zide Chen <zide.chen@intel.com> Acked-by: Eddie Dong <eddie.dong@intel.com>
This commit is contained in:
parent
3fffa68665
commit
7e1ac8a74e
|
@ -52,6 +52,7 @@
|
|||
#define GUEST_FLAG_IO_COMPLETION_POLLING (1UL << 2U) /* Whether need hypervisor poll IO completion */
|
||||
#define GUEST_FLAG_HIDE_MTRR (1UL << 3U) /* Whether hide MTRR from VM */
|
||||
#define GUEST_FLAG_RT (1UL << 4U) /* Whether the vm is RT-VM */
|
||||
#define GUEST_FLAG_NVMX_ENABLED (1UL << 5U) /* Whether this VM supports nested virtualization */
|
||||
|
||||
/* TODO: We may need to get this addr from guest ACPI instead of hardcode here */
|
||||
#define VIRTUAL_SLEEP_CTL_ADDR 0x400U /* Pre-launched VM uses ACPI reduced HW mode and sleep control register */
|
||||
|
|
|
@ -36,7 +36,8 @@
|
|||
- ``GUEST_FLAG_IO_COMPLETION_POLLING`` specify that the hypervisor needs
|
||||
IO polling to completion
|
||||
- ``GUEST_FLAG_HIDE_MTRR`` specify that MTRR is hidden from the VM
|
||||
- ``GUEST_FLAG_RT`` specify that the VM is an RT-VM (real-time)</xs:documentation>
|
||||
- ``GUEST_FLAG_RT`` specify that the VM is an RT-VM (real-time)
|
||||
- ``GUEST_FLAG_NVMX_ENABLED`` specify that the VM supports nested virtualization</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="" />
|
||||
|
@ -47,6 +48,7 @@
|
|||
<xs:enumeration value="GUEST_FLAG_IO_COMPLETION_POLLING" />
|
||||
<xs:enumeration value="GUEST_FLAG_HIDE_MTRR" />
|
||||
<xs:enumeration value="GUEST_FLAG_RT" />
|
||||
<xs:enumeration value="GUEST_FLAG_NVMX_ENABLED" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
|
|
|
@ -123,6 +123,11 @@ support RDT or CDP, setting this option to ``y`` is ignored.</xs:documentation>
|
|||
<xs:documentation>Enable Hyper-V.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="NVMX_ENABLED" type="Boolean" default="n">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Enable nested virtualization.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="IOMMU_ENFORCE_SNP" type="Boolean" default="n">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Specify if the IOMMU enforces snoop behavior
|
||||
|
@ -158,6 +163,7 @@ Machine Check Error on Page Size Change.</xs:documentation>
|
|||
</xs:element>
|
||||
</xs:all>
|
||||
<xs:assert test="not (RDT/RDT_ENABLED = 'y' and PSRAM/PSRAM_ENABLED = 'y')"/>
|
||||
<xs:assert test="not (NVMX_ENABLED = 'y' and not (SCHEDULER = 'SCHED_NOOP'))"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="MemoryOptionsType">
|
||||
|
|
|
@ -95,6 +95,10 @@
|
|||
<xsl:with-param name="key" select="'HYPERV_ENABLED'" />
|
||||
</xsl:call-template>
|
||||
|
||||
<xsl:call-template name="boolean-by-key">
|
||||
<xsl:with-param name="key" select="'NVMX_ENABLED'" />
|
||||
</xsl:call-template>
|
||||
|
||||
<xsl:call-template name="boolean-by-key">
|
||||
<xsl:with-param name="key" select="'ACPI_PARSE_ENABLED'" />
|
||||
</xsl:call-template>
|
||||
|
|
Loading…
Reference in New Issue