mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-06-19 20:22:46 +00:00
config_tools: add XML schema for the scenario XML
This patch introduces a schema (in XSD 1.1) for the scenario XML of ACRN hypervisor for validation and documentation. An XML schema defines the expected layout and value ranges of an XML document. It allows a concise way to define our expectation on the information in a scenario XML, including: * structure of elements * number of occurrences of elements with the same tags * element data types and default values * element descriptions * any further properties such as readonly and configurable Multiple XSD-based validators are available in the open source community. A Python-based apporach will be introduced in a later patch and integrated into the build system to ensure the integrity of the scenario XML before we process it further. A reference of the configuration data will be generated from the <xs:documentation> blocks. Format for <xs:documentation> blocks will properly output multiple text lines so features such as lists can be used. All multi-line content must be left-aligned unless indentation is specifically required by rst syntax. The trailing </xs:documentation> tag should be on the same line as the last text line. For example: <xs:simpleType name="SchedulerType"> <xs:annotation> <xs:documentation>Three scheduler options are supported: - ``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 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 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.* Read more about the available scheduling options in :ref:`cpu_sharing`.</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:enumeration value="SCHED_NOOP" /> <xs:enumeration value="SCHED_IORR" /> <xs:enumeration value="SCHED_BVT" /> </xs:restriction> </xs:simpleType> Tracked-On: #5672 Signed-off-by: Yang, Yu-chu <yu-chu.yang@intel.com> Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
This commit is contained in:
parent
cbed125028
commit
fa01261552
324
misc/config_tools/schema/VMtypes.xsd
Normal file
324
misc/config_tools/schema/VMtypes.xsd
Normal file
@ -0,0 +1,324 @@
|
||||
<?xml version="1.0"?>
|
||||
<xs:schema xml:id="root"
|
||||
xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:acrn="https://projectacrn.org">
|
||||
|
||||
<xs:simpleType name="VMOptionsType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Description missing.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="SOS_VM" />
|
||||
<xs:enumeration value="SAFETY_VM" />
|
||||
<xs:enumeration value="PRE_RT_VM" />
|
||||
<xs:enumeration value="PRE_STD_VM" />
|
||||
<xs:enumeration value="POST_STD_VM" />
|
||||
<xs:enumeration value="POST_RT_VM" />
|
||||
<xs:enumeration value="KATA_VM" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="GuestFlagsOptionsType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Description missing.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="" />
|
||||
<xs:enumeration value="0" />
|
||||
<xs:enumeration value="0UL" />
|
||||
<xs:enumeration value="GUEST_FLAG_SECURE_WORLD_ENABLED" />
|
||||
<xs:enumeration value="GUEST_FLAG_LAPIC_PASSTHROUGH" />
|
||||
<xs:enumeration value="GUEST_FLAG_IO_COMPLETION_POLLING" />
|
||||
<xs:enumeration value="GUEST_FLAG_HIDE_MTRR" />
|
||||
<xs:enumeration value="GUEST_FLAG_RT" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:complexType name="GuestFlagsInfo">
|
||||
<xs:sequence>
|
||||
<xs:element name="guest_flag" type="GuestFlagsOptionsType" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Description missing.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="CPUAffinityConfiguration">
|
||||
<xs:sequence>
|
||||
<xs:element name="pcpu_id" type="xs:integer" default="2" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Description missing.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="CLOSConfiguration">
|
||||
<xs:sequence>
|
||||
<xs:element name="vcpu_clos" type="xs:integer" default="0" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Description missing.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="EPCSection">
|
||||
<xs:annotation acrn:configurable="n">
|
||||
<xs:documentation>epc section.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:sequence>
|
||||
<xs:element name="base" type="HexFormat" default="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Description missing.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="size" type="HexFormat" default="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Description missing.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="MemoryInfo">
|
||||
<xs:sequence>
|
||||
<xs:element name="start_hpa" type="HexFormat" default="0x100000000">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Description missing.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="size" type="MemorySizeType" default="0x20000000">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Description missing.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="start_hpa2" type="HexFormat" default="0x0" minOccurs="0">
|
||||
<xs:annotation acrn:configurable="n">
|
||||
<xs:documentation>Start of second HPA for non-contiguous allocations in host for the VM.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="size_hpa2" type="MemorySizeType" default="0x0" minOccurs="0">
|
||||
<xs:annotation acrn:configurable="n">
|
||||
<xs:documentation>Memory size of second HPA for non-contiguous allocations in Bytes for the VM.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="OSConfigurations">
|
||||
<xs:sequence>
|
||||
<xs:element name="name">
|
||||
<xs:simpleType>
|
||||
<xs:annotation>
|
||||
<xs:documentation>Specify the OS name of VM; currently, it is not referenced by the hypervisor code.String from 1 to 32
|
||||
characters long.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1" />
|
||||
<xs:maxLength value="32" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="kern_type" type="VMKernelType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Description missing.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="kern_mod" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Description missing.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="ramdisk_mod" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Description missing.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="bootargs" type="xs:string">
|
||||
<xs:annotation acrn:configurable="../../vm_type[starts-with(text(), 'PRE')]">
|
||||
<xs:documentation>Configurable boot argument for pre-launched VM of hybrid or hybrid_rt mode.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="kern_load_addr" type="HexFormat" minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Description missing.</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:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:simpleType name="VMKernelType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Description missing.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="KERNEL_BZIMAGE" />
|
||||
<xs:enumeration value="KERNEL_ZEPHYR" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="LegacyVuartType">
|
||||
<xs:annotation acrn:configurable="n">
|
||||
<xs:documentation>vCOM type</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="VUART_LEGACY_PIO" />
|
||||
<xs:enumeration value="VUART_PCI" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="LegacyVuartBase">
|
||||
<xs:annotation>
|
||||
<xs:documentation>vUART (A.K.A COM) enabling switch. Enable by exposing its base address, disable by returning INVALID_COM_BASE.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="SOS_COM1_BASE" />
|
||||
<xs:enumeration value="SOS_COM2_BASE" />
|
||||
<xs:enumeration value="COM1_BASE" />
|
||||
<xs:enumeration value="COM2_BASE" />
|
||||
<xs:enumeration value="COM3_BASE" />
|
||||
<xs:enumeration value="COM4_BASE" />
|
||||
<xs:enumeration value="INVALID_COM_BASE" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="LegacyVuartIrq">
|
||||
<xs:annotation acrn:configurable="n">
|
||||
<xs:documentation>vCOM irq</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="SOS_COM1_IRQ" />
|
||||
<xs:enumeration value="SOS_COM2_IRQ" />
|
||||
<xs:enumeration value="COM1_IRQ" />
|
||||
<xs:enumeration value="COM2_IRQ" />
|
||||
<xs:enumeration value="COM3_IRQ" />
|
||||
<xs:enumeration value="COM4_IRQ" />
|
||||
<xs:enumeration value="CONFIG_COM_IRQ" />
|
||||
<xs:enumeration value="3" />
|
||||
<xs:enumeration value="4" />
|
||||
<xs:enumeration value="6" />
|
||||
<xs:enumeration value="7" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:complexType name="LegancyVuartConfiguration">
|
||||
<xs:sequence>
|
||||
<xs:element name="type" type="LegacyVuartType" default="VUART_LEGACY_PIO">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Description missing.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="base" type="LegacyVuartBase">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Description missing.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="irq" type="LegacyVuartIrq">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Description missing.</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: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:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="id" type="xs:integer" use="required"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:simpleType name="PCIVuartBase">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Description missing.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="PCI_VUART" />
|
||||
<xs:enumeration value="INVALID_PCI_BASE" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:complexType name="ConsoleVuartConfiguration">
|
||||
<xs:sequence>
|
||||
<xs:element name="base" type="PCIVuartBase" default="INVALID_PCI_BASE">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Description missing.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="id" type="xs:integer" use="required" />
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="CommunicationVuartConfiguration">
|
||||
<xs:sequence>
|
||||
<xs:element name="base" type="PCIVuartBase" default="INVALID_PCI_BASE">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Description missing.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="target_vm_id" type="xs:integer">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Description missing.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="target_uart_id" type="xs:integer">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Description missing.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="id" type="xs:integer" use="required" />
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="MMIOResourcesConfiguration">
|
||||
<xs:sequence>
|
||||
<xs:element name="TPM2" type="Boolean" default="n" minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Description missing.</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:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="PCIDevsConfiguration">
|
||||
<xs:sequence>
|
||||
<xs:element name="pci_dev" type="xs:string" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Description missing.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="BoardPrivateConfiguration">
|
||||
<xs:sequence>
|
||||
<xs:element name="rootfs" type="xs:string" default="/dev/nvme0n1p3">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Description missing.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="bootargs" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Description missing.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
</xs:schema>
|
424
misc/config_tools/schema/config.xsd
Normal file
424
misc/config_tools/schema/config.xsd
Normal file
@ -0,0 +1,424 @@
|
||||
<?xml version="1.0"?>
|
||||
<xs:schema
|
||||
xmlns:xi="http://www.w3.org/2003/XInclude"
|
||||
xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:acrn="https://projectacrn.org">
|
||||
|
||||
<xi:include href="types.xsd" xpointer="xpointer(id('root')/*)" />
|
||||
<xi:include href="VMtypes.xsd" xpointer="xpointer(id('root')/*)" />
|
||||
|
||||
<xs:complexType name="DebugOptionsType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Options for debugging the hypervisor.</xs:documentation>
|
||||
</xs:annotation>
|
||||
|
||||
<xs:all>
|
||||
<xs:element name="RELEASE" type="Boolean" default="n">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Build an image for release (``y``) or debug (``n``).
|
||||
In a **release** image, assertions are not enforced and these features
|
||||
are **not** available:
|
||||
|
||||
- logs
|
||||
- serial console
|
||||
- hypervisor shell</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<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>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="MEM_LOGLEVEL" type="LogLevelType" default="5">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Default loglevel for log messages stored in memory.
|
||||
Messages with a lower severity (higher value) are discarded.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="NPK_LOGLEVEL" type="LogLevelType" default="5">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Default loglevel for the hypervisor NPK log.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="CONSOLE_LOGLEVEL" type="LogLevelType" default="3">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Default loglevel for log messages
|
||||
written to the serial console. Messages with lower severity (higher
|
||||
value) are not displayed.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="LOG_DESTINATION" default="7">
|
||||
<xs:simpleType>
|
||||
<xs:annotation>
|
||||
<xs:documentation>Bitmap indicating the destination of log messages.
|
||||
Currently there are three log destinations available:
|
||||
|
||||
- bit 0 for the serial console (``0x1``),
|
||||
- bit 1 for the Service VM log (``0x2``), and
|
||||
- bit 2 for the NPK log (``0x4``).
|
||||
|
||||
For example, a value of ``3`` enables only the
|
||||
serial console and Service VM logs. Effective only in debug builds (when
|
||||
:option:`hv.DEBUG_OPTIONS.RELEASE` is ``n``).</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:restriction base="xs:integer">
|
||||
<xs:minInclusive value="0" />
|
||||
<xs:maxInclusive value="7" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="LOG_BUF_SIZE" type="HexFormat" default="0x40000">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Capacity (in bytes) of logbuf for each
|
||||
physical cpu, for example, ``0x40000``.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:all>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="FeatureOptionsType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Options for hypervisor feature enablement.</xs:documentation>
|
||||
</xs:annotation>
|
||||
|
||||
<xs:all>
|
||||
<xs:element name="RELOC" type="Boolean" default="y">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Specify if hypervisor relocation is enabled on booting.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="SCHEDULER" type="SchedulerType" default="SCHED_BVT">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The CPU scheduler used by the hypervisor.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="MULTIBOOT2" type="Boolean" default="y">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Specify if the ACRN hypervisor image can be booted using the
|
||||
multiboot2 protocol. If set to ``n``, GRUB's multiboot2 is not available as a
|
||||
boot option.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<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>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="HYPERV_ENABLED" type="Boolean" default="y">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Enable Hyper-V.</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
|
||||
of DMA operations.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="ACPI_PARSE_ENABLED" type="Boolean" default="y">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Enable ACPI runtime parsing.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="L1D_VMENTRY_ENABLED" type="Boolean" default="n">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Enable L1 cache flush before VM entry.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="MCE_ON_PSC_DISABLED" type="Boolean" default="n">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Force disabling software workaround for
|
||||
Machine Check Error on Page Size Change.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="IVSHMEM" type="IVSHMEMInfo">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Enable Inter-VM Shared memory feature.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="PSRAM" minOccurs="0" type="PSRAMInfo">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Description missing</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:all>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="MemoryOptionsType">
|
||||
<xs:all>
|
||||
<xs:element name="STACK_SIZE" type="HexFormat" default="0x2000">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Capacity of one stack (in bytes) used by a
|
||||
physical core. Each core uses one stack for normal operation and another
|
||||
three for specific exceptions.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="HV_RAM_SIZE" type="HVRamSizeType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Size of the RAM region used by the hypervisor.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="HV_RAM_START" type="HVRamStartType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The 2MB-aligned starting physical address of
|
||||
the RAM region used by the hypervisor.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="LOW_RAM_SIZE" type="HexFormat" default="0x00010000">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Size of the low RAM region below address
|
||||
``0x10000``, starting from address ``0x0``..</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="UOS_RAM_SIZE" type="HexFormat" default="0x200000000">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Size of the User VM OS RAM region.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="SOS_RAM_SIZE" type="HexFormat" default="0x400000000">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Size of the Service VM OS RAM region.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="PLATFORM_RAM_SIZE" type="HexFormat" default="0x400000000">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Size of the physical platform RAM.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:all>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="CapacitiesOptionsType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Capacity limits for static assigned data structure or
|
||||
maximum supported resource.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:all>
|
||||
<xs:element name="IOMMU_BUS_NUM" type="HexFormat" default="0x100">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Highest PCI bus ID used during IOMMU initialization.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="MAX_IR_ENTRIES" type="xs:integer" default="256">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Maximum number of Interrupt Remapping Entries.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="MAX_IOAPIC_NUM" default="1">
|
||||
<xs:simpleType>
|
||||
<xs:annotation>
|
||||
<xs:documentation>Maximum number of IO-APICs. Integer from 1 to 10.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:restriction base="xs:integer">
|
||||
<xs:minInclusive value="1" />
|
||||
<xs:maxInclusive value="10" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</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:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="MAX_PCI_DEV_NUM" default="96">
|
||||
<xs:simpleType>
|
||||
<xs:annotation>
|
||||
<xs:documentation>Maximum number of PCI devices.Integer from 1 to 1024.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:restriction base="xs:integer">
|
||||
<xs:minInclusive value="1" />
|
||||
<xs:maxInclusive value="1024" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="MAX_IOAPIC_LINES" default="120">
|
||||
<xs:simpleType>
|
||||
<xs:annotation>
|
||||
<xs:documentation>Maximum number of interrupt lines per IOAPIC.Integer from 1 to 120.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:restriction base="xs:integer">
|
||||
<xs:minInclusive value="1" />
|
||||
<xs:maxInclusive value="120" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="MAX_PT_IRQ_ENTRIES" type="xs:integer" default="256">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Maximum number of interrupt source for PT devices.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="MAX_MSIX_TABLE_NUM" default="64">
|
||||
<xs:simpleType>
|
||||
<xs:annotation>
|
||||
<xs:documentation>Maximum number of MSI-X tables per device.
|
||||
Leave blank if not sure.Integer from 1 to 2048.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:restriction base="xs:integer">
|
||||
<xs:minInclusive value="1" />
|
||||
<xs:maxInclusive value="2048" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="MAX_EMULATED_MMIO" default="16">
|
||||
<xs:simpleType>
|
||||
<xs:annotation>
|
||||
<xs:documentation>Maximum number of emulated MMIO regions.Integer from 1 to 128.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:restriction base="xs:integer">
|
||||
<xs:minInclusive value="1" />
|
||||
<xs:maxInclusive value="128" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
</xs:all>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="MiscCfgOptionsType">
|
||||
<xs:all>
|
||||
<xs:element name="GPU_SBDF" type="HexFormat" default="0x00000010">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Segment, Bus, Device, and function of the GPU.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="UEFI_OS_LOADER_NAME" type="xs:string" minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Description missing</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:all>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="HVConfigType">
|
||||
<xs:all>
|
||||
<xs:element name="DEBUG_OPTIONS" type="DebugOptionsType" />
|
||||
<xs:element name="FEATURES" type="FeatureOptionsType" />
|
||||
<xs:element name="MEMORY" type="MemoryOptionsType" />
|
||||
<xs:element name="CAPACITIES" type="CapacitiesOptionsType" />
|
||||
<xs:element name="MISC_CFG" type="MiscCfgOptionsType" />
|
||||
</xs:all>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="VMConfigType">
|
||||
<xs:all>
|
||||
<xs:element name="vm_type" type="VMOptionsType">
|
||||
<xs:annotation acrn:readonly="y">
|
||||
<xs:documentation>Specify the VM type.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="name" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:annotation>
|
||||
<xs:documentation>Specify the VM name shown in the
|
||||
hypervisor console ``vm_lists`` command. String from 1 to 32
|
||||
characters long.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1" />
|
||||
<xs:maxLength value="32" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="guest_flags" type="GuestFlagsInfo" minOccurs="0">
|
||||
<xs:annotation acrn:multiselect="y">
|
||||
<xs:documentation>Select all applicable flags for the VM.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="cpu_affinity" type="CPUAffinityConfiguration" minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>List of pCPU that this VM's vCPUs are pinned to.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="clos" type="CLOSConfiguration">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Class of Service for Cache Allocation Technology.
|
||||
Refer SDM 17.19.2 for details, and use with caution.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="epc_section" type="EPCSection" minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Description missing</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="memory" type="MemoryInfo" minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Description missing</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="os_config" type="OSConfigurations" minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Description missing</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:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="console_vuart" type="ConsoleVuartConfiguration">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Description missing</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="communication_vuart" type="CommunicationVuartConfiguration" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Description missing</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="mmio_resources" type="MMIOResourcesConfiguration" minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Description missing</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:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="pt_intx" type="xs:string" minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>pt intx mapping.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="pci_devs" type="PCIDevsConfiguration" minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>pci devices list.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="board_private" type="BoardPrivateConfiguration" minOccurs="0" />
|
||||
</xs:all>
|
||||
<xs:attribute name="id" type="xs:integer" />
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="ACRNConfigType">
|
||||
<xs:all>
|
||||
<xs:element name="hv" type="HVConfigType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The hypervisor configuration defines a working scenario and target
|
||||
board by configuring the hypervisor image features and capabilities such as
|
||||
setting up the log and the serial port.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="vm" type="VMConfigType" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>VM configuration includes **scenario-based** VM configuration
|
||||
information that is used to describe the characteristics and attributes for
|
||||
all VMs in a user scenario. It also includes **launch script-based** VM
|
||||
configuration information, where parameters are passed to the device model
|
||||
to launch post-launched User VMs.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:all>
|
||||
<xs:attribute name="board" type="xs:string" use="required" />
|
||||
<xs:attribute name="scenario" type="xs:string" use="required" />
|
||||
</xs:complexType>
|
||||
|
||||
<xs:element name="acrn-config" type="ACRNConfigType" />
|
||||
|
||||
</xs:schema>
|
202
misc/config_tools/schema/types.xsd
Normal file
202
misc/config_tools/schema/types.xsd
Normal file
@ -0,0 +1,202 @@
|
||||
<?xml version="1.0"?>
|
||||
<xs:schema xml:id="root" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
|
||||
<xs:simpleType name="Boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A boolean value, written as ``y`` or ``n``.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="y" />
|
||||
<xs:enumeration value="n" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="HexFormat">
|
||||
<xs:annotation>
|
||||
<xs:documentation>An integer value in hexadecimal format.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="0[Xx][0-9A-Fa-f]+|0" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="None">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[*]{0}" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="HVRamSizeType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Either empty, or a hexadecimal value.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:union memberTypes="None HexFormat" />
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="HVRamStartType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Either empty, or a hexadecimal value.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:union memberTypes="None HexFormat" />
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="MaxMsixTableNumType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Integer from 1 to 2048.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:restriction base="xs:integer">
|
||||
<xs:minInclusive value="1" />
|
||||
<xs:maxInclusive value="2048" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="MaxMsixTableSizeType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Either empty, or an integer value between 1 and 2048.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:union memberTypes="None MaxMsixTableNumType" />
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="SOSRamSize">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="CONFIG_SOS_RAM_SIZE" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="MemorySizeType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Either a hexadecimal value or the string
|
||||
``CONFIG_SOS_RAM_SIZE``.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:union memberTypes="SOSRamSize HexFormat" />
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="LogLevelType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>An integer from 0 to 7 representing log message
|
||||
severity and intent:
|
||||
|
||||
- 1 (LOG_FATAL) system is unusable
|
||||
- 2 (LOG_ACRN)
|
||||
- 3 (LOG_ERROR) error conditions
|
||||
- 4 (LOG_WARNING) warning conditions
|
||||
- 5 (LOG_INFO) informational
|
||||
- 6 (LOG_DEBUG) debug-level messages
|
||||
|
||||
Note that lower values have a higher severity. Only log messages with a
|
||||
severity level higher (lower value) than a specified value will be
|
||||
recorded.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:restriction base="xs:integer">
|
||||
<xs:minInclusive value="0" />
|
||||
<xs:maxInclusive value="7" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="SchedulerType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Three scheduler options are supported:
|
||||
|
||||
- ``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
|
||||
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
|
||||
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.*
|
||||
|
||||
Read more about the available scheduling options in :ref:`cpu_sharing`.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="SCHED_NOOP" />
|
||||
<xs:enumeration value="SCHED_IORR" />
|
||||
<xs:enumeration value="SCHED_BVT" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="SerialConsoleType">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value=".*ttyS[0-3]" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="SerialConsoleOptions">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Either empty or a string.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:union memberTypes="None SerialConsoleType" />
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="IVSHMEMRegionPattern">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="hv:/\w+,\s?\d,\s?\s?\d:\s?\d\s?" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="IVSHMEMRegionType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Either empty or a string.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:union memberTypes="None IVSHMEMRegionPattern" />
|
||||
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:complexType name="IVSHMEMInfo">
|
||||
<xs:sequence>
|
||||
<xs:element name="IVSHMEM_ENABLED" type="Boolean" default="n">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Enable inter-VM shared memory (IVSHMEM) feature.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="IVSHMEM_REGION" type="IVSHMEMRegionType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A comma-separated list with the inter-VM shared memory region name,
|
||||
size, and VM IDs that may communicate using this shared region:
|
||||
|
||||
* Prefix the region ``name`` with ``hv:/`` (for an hv-land solution).
|
||||
(See :ref:`ivshmem-hld` for details.)
|
||||
* Specify the region ``size`` in MB. Must be a power of 2, e.g., 2, 4,
|
||||
8, 16, up to 512.
|
||||
* Specify all VM IDs that may use this shared memory area,
|
||||
separated by a ``:``. For example, use ``0:2`` to share this area between
|
||||
VMs 0 and 2, or ``0:1:2`` (to let VMs 0, 1, and 2 share this area).</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="RDTType">
|
||||
<xs:sequence>
|
||||
<xs:element name="RDT_ENABLED" type="Boolean" default="n">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Description missing.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="CDP_ENABLED" type="Boolean" default="n">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Description missing.</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:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="MBA_DELAY" type="xs:string" minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Description missing.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="PSRAMInfo">
|
||||
<xs:sequence>
|
||||
<xs:element name="PSRAM_ENABLED" type="Boolean" default="n" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
</xs:schema>
|
Loading…
Reference in New Issue
Block a user