提交 1ed22398 编写于 作者: D Dawid Zamirski 提交者: John Ferlan

domain: Allow 'model' attribute for ide controller

The optional values are 'piix3', 'piix4' or 'ich6'. Those will be
needed to allow setting IDE controller model in VirtualBox driver.
上级 06c4fd10
...@@ -3647,6 +3647,10 @@ ...@@ -3647,6 +3647,10 @@
<span class="since">Since 1.3.5</span>, USB controllers accept a <span class="since">Since 1.3.5</span>, USB controllers accept a
<code>ports</code> attribute to configure how many devices can be <code>ports</code> attribute to configure how many devices can be
connected to the controller.</dd> connected to the controller.</dd>
<dt><code>ide</code></dt>
<dd><span class="since">Since 3.10.0</span> for the vbox driver, the
<code>ide</code> controller has an optional attribute
<code>model</code>, which is one of "piix3", "piix4" or "ich6".</dd>
</dl> </dl>
<p> <p>
......
...@@ -1975,12 +1975,11 @@ ...@@ -1975,12 +1975,11 @@
<ref name="address"/> <ref name="address"/>
</optional> </optional>
<choice> <choice>
<!-- fdc/ide/sata/ccid have only the common attributes --> <!-- fdc/sata/ccid have only the common attributes -->
<group> <group>
<attribute name="type"> <attribute name="type">
<choice> <choice>
<value>fdc</value> <value>fdc</value>
<value>ide</value>
<value>sata</value> <value>sata</value>
<value>ccid</value> <value>ccid</value>
</choice> </choice>
...@@ -2041,6 +2040,21 @@ ...@@ -2041,6 +2040,21 @@
</attribute> </attribute>
</optional> </optional>
</group> </group>
<!-- ide has an optional attribute "model" -->
<group>
<attribute name="type">
<value>ide</value>
</attribute>
<optional>
<attribute name="model">
<choice>
<value>piix3</value>
<value>piix4</value>
<value>ich6</value>
</choice>
</attribute>
</optional>
</group>
<!-- pci has an optional attribute "model" --> <!-- pci has an optional attribute "model" -->
<group> <group>
<attribute name="type"> <attribute name="type">
......
...@@ -377,6 +377,11 @@ VIR_ENUM_IMPL(virDomainControllerModelUSB, VIR_DOMAIN_CONTROLLER_MODEL_USB_LAST, ...@@ -377,6 +377,11 @@ VIR_ENUM_IMPL(virDomainControllerModelUSB, VIR_DOMAIN_CONTROLLER_MODEL_USB_LAST,
"qemu-xhci", "qemu-xhci",
"none") "none")
VIR_ENUM_IMPL(virDomainControllerModelIDE, VIR_DOMAIN_CONTROLLER_MODEL_IDE_LAST,
"piix3",
"piix4",
"ich6")
VIR_ENUM_IMPL(virDomainFS, VIR_DOMAIN_FS_TYPE_LAST, VIR_ENUM_IMPL(virDomainFS, VIR_DOMAIN_FS_TYPE_LAST,
"mount", "mount",
"block", "block",
...@@ -9785,6 +9790,8 @@ virDomainControllerModelTypeFromString(const virDomainControllerDef *def, ...@@ -9785,6 +9790,8 @@ virDomainControllerModelTypeFromString(const virDomainControllerDef *def,
return virDomainControllerModelUSBTypeFromString(model); return virDomainControllerModelUSBTypeFromString(model);
else if (def->type == VIR_DOMAIN_CONTROLLER_TYPE_PCI) else if (def->type == VIR_DOMAIN_CONTROLLER_TYPE_PCI)
return virDomainControllerModelPCITypeFromString(model); return virDomainControllerModelPCITypeFromString(model);
else if (def->type == VIR_DOMAIN_CONTROLLER_TYPE_IDE)
return virDomainControllerModelIDETypeFromString(model);
return -1; return -1;
} }
...@@ -9800,6 +9807,8 @@ virDomainControllerModelTypeToString(virDomainControllerDefPtr def, ...@@ -9800,6 +9807,8 @@ virDomainControllerModelTypeToString(virDomainControllerDefPtr def,
return virDomainControllerModelUSBTypeToString(model); return virDomainControllerModelUSBTypeToString(model);
else if (def->type == VIR_DOMAIN_CONTROLLER_TYPE_PCI) else if (def->type == VIR_DOMAIN_CONTROLLER_TYPE_PCI)
return virDomainControllerModelPCITypeToString(model); return virDomainControllerModelPCITypeToString(model);
else if (def->type == VIR_DOMAIN_CONTROLLER_TYPE_IDE)
return virDomainControllerModelIDETypeToString(model);
return NULL; return NULL;
} }
......
...@@ -748,6 +748,14 @@ typedef enum { ...@@ -748,6 +748,14 @@ typedef enum {
VIR_DOMAIN_CONTROLLER_MODEL_USB_LAST VIR_DOMAIN_CONTROLLER_MODEL_USB_LAST
} virDomainControllerModelUSB; } virDomainControllerModelUSB;
typedef enum {
VIR_DOMAIN_CONTROLLER_MODEL_IDE_PIIX3,
VIR_DOMAIN_CONTROLLER_MODEL_IDE_PIIX4,
VIR_DOMAIN_CONTROLLER_MODEL_IDE_ICH6,
VIR_DOMAIN_CONTROLLER_MODEL_IDE_LAST
} virDomainControllerModelIDE;
# define IS_USB2_CONTROLLER(ctrl) \ # define IS_USB2_CONTROLLER(ctrl) \
(((ctrl)->type == VIR_DOMAIN_CONTROLLER_TYPE_USB) && \ (((ctrl)->type == VIR_DOMAIN_CONTROLLER_TYPE_USB) && \
((ctrl)->model == VIR_DOMAIN_CONTROLLER_MODEL_USB_ICH9_EHCI1 || \ ((ctrl)->model == VIR_DOMAIN_CONTROLLER_MODEL_USB_ICH9_EHCI1 || \
...@@ -3219,6 +3227,7 @@ VIR_ENUM_DECL(virDomainControllerModelPCI) ...@@ -3219,6 +3227,7 @@ VIR_ENUM_DECL(virDomainControllerModelPCI)
VIR_ENUM_DECL(virDomainControllerPCIModelName) VIR_ENUM_DECL(virDomainControllerPCIModelName)
VIR_ENUM_DECL(virDomainControllerModelSCSI) VIR_ENUM_DECL(virDomainControllerModelSCSI)
VIR_ENUM_DECL(virDomainControllerModelUSB) VIR_ENUM_DECL(virDomainControllerModelUSB)
VIR_ENUM_DECL(virDomainControllerModelIDE)
VIR_ENUM_DECL(virDomainFS) VIR_ENUM_DECL(virDomainFS)
VIR_ENUM_DECL(virDomainFSDriver) VIR_ENUM_DECL(virDomainFSDriver)
VIR_ENUM_DECL(virDomainFSAccessMode) VIR_ENUM_DECL(virDomainFSAccessMode)
......
...@@ -234,6 +234,8 @@ virDomainControllerFindUnusedIndex; ...@@ -234,6 +234,8 @@ virDomainControllerFindUnusedIndex;
virDomainControllerInsert; virDomainControllerInsert;
virDomainControllerInsertPreAlloced; virDomainControllerInsertPreAlloced;
virDomainControllerIsPSeriesPHB; virDomainControllerIsPSeriesPHB;
virDomainControllerModelIDETypeFromString;
virDomainControllerModelIDETypeToString;
virDomainControllerModelPCITypeToString; virDomainControllerModelPCITypeToString;
virDomainControllerModelSCSITypeFromString; virDomainControllerModelSCSITypeFromString;
virDomainControllerModelSCSITypeToString; virDomainControllerModelSCSITypeToString;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册