config-tool: add elements descriptions to schema

update the missing descriptions to following files:
 - misc/config_tools/schema/VMtypes.xsd
 - misc/config_tools/schema/config.xsd
 - misc/config_tools/schema/types.xsd

Tracked-On: #5672
Signed-off-by: Yang,Yu-chu <yu-chu.yang@intel.com>
This commit is contained in:
Yang,Yu-chu 2021-01-30 14:14:28 -08:00 committed by wenlingz
parent f1c339df2a
commit 5437c2e47a
3 changed files with 113 additions and 56 deletions

View File

@ -5,7 +5,15 @@
<xs:simpleType name="VMOptionsType">
<xs:annotation>
<xs:documentation>Description missing.</xs:documentation>
<xs:documentation>Current supported VM types are:
- ``SAFETY_VM`` pre-launched Safety VM
- ``PRE_STD_VM`` pre-launched Standard VM
- ``PRE_RT_VM`` pre-launched real-time capable VM
- ``SOS_VM`` pre-launched Service VM
- ``POST_STD_VM`` post-launched Standard VM
- ``POST_RT_VM`` post-launched real-time capable VM
- ``KATA_VM`` post-launched Kata Container VM</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="SOS_VM" />
@ -20,7 +28,15 @@
<xs:simpleType name="GuestFlagsOptionsType">
<xs:annotation>
<xs:documentation>Description missing.</xs:documentation>
<xs:documentation>
- 0, 0UL and empty string means there is no guest flag is enabled.
- ``GUEST_FLAG_SECURE_WORLD_ENABLED`` specify whether the secure world is
enabled
- ``GUEST_FLAG_LAPIC_PASSTHROUGH`` specify whether LAPIC is passed through
- ``GUEST_FLAG_IO_COMPLETION_POLLING`` specify whether the hypervisor needs
IO polling to completion
- ``GUEST_FLAG_HIDE_MTRR`` specify whether to hide MTRR from the VM
- ``GUEST_FLAG_RT`` specify whether the VM is RT-VM (real-time)</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="" />
@ -38,7 +54,7 @@
<xs:sequence>
<xs:element name="guest_flag" type="GuestFlagsOptionsType" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Description missing.</xs:documentation>
<xs:documentation>Select all applicable flags for the VM.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
@ -48,7 +64,7 @@
<xs:sequence>
<xs:element name="pcpu_id" type="xs:integer" default="2" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Description missing.</xs:documentation>
<xs:documentation>A pCPU that this VM's vCPU is allowed to pin to.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
@ -58,7 +74,9 @@
<xs:sequence>
<xs:element name="vcpu_clos" type="xs:integer" default="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Description missing.</xs:documentation>
<xs:documentation>Configure each CPU in VMs to a desired CLOS ID in the ``VM`` section of the
scenario file. Follow :ref:`rdt_detection_capabilities`
to identify the maximum supported CLOS ID that can be used.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
@ -71,12 +89,12 @@
<xs:sequence>
<xs:element name="base" type="HexFormat" default="0">
<xs:annotation>
<xs:documentation>Description missing.</xs:documentation>
<xs:documentation>SGX EPC section base, must be page aligned.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="size" type="HexFormat" default="0">
<xs:annotation>
<xs:documentation>Description missing.</xs:documentation>
<xs:documentation>SGX EPC section size in Bytes, must be page aligned.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
@ -86,12 +104,12 @@
<xs:sequence>
<xs:element name="start_hpa" type="HexFormat" default="0x100000000">
<xs:annotation>
<xs:documentation>Description missing.</xs:documentation>
<xs:documentation>The start physical address in host for the VM.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="size" type="MemorySizeType" default="0x20000000">
<xs:annotation>
<xs:documentation>Description missing.</xs:documentation>
<xs:documentation>The memory size in bytes for the VM.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="start_hpa2" type="HexFormat" default="0x0" minOccurs="0">
@ -123,17 +141,20 @@ characters long.</xs:documentation>
</xs:element>
<xs:element name="kern_type" type="VMKernelType">
<xs:annotation>
<xs:documentation>Description missing.</xs:documentation>
<xs:documentation>Specify the kernel image type so that the hypervisor can load it correctly.
Currently supports ``KERNEL_BZIMAGE`` and ``KERNEL_ZEPHYR``.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="kern_mod" type="xs:string">
<xs:annotation>
<xs:documentation>Description missing.</xs:documentation>
<xs:documentation>The tag for the kernel image that acts as a multiboot module; it must
exactly match the module tag in the GRUB multiboot cmdline.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ramdisk_mod" type="xs:string">
<xs:annotation>
<xs:documentation>Description missing.</xs:documentation>
<xs:documentation>The tag for the ramdisk image, which acts as a multiboot module; it
must exactly match the module tag in the GRUB multiboot cmdline.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="bootargs" type="xs:string">
@ -143,12 +164,12 @@ characters long.</xs:documentation>
</xs:element>
<xs:element name="kern_load_addr" type="HexFormat" minOccurs="0">
<xs:annotation>
<xs:documentation>Description missing.</xs:documentation>
<xs:documentation>The loading address in host memory for the VM kernel.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="kern_entry_addr" type="HexFormat" minOccurs="0">
<xs:annotation>
<xs:documentation>Description missing.</xs:documentation>
<xs:documentation>The entry address in host memory for the VM kernel.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
@ -156,7 +177,8 @@ characters long.</xs:documentation>
<xs:simpleType name="VMKernelType">
<xs:annotation>
<xs:documentation>Description missing.</xs:documentation>
<xs:documentation>Specify the kernel image type so that the hypervisor can load it correctly.
Currently supports ``KERNEL_BZIMAGE`` and ``KERNEL_ZEPHYR``.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="KERNEL_BZIMAGE" />
@ -212,27 +234,29 @@ characters long.</xs:documentation>
<xs:sequence>
<xs:element name="type" type="LegacyVuartType" default="VUART_LEGACY_PIO">
<xs:annotation>
<xs:documentation>Description missing.</xs:documentation>
<xs:documentation>vUART (aka COM) type; currently only supports the legacy PIO mode.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="base" type="LegacyVuartBase">
<xs:annotation>
<xs:documentation>Description missing.</xs:documentation>
<xs:documentation>vUART (A.K.A COM) enabling switch. Enable by exposing its COM_BASE
(SOS_COM_BASE for Service VM); disable by returning INVALID_COM_BASE.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="irq" type="LegacyVuartIrq">
<xs:annotation>
<xs:documentation>Description missing.</xs:documentation>
<xs:documentation>vCOM IRQ.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="target_vm_id" type="xs:integer" default="1" minOccurs="0">
<xs:annotation>
<xs:documentation>Description missing.</xs:documentation>
<xs:documentation>COM2 is used for VM communications. When it is enabled, specify which
target VM the current VM connects to.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="target_uart_id" type="xs:integer" default="1" minOccurs="0">
<xs:annotation>
<xs:documentation>Description missing.</xs:documentation>
<xs:documentation>Target vUART ID to which the vCOM2 connects.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
@ -241,7 +265,8 @@ characters long.</xs:documentation>
<xs:simpleType name="PCIVuartBase">
<xs:annotation>
<xs:documentation>Description missing.</xs:documentation>
<xs:documentation>PCI based vUART enabling switch. Enable by specifying PCI_VUART;
disable by returning INVALID_PCI_BASE.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="PCI_VUART" />
@ -253,7 +278,8 @@ characters long.</xs:documentation>
<xs:sequence>
<xs:element name="base" type="PCIVuartBase" default="INVALID_PCI_BASE">
<xs:annotation>
<xs:documentation>Description missing.</xs:documentation>
<xs:documentation>Console vUART (A.K.A PCI based vUART) enabling switch.
Enable by specifying PCI_VUART; disable by returning INVALID_PCI_BASE.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
@ -264,17 +290,18 @@ characters long.</xs:documentation>
<xs:sequence>
<xs:element name="base" type="PCIVuartBase" default="INVALID_PCI_BASE">
<xs:annotation>
<xs:documentation>Description missing.</xs:documentation>
<xs:documentation>Communication vUART (A.K.A PCI based vUART) enabling switch.
Enable by specifying PCI_VUART; disable by returning INVALID_PCI_BASE.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="target_vm_id" type="xs:integer">
<xs:annotation>
<xs:documentation>Description missing.</xs:documentation>
<xs:documentation>specify which target VM the current VM connects to.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="target_uart_id" type="xs:integer">
<xs:annotation>
<xs:documentation>Description missing.</xs:documentation>
<xs:documentation>Target vUART ID to which the ``communication_vuart`` connects.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
@ -285,12 +312,12 @@ characters long.</xs:documentation>
<xs:sequence>
<xs:element name="TPM2" type="Boolean" default="n" minOccurs="0">
<xs:annotation>
<xs:documentation>Description missing.</xs:documentation>
<xs:documentation>TPM2 device to passthrough.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="p2sb" type="Boolean" default="n" minOccurs="0">
<xs:annotation>
<xs:documentation>Description missing.</xs:documentation>
<xs:documentation>Exposing the P2SB (Primary-to-Sideband) bridge to the pre-launched VM.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
@ -300,7 +327,7 @@ characters long.</xs:documentation>
<xs:sequence>
<xs:element name="pci_dev" type="xs:string" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Description missing.</xs:documentation>
<xs:documentation>A passthrough pci device.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
@ -310,12 +337,12 @@ characters long.</xs:documentation>
<xs:sequence>
<xs:element name="rootfs" type="xs:string" default="/dev/nvme0n1p3">
<xs:annotation>
<xs:documentation>Description missing.</xs:documentation>
<xs:documentation>rootfs for the Linux kernel.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="bootargs" type="xs:string">
<xs:annotation>
<xs:documentation>Description missing.</xs:documentation>
<xs:documentation>Specify kernel boot arguments for Service OS.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>

View File

@ -27,11 +27,9 @@ are **not** available:
<xs:element name="SERIAL_CONSOLE" type="SerialConsoleOptions" default="/dev/ttyS0">
<xs:annotation>
<xs:documentation>Specify the host serial device used for hypervisor debugging.
This option is only valid if the Service VM :ref:`vm.legacy_vuart` is
enabled. Leave :option:`hv.DEBUG_OPTIONS.SERIAL_CONSOLE` empty if the
Service VM :ref:`vm.console_vuart` is enabled. Uses
:option:`vm.board_private.bootargs` for the :ref:`vm.console_vuart`
configuration.</xs:documentation>
This option is only valid if the Service VM 'legacy_vuart` is
enabled. Leave this filed empty if the Service VM's 'console_vuart` is enabled. Uses
`bootargs` for `console_vuart` configuration.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="MEM_LOGLEVEL" type="LogLevelType" default="5">
@ -107,8 +105,8 @@ boot option.</xs:documentation>
<xs:element name="RDT" type="RDTType">
<xs:annotation>
<xs:documentation>Enable the Intel Resource Director Technology (RDT)
allocation feature. If the board hardware does not support
RDT, setting this option to ``y`` is ignored.</xs:documentation>
allocation feature and Code and Data Prioritization (CDP). If the board hardware does not
support RDT or CDP, setting this option to ``y`` is ignored.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="HYPERV_ENABLED" type="Boolean" default="y">
@ -145,7 +143,7 @@ Machine Check Error on Page Size Change.</xs:documentation>
</xs:element>
<xs:element name="PSRAM" minOccurs="0" type="PSRAMInfo">
<xs:annotation>
<xs:documentation>Description missing</xs:documentation>
<xs:documentation>Pseudo SRAM configuration.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:all>
@ -224,7 +222,7 @@ maximum supported resource.</xs:documentation>
</xs:element>
<xs:element name="MAX_KATA_VM_NUM" type="xs:integer" minOccurs="0" default="0">
<xs:annotation>
<xs:documentation>Description missing.</xs:documentation>
<xs:documentation>>Maximum number of KATA VM.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="MAX_PCI_DEV_NUM" default="96">
@ -289,7 +287,7 @@ Leave blank if not sure.Integer from 1 to 2048.</xs:documentation>
</xs:element>
<xs:element name="UEFI_OS_LOADER_NAME" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>Description missing</xs:documentation>
<xs:documentation>UEFI OS loader name.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:all>
@ -343,42 +341,65 @@ Refer SDM 17.19.2 for details, and use with caution.</xs:documentation>
</xs:element>
<xs:element name="epc_section" type="EPCSection" minOccurs="0">
<xs:annotation>
<xs:documentation>Description missing</xs:documentation>
<xs:documentation>Specify SGX Enclave Page Cache section base and size in byte. It must be page aligned.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="memory" type="MemoryInfo" minOccurs="0">
<xs:annotation>
<xs:documentation>Description missing</xs:documentation>
<xs:documentation>Specify memory information for hypervisor, Service OS and User OS:
- ``STACK_SIZE``: Capacity of one stack, in bytes.
- ``HV_RAM_SIZE``: Size of the RAM region used by the hypervisor.
- ``HV_RAM_STAR``: 2M-aligned Start physical address of the RAM region used by the hypervisor.
- ``LOW_RAM_SIZE``: Size of the low RAM region.
- ``SOS_RAM_SIZE``: Size of the Service OS (SOS) RAM.
- ``PLATFORM_RAM_SIZE``: Size of the physical platform RAM.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="os_config" type="OSConfigurations" minOccurs="0">
<xs:annotation>
<xs:documentation>Description missing</xs:documentation>
<xs:documentation>General information for host kernel, boot argument and memory,
the following elements are configured in this section:
- ``name``: Specify the OS name of VM; currently, it is not referenced by the hypervisor code.
- ``kern_type``: Specify the kernel image type so that the hypervisor can load it correctly.
Currently supports ``KERNEL_BZIMAGE`` and ``KERNEL_ZEPHYR``.
- ``kern_mod``: The tag for the kernel image that acts as a multiboot module; it must
exactly match the module tag in the GRUB multiboot cmdline.
- ``ramdisk_mod``: The tag for the ramdisk image, which acts as a multiboot module; it
must exactly match the module tag in the GRUB multiboot cmdline.
- ``bootargs``: For internal use only and is not configurable. Specify the kernel boot arguments
in ``bootargs`` under the parent of ``board_private``.
- ``kern_load_addr``: The loading address in host memory for the VM kernel.
- ``kern_entry_addr``: The entry address in host memory for the VM kernel.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="legacy_vuart" type="LegancyVuartConfiguration" minOccurs="2" maxOccurs="2">
<xs:annotation>
<xs:documentation>Description missing</xs:documentation>
<xs:documentation>Specify the vUART (aka COM) with the vUART ID by its ``id`` attribute.
Refer to :ref:`vuart_config` for detailed vUART settings.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="console_vuart" type="ConsoleVuartConfiguration">
<xs:annotation>
<xs:documentation>Description missing</xs:documentation>
<xs:documentation>Specify the console vUART (aka PCI based vUART) with the vUART ID by
its ``id`` attribute.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="communication_vuart" type="CommunicationVuartConfiguration" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Description missing</xs:documentation>
<xs:documentation>Specify the communication vUART (aka PCI based vUART) with the vUART ID by
its ``id`` attribute. When it is enabled, specify which target VM's vuart the current VM connects to.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="mmio_resources" type="MMIOResourcesConfiguration" minOccurs="0">
<xs:annotation>
<xs:documentation>Description missing</xs:documentation>
<xs:documentation>MMIO resources to passthrough.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="pci_dev_num" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>Description missing</xs:documentation>
<xs:documentation>PCI devices number of the VM.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="pt_intx" type="xs:string" minOccurs="0">

View File

@ -100,10 +100,10 @@ recorded.</xs:documentation>
- ``SCHED_NOOP``: The NOOP (No-Operation) scheduler means there is a
strict 1 to 1 mapping between vCPUs and pCPUs.
- ``SCHED_IORR``: The IORR (IO sensitive Round Robin) scheduler supports
multipule vCPUs running on on one pCPU, scheduled by
multiple vCPUs running on one pCPU, scheduled by
a IO sensitive round robin policy.
- ``SCHED_BVT``: The BVT (Borrowed Virtual time) scheduler is a virtual time based
scheduling algorithm, it dispatchs the runnable thread with the
- ``SCHED_BVT``: The BVT (Borrowed Virtual Time) scheduler is a virtual time based
scheduling algorithm, it dispatches the runnable thread with the
earliest effective virtual time. *TODO: BVT scheduler will be built on
top of a prioritized scheduling mechanism, i.e. higher priority threads
get scheduled first, and same priority tasks are scheduled per BVT.*
@ -172,22 +172,27 @@ size, and VM IDs that may communicate using this shared region:
<xs:sequence>
<xs:element name="RDT_ENABLED" type="Boolean" default="n">
<xs:annotation>
<xs:documentation>Description missing.</xs:documentation>
<xs:documentation>Enable the Intel Resource Director Technology (RDT)
allocation feature. If the board hardware does not support
RDT, setting this option to ``y`` is ignored.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CDP_ENABLED" type="Boolean" default="n">
<xs:annotation>
<xs:documentation>Description missing.</xs:documentation>
<xs:documentation>Specify whether to enable Code and Data Prioritization (CDP).
CDP is an extension of CAT. Set to 'y' to enable the feature or 'n' to disable it.
The 'y' will be ignored when hardware does not support CDP.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CLOS_MASK" type="xs:string" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Description missing.</xs:documentation>
<xs:documentation>Specify the cache capacity bitmask for the CLOS; only continuous '1' bits
are allowed. The value will be ignored when hardware does not support RDT.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="MBA_DELAY" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>Description missing.</xs:documentation>
<xs:documentation>Memory Bandwidth Allocation delay value.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
@ -195,7 +200,11 @@ size, and VM IDs that may communicate using this shared region:
<xs:complexType name="PSRAMInfo">
<xs:sequence>
<xs:element name="PSRAM_ENABLED" type="Boolean" default="n" />
<xs:element name="PSRAM_ENABLED" type="Boolean" default="n">
<xs:annotation>
<xs:documentation>Enable PTCM (Platform Tuning Configuration Manager).</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>