From: Kunhui-Li <kunhuix.li@...>
this patch refines virtio gpu device in the schema for new design.
v3->v4
1. set display_type to be required
2. set default value of display_type to "Window"
3. refine the description of offsets
Tracked-On: #7970
Signed-off-by: Kunhui-Li <kunhuix.li@...>
Signed-off-by: Yang,Yu-chu <yu-chu.yang@...>
---
misc/config_tools/schema/VMtypes.xsd | 76 ++++++++++++++++++++++++++++
misc/config_tools/schema/config.xsd | 5 +-
2 files changed, 78 insertions(+), 3 deletions(-)
diff --git a/misc/config_tools/schema/VMtypes.xsd b/misc/config_tools/schema/VMtypes.xsd
index b8364f853..519eb1c54 100644
--- a/misc/config_tools/schema/VMtypes.xsd
+++ b/misc/config_tools/schema/VMtypes.xsd
@@ -373,6 +373,82 @@ The size is a subset of the VM's total memory size specified on the Basic tab.</
</xs:restriction>
</xs:simpleType>
+<xs:simpleType name="VirtioGPUDisplayType">
+ <xs:annotation>
+ <xs:documentation>A string with value: ``Window`` and ``Full screen``.</xs:documentation>
+ </xs:annotation>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="Window" />
+ <xs:enumeration value="Full screen" />
+ </xs:restriction>
+</xs:simpleType>
+
+<xs:simpleType name="WindowResolutionsType">
+ <xs:annotation>
+ <xs:documentation>Values of display window resolutions.</xs:documentation>
+ </xs:annotation>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="1920x1080" />
+ <xs:enumeration value="1680x1050" />
+ <xs:enumeration value="1600x900" />
+ <xs:enumeration value="1440x900" />
+ <xs:enumeration value="1400x1050" />
+ <xs:enumeration value="1366x768" />
+ <xs:enumeration value="1360x768" />
+ <xs:enumeration value="1280x1024" />
+ <xs:enumeration value="1280x960" />
+ <xs:enumeration value="1280x800" />
+ <xs:enumeration value="1280x768" />
+ <xs:enumeration value="1280x720" />
+ <xs:enumeration value="1280x600" />
+ <xs:enumeration value="1152x864" />
+ <xs:enumeration value="1024x768" />
+ <xs:enumeration value="800x600" />
+ </xs:restriction>
+</xs:simpleType>
+
+<xs:complexType name="DisplayConfiguration">
+ <xs:all>
+ <xs:element name="monitor_id" type="xs:integer">
+ <xs:annotation acrn:title="Monitor ID" acrn:options="//display/text()" acrn:options-sorted-by="int">
+ <xs:documentation>Monitor id specifies which physical monitor the virtual display locates in full screen mode.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="window_resolutions" type="WindowResolutionsType" default="800x600">
+ <xs:annotation acrn:title="Window resolutions">
+ <xs:documentation>Windows resolution specifies the virtual window size of user vm.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="horizontal_offset" type="xs:integer" default="0">
+ <xs:annotation acrn:title="Horizontal offset (pixels)">
+ <xs:documentation>The abscissa (x-axis coordinate) of the left top point of the virtual window.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="vertical_offset" type="xs:integer" default="0">
+ <xs:annotation acrn:title="Vertical offset (pixels)">
+ <xs:documentation>The ordinate (x-axis coordinate) of the left top point of the virtual window.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:all>
+</xs:complexType>
+
+<xs:complexType name="DisplaysConfiguration">
+ <xs:sequence>
+ <xs:element name="display" type="DisplayConfiguration" maxOccurs="unbounded"/>
+ </xs:sequence>
+</xs:complexType>
+
+<xs:complexType name="VirtioGPUConfiguration">
+ <xs:all>
+ <xs:element name="display_type" type="VirtioGPUDisplayType" default="Window">
+ <xs:annotation acrn:title="Display type">
+ <xs:documentation>Display type provide virtual display for user vm with either full screen mode or virtual window mode.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="displays" type="DisplaysConfiguration"/>
+ </xs:all>
+</xs:complexType>
+
<xs:complexType name="VirtioConsoleConfiguration">
<xs:all>
<xs:element name="use_type" type="VirtioConsoleUseType" default="Virtio console">
diff --git a/misc/config_tools/schema/config.xsd b/misc/config_tools/schema/config.xsd
index 09c779899..ab8675adb 100644
--- a/misc/config_tools/schema/config.xsd
+++ b/misc/config_tools/schema/config.xsd
@@ -473,9 +473,8 @@ argument and memory.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:all>
- <xs:element name="gpu" type="xs:string" minOccurs="0">
- <xs:annotation acrn:title="Virtio GPU device" acrn:views="basic"
- acrn:widget-options="'placeholder': 'fullscreen or geometry=[width]x[height]+[x offset]+[y offset], e.g. geometry=1280x720+0+0 specifies a 1280 x 720 pixels region at the top left corner of the screen'">
+ <xs:element name="gpu" type="VirtioGPUConfiguration" minOccurs="0">
+ <xs:annotation acrn:title="Virtio GPU device" acrn:views="basic">
<xs:documentation>The virtio GPU device presents a GPU device to the VM.
This feature enables you to view the VM's GPU output in the Service VM.</xs:documentation>
</xs:annotation>
--
2.25.1