]> xenbits.xensource.com Git - libvirt.git/commitdiff
conf: Extend <loader/> and introduce <nvram/>
authorMichal Privoznik <mprivozn@redhat.com>
Wed, 6 Aug 2014 11:18:53 +0000 (13:18 +0200)
committerMichal Privoznik <mprivozn@redhat.com>
Wed, 10 Sep 2014 07:38:07 +0000 (09:38 +0200)
Up to now, users can configure BIOS via the <loader/> element. With
the upcoming implementation of UEFI this is not enough as BIOS and
UEFI are conceptually different. For instance, while BIOS is ROM, UEFI
is programmable flash (although all writes to code section are
denied). Therefore we need new attribute @type which will
differentiate the two. Then, new attribute @readonly is introduced to
reflect the fact that some images are RO.

Moreover, the OVMF (which is going to be used mostly), works in two
modes:
1) Code and UEFI variable store is mixed in one file.
2) Code and UEFI variable store is separated in two files

The latter has advantage of updating the UEFI code without losing the
configuration. However, in order to represent the latter case we need
yet another XML element: <nvram/>. Currently, it has no additional
attributes, it's just a bare element containing path to the variable
store file.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Acked-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
69 files changed:
docs/formatdomain.html.in
docs/schemas/domaincommon.rng
src/conf/domain_conf.c
src/conf/domain_conf.h
src/libvirt_private.syms
src/qemu/qemu_command.c
src/security/virt-aa-helper.c
src/vbox/vbox_common.c
src/xenapi/xenapi_driver.c
src/xenconfig/xen_common.c
src/xenconfig/xen_sxpr.c
tests/qemuxml2argvdata/qemuxml2argv-bios-nvram.xml [new file with mode: 0644]
tests/qemuxml2xmloutdata/qemuxml2xmlout-pci-bridge-many-disks.xml
tests/qemuxml2xmltest.c
tests/sexpr2xmldata/sexpr2xml-fv-autoport.xml
tests/sexpr2xmldata/sexpr2xml-fv-empty-kernel.xml
tests/sexpr2xmldata/sexpr2xml-fv-force-hpet.xml
tests/sexpr2xmldata/sexpr2xml-fv-force-nohpet.xml
tests/sexpr2xmldata/sexpr2xml-fv-kernel.xml
tests/sexpr2xmldata/sexpr2xml-fv-legacy-vfb.xml
tests/sexpr2xmldata/sexpr2xml-fv-localtime.xml
tests/sexpr2xmldata/sexpr2xml-fv-net-ioemu.xml
tests/sexpr2xmldata/sexpr2xml-fv-net-netfront.xml
tests/sexpr2xmldata/sexpr2xml-fv-parallel-tcp.xml
tests/sexpr2xmldata/sexpr2xml-fv-serial-dev-2-ports.xml
tests/sexpr2xmldata/sexpr2xml-fv-serial-dev-2nd-port.xml
tests/sexpr2xmldata/sexpr2xml-fv-serial-file.xml
tests/sexpr2xmldata/sexpr2xml-fv-serial-null.xml
tests/sexpr2xmldata/sexpr2xml-fv-serial-pipe.xml
tests/sexpr2xmldata/sexpr2xml-fv-serial-pty.xml
tests/sexpr2xmldata/sexpr2xml-fv-serial-stdio.xml
tests/sexpr2xmldata/sexpr2xml-fv-serial-tcp-telnet.xml
tests/sexpr2xmldata/sexpr2xml-fv-serial-tcp.xml
tests/sexpr2xmldata/sexpr2xml-fv-serial-udp.xml
tests/sexpr2xmldata/sexpr2xml-fv-serial-unix.xml
tests/sexpr2xmldata/sexpr2xml-fv-sound-all.xml
tests/sexpr2xmldata/sexpr2xml-fv-sound.xml
tests/sexpr2xmldata/sexpr2xml-fv-usbmouse.xml
tests/sexpr2xmldata/sexpr2xml-fv-usbtablet.xml
tests/sexpr2xmldata/sexpr2xml-fv-utc.xml
tests/sexpr2xmldata/sexpr2xml-fv-v2.xml
tests/sexpr2xmldata/sexpr2xml-fv.xml
tests/sexpr2xmldata/sexpr2xml-no-source-cdrom.xml
tests/xmconfigdata/test-escape-paths.xml
tests/xmconfigdata/test-fullvirt-force-hpet.xml
tests/xmconfigdata/test-fullvirt-force-nohpet.xml
tests/xmconfigdata/test-fullvirt-localtime.xml
tests/xmconfigdata/test-fullvirt-net-ioemu.xml
tests/xmconfigdata/test-fullvirt-net-netfront.xml
tests/xmconfigdata/test-fullvirt-new-cdrom.xml
tests/xmconfigdata/test-fullvirt-old-cdrom.xml
tests/xmconfigdata/test-fullvirt-parallel-tcp.xml
tests/xmconfigdata/test-fullvirt-serial-dev-2-ports.xml
tests/xmconfigdata/test-fullvirt-serial-dev-2nd-port.xml
tests/xmconfigdata/test-fullvirt-serial-file.xml
tests/xmconfigdata/test-fullvirt-serial-null.xml
tests/xmconfigdata/test-fullvirt-serial-pipe.xml
tests/xmconfigdata/test-fullvirt-serial-pty.xml
tests/xmconfigdata/test-fullvirt-serial-stdio.xml
tests/xmconfigdata/test-fullvirt-serial-tcp-telnet.xml
tests/xmconfigdata/test-fullvirt-serial-tcp.xml
tests/xmconfigdata/test-fullvirt-serial-udp.xml
tests/xmconfigdata/test-fullvirt-serial-unix.xml
tests/xmconfigdata/test-fullvirt-sound.xml
tests/xmconfigdata/test-fullvirt-usbmouse.xml
tests/xmconfigdata/test-fullvirt-usbtablet.xml
tests/xmconfigdata/test-fullvirt-utc.xml
tests/xmconfigdata/test-no-source-cdrom.xml
tests/xmconfigdata/test-pci-devs.xml

index 94236dd4baa9a92eeabd8e8f4af3811091df630b..757035af1f003406eb58db8447da2c6974f92d56 100644 (file)
   ...
   &lt;os&gt;
     &lt;type&gt;hvm&lt;/type&gt;
-    &lt;loader&gt;/usr/lib/xen/boot/hvmloader&lt;/loader&gt;
+    &lt;loader readonly='on' type='rom'&gt;/usr/lib/xen/boot/hvmloader&lt;/loader&gt;
+    &lt;nvram&gt;/var/lib/libvirt/nvram/guest_VARS.fd&lt;/nvram&gt;
     &lt;boot dev='hd'/&gt;
     &lt;boot dev='cdrom'/&gt;
     &lt;bootmenu enable='yes' timeout='3000'/&gt;
         used to assist the domain creation process. It is used by Xen
         fully virtualized domains as well as setting the QEMU BIOS file
         path for QEMU/KVM domains. <span class="since">Xen since 0.1.0,
-        QEMU/KVM since 0.9.12</span></dd>
+        QEMU/KVM since 0.9.12</span> Then, <span class="since">since
+        1.2.8</span> it's possible for the element to have two
+        optional attributes: <code>readonly</code> (accepted values are
+        <code>yes</code> and <code>no</code>) to reflect the fact that the
+        image should be writable or read-only. The second attribute
+        <code>type</code> accepts values <code>rom</code> and
+        <code>pflash</code>. It tells the hypervisor where in the guest
+        memory the file should be mapped.  For instance, if the loader
+        path points to an UEFI image, <code>type</code> should be
+        <code>pflash</code>.</dd>
+      <dt><code>nvram</code></dt>
+      <dd>Some UEFI firmwares may want to use a non-volatile memory to store
+        some variables. In the host, this is represented as a file and the
+        path to the file is stored in this element. <span class="since">Since
+        1.2.8</span></dd>
       <dt><code>boot</code></dt>
       <dd>The <code>dev</code> attribute takes one of the values "fd", "hd",
         "cdrom" or "network" and is used to specify the next boot device
index cedceae1f6c147ab572ce29c88a93b94ba259d22..5d9c21c245a57418c1ea310958f754caad8c9b21 100644 (file)
       <interleave>
         <optional>
           <element name="loader">
+            <optional>
+              <attribute name="readonly">
+                <choice>
+                  <value>yes</value>
+                  <value>no</value>
+                </choice>
+              </attribute>
+            </optional>
+            <optional>
+              <attribute name="type">
+                <choice>
+                  <value>rom</value>
+                  <value>pflash</value>
+                </choice>
+              </attribute>
+            </optional>
+            <ref name="absFilePath"/>
+          </element>
+        </optional>
+        <optional>
+          <element name="nvram">
             <ref name="absFilePath"/>
           </element>
         </optional>
index aac78a61895bd9fa583d0737ce0901070c1bce1b..989f2dc63cc6fc22370b838795c0aac477c5d23e 100644 (file)
@@ -780,6 +780,11 @@ VIR_ENUM_IMPL(virDomainDiskMirrorState, VIR_DOMAIN_DISK_MIRROR_STATE_LAST,
               "abort",
               "pivot")
 
+VIR_ENUM_IMPL(virDomainLoader,
+              VIR_DOMAIN_LOADER_TYPE_LAST,
+              "rom",
+              "pflash")
+
 /* Internal mapping: subset of block job types that can be present in
  * <mirror> XML (remaining types are not two-phase). */
 VIR_ENUM_DECL(virDomainBlockJob)
@@ -2013,6 +2018,17 @@ virDomainPanicDefFree(virDomainPanicDefPtr panic)
     VIR_FREE(panic);
 }
 
+void
+virDomainLoaderDefFree(virDomainLoaderDefPtr loader)
+{
+    if (!loader)
+        return;
+
+    VIR_FREE(loader->path);
+    VIR_FREE(loader->nvram);
+    VIR_FREE(loader);
+}
+
 void virDomainDefFree(virDomainDefPtr def)
 {
     size_t i;
@@ -2118,7 +2134,7 @@ void virDomainDefFree(virDomainDefPtr def)
     VIR_FREE(def->os.cmdline);
     VIR_FREE(def->os.dtb);
     VIR_FREE(def->os.root);
-    VIR_FREE(def->os.loader);
+    virDomainLoaderDefFree(def->os.loader);
     VIR_FREE(def->os.bootloader);
     VIR_FREE(def->os.bootloaderArgs);
 
@@ -11715,6 +11731,42 @@ virDomainDefMaybeAddHostdevSCSIcontroller(virDomainDefPtr def)
     return 0;
 }
 
+static int
+virDomainLoaderDefParseXML(xmlNodePtr node,
+                           virDomainLoaderDefPtr loader)
+{
+    int ret = -1;
+    char *readonly_str = NULL;
+    char *type_str = NULL;
+
+    readonly_str = virXMLPropString(node, "readonly");
+    type_str = virXMLPropString(node, "type");
+    loader->path = (char *) xmlNodeGetContent(node);
+
+    if (readonly_str &&
+        (loader->readonly = virTristateBoolTypeFromString(readonly_str)) <= 0) {
+        virReportError(VIR_ERR_XML_DETAIL,
+                       _("unknown readonly value: %s"), readonly_str);
+        goto cleanup;
+    }
+
+    if (type_str) {
+        int type;
+        if ((type = virDomainLoaderTypeFromString(type_str)) < 0) {
+            virReportError(VIR_ERR_XML_DETAIL,
+                           _("unknown type value: %s"), type_str);
+            goto cleanup;
+        }
+        loader->type = type;
+    }
+
+    ret = 0;
+ cleanup:
+    VIR_FREE(readonly_str);
+    VIR_FREE(type_str);
+    return ret;
+}
+
 static virDomainDefPtr
 virDomainDefParseXML(xmlDocPtr xml,
                      xmlNodePtr root,
@@ -12755,12 +12807,22 @@ virDomainDefParseXML(xmlDocPtr xml,
     if (STREQ(def->os.type, "xen") ||
         STREQ(def->os.type, "hvm") ||
         STREQ(def->os.type, "uml")) {
+        xmlNodePtr loader_node;
+
         def->os.kernel = virXPathString("string(./os/kernel[1])", ctxt);
         def->os.initrd = virXPathString("string(./os/initrd[1])", ctxt);
         def->os.cmdline = virXPathString("string(./os/cmdline[1])", ctxt);
         def->os.dtb = virXPathString("string(./os/dtb[1])", ctxt);
         def->os.root = virXPathString("string(./os/root[1])", ctxt);
-        def->os.loader = virXPathString("string(./os/loader[1])", ctxt);
+        if ((loader_node = virXPathNode("./os/loader[1]", ctxt))) {
+            if (VIR_ALLOC(def->os.loader) < 0)
+                goto error;
+
+            if (virDomainLoaderDefParseXML(loader_node, def->os.loader) < 0)
+                goto error;
+
+            def->os.loader->nvram = virXPathString("string(./os/nvram[1])", ctxt);
+        }
     }
 
     if (STREQ(def->os.type, "hvm")) {
@@ -17841,6 +17903,23 @@ virDomainHugepagesFormat(virBufferPtr buf,
     virBufferAddLit(buf, "</hugepages>\n");
 }
 
+static void
+virDomainLoaderDefFormat(virBufferPtr buf,
+                         virDomainLoaderDefPtr loader)
+{
+    const char *readonly = virTristateBoolTypeToString(loader->readonly);
+    const char *type = virDomainLoaderTypeToString(loader->type);
+
+    virBufferAddLit(buf, "<loader");
+
+    if (loader->readonly)
+        virBufferAsprintf(buf, " readonly='%s'", readonly);
+
+    virBufferAsprintf(buf, " type='%s'>", type);
+
+    virBufferEscapeString(buf, "%s</loader>\n", loader->path);
+    virBufferEscapeString(buf, "<nvram>%s</nvram>\n", loader->nvram);
+}
 
 static bool
 virDomainDefHasCapabilitiesFeatures(virDomainDefPtr def)
@@ -18161,8 +18240,8 @@ virDomainDefFormatInternal(virDomainDefPtr def,
     for (i = 0; def->os.initargv && def->os.initargv[i]; i++)
         virBufferEscapeString(buf, "<initarg>%s</initarg>\n",
                               def->os.initargv[i]);
-    virBufferEscapeString(buf, "<loader>%s</loader>\n",
-                          def->os.loader);
+    if (def->os.loader)
+        virDomainLoaderDefFormat(buf, def->os.loader);
     virBufferEscapeString(buf, "<kernel>%s</kernel>\n",
                           def->os.kernel);
     virBufferEscapeString(buf, "<initrd>%s</initrd>\n",
index 1107fa80212e28f3380f084eb33cea2e446768ec..b5b4c675c579ed716b88c5d6246849c2afbe61fe 100644 (file)
@@ -1628,6 +1628,26 @@ struct _virDomainBIOSDef {
     int rt_delay;
 };
 
+typedef enum {
+    VIR_DOMAIN_LOADER_TYPE_ROM = 0,
+    VIR_DOMAIN_LOADER_TYPE_PFLASH,
+
+    VIR_DOMAIN_LOADER_TYPE_LAST
+} virDomainLoader;
+
+VIR_ENUM_DECL(virDomainLoader)
+
+typedef struct _virDomainLoaderDef virDomainLoaderDef;
+typedef virDomainLoaderDef *virDomainLoaderDefPtr;
+struct _virDomainLoaderDef {
+    char *path;
+    int readonly;   /* enum virTristateBool */
+    virDomainLoader type;
+    char *nvram;    /* path to non-volatile RAM */
+};
+
+void virDomainLoaderDefFree(virDomainLoaderDefPtr loader);
+
 /* Operating system configuration data & machine / arch */
 typedef struct _virDomainOSDef virDomainOSDef;
 typedef virDomainOSDef *virDomainOSDefPtr;
@@ -1647,7 +1667,7 @@ struct _virDomainOSDef {
     char *cmdline;
     char *dtb;
     char *root;
-    char *loader;
+    virDomainLoaderDefPtr loader;
     char *bootloader;
     char *bootloaderArgs;
     int smbios_mode;
index 10ebd121b96758d6af57d42e15be91507702a873..fdf454870045e7e357aa4cf0e8fdc5ef5a115ec8 100644 (file)
@@ -314,6 +314,9 @@ virDomainLifecycleTypeFromString;
 virDomainLifecycleTypeToString;
 virDomainListFree;
 virDomainLiveConfigHelperMethod;
+virDomainLoaderDefFree;
+virDomainLoaderTypeFromString;
+virDomainLoaderTypeToString;
 virDomainLockFailureTypeFromString;
 virDomainLockFailureTypeToString;
 virDomainMemballoonModelTypeFromString;
index 7b87a31bb4d9706931f6939f3e2a051d15d3209f..c67b3ad368868e63d30bc4b5e242c6a73767c99e 100644 (file)
@@ -7528,7 +7528,7 @@ qemuBuildCommandLine(virConnectPtr conn,
 
     if (def->os.loader) {
         virCommandAddArg(cmd, "-bios");
-        virCommandAddArg(cmd, def->os.loader);
+        virCommandAddArg(cmd, def->os.loader->path);
     }
 
     /* Set '-m MB' based on maxmem, because the lower 'memory' limit
@@ -11359,7 +11359,8 @@ qemuParseCommandLine(virCapsPtr qemuCaps,
                 goto error;
         } else if (STREQ(arg, "-bios")) {
             WANT_VALUE();
-            if (VIR_STRDUP(def->os.loader, val) < 0)
+            if (VIR_ALLOC(def->os.loader) < 0 ||
+                VIR_STRDUP(def->os.loader->path, val) < 0)
                 goto error;
         } else if (STREQ(arg, "-initrd")) {
             WANT_VALUE();
index 9c3860be6f70b45e66ec9192d692325d49a324bb..a06ba4425bfaa2977ad4a5d28f4b76c4a3b8973a 100644 (file)
@@ -1006,8 +1006,8 @@ get_files(vahControl * ctl)
         if (vah_add_file(&buf, ctl->def->os.dtb, "r") != 0)
             goto cleanup;
 
-    if (ctl->def->os.loader && ctl->def->os.loader)
-        if (vah_add_file(&buf, ctl->def->os.loader, "r") != 0)
+    if (ctl->def->os.loader && ctl->def->os.loader->path)
+        if (vah_add_file(&buf, ctl->def->os.loader->path, "r") != 0)
             goto cleanup;
 
     for (i = 0; i < ctl->def->ngraphics; i++) {
index b9858ee0e803f48a33e466d83dc69f28d710772d..684108d4b8aa0938533edfcb759dd0c01f6564b4 100644 (file)
@@ -988,7 +988,12 @@ vboxSetBootDeviceOrder(virDomainDefPtr def, vboxGlobalData *data,
     VIR_DEBUG("def->os.initrd           %s", def->os.initrd);
     VIR_DEBUG("def->os.cmdline          %s", def->os.cmdline);
     VIR_DEBUG("def->os.root             %s", def->os.root);
-    VIR_DEBUG("def->os.loader           %s", def->os.loader);
+    if (def->os.loader) {
+        VIR_DEBUG("def->os.loader->path     %s", def->os.loader->path);
+        VIR_DEBUG("def->os.loader->readonly %d", def->os.loader->readonly);
+        VIR_DEBUG("def->os.loader->type     %d", def->os.loader->type);
+        VIR_DEBUG("def->os.loader->nvram    %s", def->os.loader->nvram);
+    }
     VIR_DEBUG("def->os.bootloader       %s", def->os.bootloader);
     VIR_DEBUG("def->os.bootloaderArgs   %s", def->os.bootloaderArgs);
 
index 723544aed9e388c0d16b70df298e01f6db762c39..e4fa7cde68a94c7f1eeb6712b83c32fbf7669eee 100644 (file)
@@ -1430,7 +1430,8 @@ xenapiDomainGetXMLDesc(virDomainPtr dom, unsigned int flags)
             VIR_FREE(boot_policy);
             goto error;
         }
-        if (VIR_STRDUP(defPtr->os.loader, "pygrub") < 0) {
+        if (VIR_ALLOC(defPtr->os.loader) < 0 ||
+            VIR_STRDUP(defPtr->os.loader->path, "pygrub") < 0) {
             VIR_FREE(boot_policy);
             goto error;
         }
index bab67de59dbdfb29461570af0e3ae46aa3f94a25..32954f3638cc4561c1a2a3baad3d50cf524590be 100644 (file)
@@ -1065,7 +1065,8 @@ xenParseOS(virConfPtr conf, virDomainDefPtr def)
     if (STREQ(def->os.type, "hvm")) {
         const char *boot;
 
-       if (xenConfigCopyString(conf, "kernel", &def->os.loader) < 0)
+        if (VIR_ALLOC(def->os.loader) < 0 ||
+            xenConfigCopyString(conf, "kernel", &def->os.loader->path) < 0)
             return -1;
 
         if (xenConfigGetString(conf, "boot", &boot, "c") < 0)
@@ -1738,8 +1739,8 @@ xenFormatOS(virConfPtr conf, virDomainDefPtr def)
         if (xenXMConfigSetString(conf, "builder", "hvm") < 0)
             return -1;
 
-        if (def->os.loader &&
-            xenXMConfigSetString(conf, "kernel", def->os.loader) < 0)
+        if (def->os.loader && def->os.loader->path &&
+            xenXMConfigSetString(conf, "kernel", def->os.loader->path) < 0)
             return -1;
 
         for (i = 0; i < def->os.nBootDevs; i++) {
index 6c48e970ccce83f3285a15f21578fbbf8183fd01..6623ea82d9458461b5718f3d2df2135953170f24 100644 (file)
@@ -93,13 +93,15 @@ xenParseSxprOS(const struct sexpr *node,
                int hvm)
 {
     if (hvm) {
-        if (sexpr_node_copy(node, "domain/image/hvm/loader", &def->os.loader) < 0)
+        if (VIR_ALLOC(def->os.loader) < 0)
             goto error;
-        if (def->os.loader == NULL) {
-            if (sexpr_node_copy(node, "domain/image/hvm/kernel", &def->os.loader) < 0)
+        if (sexpr_node_copy(node, "domain/image/hvm/loader", &def->os.loader->path) < 0)
+            goto error;
+        if (def->os.loader->path == NULL) {
+            if (sexpr_node_copy(node, "domain/image/hvm/kernel", &def->os.loader->path) < 0)
                 goto error;
 
-            if (def->os.loader == NULL) {
+            if (def->os.loader->path == NULL) {
                 virReportError(VIR_ERR_INTERNAL_ERROR,
                                "%s", _("domain information incomplete, missing HVM loader"));
                 return -1;
@@ -128,7 +130,7 @@ xenParseSxprOS(const struct sexpr *node,
     /* If HVM kenrel == loader, then old xend, so kill off kernel */
     if (hvm &&
         def->os.kernel &&
-        STREQ(def->os.kernel, def->os.loader)) {
+        STREQ(def->os.kernel, def->os.loader->path)) {
         VIR_FREE(def->os.kernel);
     }
     /* Drop kernel argument that has no value */
@@ -2280,9 +2282,9 @@ xenFormatSxpr(virConnectPtr conn,
         if (hvm) {
             char bootorder[VIR_DOMAIN_BOOT_LAST+1];
             if (def->os.kernel)
-                virBufferEscapeSexpr(&buf, "(loader '%s')", def->os.loader);
+                virBufferEscapeSexpr(&buf, "(loader '%s')", def->os.loader->path);
             else
-                virBufferEscapeSexpr(&buf, "(kernel '%s')", def->os.loader);
+                virBufferEscapeSexpr(&buf, "(kernel '%s')", def->os.loader->path);
 
             virBufferAsprintf(&buf, "(vcpus %u)", def->maxvcpus);
             if (def->vcpus < def->maxvcpus)
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-bios-nvram.xml b/tests/qemuxml2argvdata/qemuxml2argv-bios-nvram.xml
new file mode 100644 (file)
index 0000000..d8270b1
--- /dev/null
@@ -0,0 +1,40 @@
+<domain type='qemu'>
+  <name>test-bios</name>
+  <uuid>362d1fc1-df7d-193e-5c18-49a71bd1da66</uuid>
+  <memory unit='KiB'>1048576</memory>
+  <currentMemory unit='KiB'>1048576</currentMemory>
+  <vcpu placement='static'>1</vcpu>
+  <os>
+    <type arch='x86_64' machine='pc'>hvm</type>
+    <loader readonly='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.fd</loader>
+    <nvram>/usr/share/OVMF/OVMF_VARS.fd</nvram>
+    <boot dev='hd'/>
+    <bootmenu enable='yes'/>
+  </os>
+  <features>
+    <acpi/>
+  </features>
+  <clock offset='utc'/>
+  <on_poweroff>destroy</on_poweroff>
+  <on_reboot>restart</on_reboot>
+  <on_crash>restart</on_crash>
+  <devices>
+    <emulator>/usr/bin/qemu</emulator>
+    <disk type='block' device='disk'>
+      <source dev='/dev/HostVG/QEMUGuest1'/>
+      <target dev='hda' bus='ide'/>
+      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
+    </disk>
+    <controller type='usb' index='0'/>
+    <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
+    <serial type='pty'>
+      <target port='0'/>
+    </serial>
+    <console type='pty'>
+      <target type='serial' port='0'/>
+    </console>
+    <input type='tablet' bus='usb'/>
+    <memballoon model='virtio'/>
+  </devices>
+</domain>
index d469b8b5681231f3102218e3ee09ce688749a74f..d49f5f4d0755240e0e1ba3f458ba4d1dbeb0d5dd 100644 (file)
@@ -6,7 +6,7 @@
   <vcpu placement='static'>1</vcpu>
   <os>
     <type arch='x86_64' machine='pc-i440fx-1.4'>hvm</type>
-    <loader>/usr/share/seabios/bios.bin</loader>
+    <loader type='rom'>/usr/share/seabios/bios.bin</loader>
     <boot dev='hd'/>
   </os>
   <features>
index 03c05daf747efec83b42be42262014237ce04401..34cdb978415c2a43693b2ef7b473c004892c132a 100644 (file)
@@ -396,6 +396,8 @@ mymain(void)
     DO_TEST_DIFFERENT("numatune-memnode");
     DO_TEST("numatune-memnode-no-memory");
 
+    DO_TEST("bios-nvram");
+
     virObjectUnref(driver.caps);
     virObjectUnref(driver.xmlopt);
 
index 69fe9ef8b82d443122fcae6b2a7aa8469f5ceca5..761952cecbacd5f1ff23c0d444d1256270d1913f 100644 (file)
@@ -6,7 +6,7 @@
   <vcpu placement='static'>1</vcpu>
   <os>
     <type>hvm</type>
-    <loader>/usr/lib/xen/boot/hvmloader</loader>
+    <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
     <boot dev='cdrom'/>
   </os>
   <features>
index 3c3147d725ebbaf3204994a4ac2e7b8f500e0f03..2898098db26bde7d97c4661329434fb8e30382ab 100644 (file)
@@ -6,7 +6,7 @@
   <vcpu placement='static'>1</vcpu>
   <os>
     <type>hvm</type>
-    <loader>/usr/lib/xen/boot/hvmloader</loader>
+    <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
     <boot dev='cdrom'/>
   </os>
   <features>
index 716f16b4c2984e836bbf861b833e2e6ea25ec635..a0fe30dd01a43f66cf52562b60670728bdfd1379 100644 (file)
@@ -6,7 +6,7 @@
   <vcpu placement='static'>1</vcpu>
   <os>
     <type>hvm</type>
-    <loader>/usr/lib/xen/boot/hvmloader</loader>
+    <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
     <boot dev='hd'/>
   </os>
   <features>
index 3dd648b894dc29aed4b6a3092bcb36fdf4312023..851797da678ea79364f597fd7bdd16d8098a2fd7 100644 (file)
@@ -6,7 +6,7 @@
   <vcpu placement='static'>1</vcpu>
   <os>
     <type>hvm</type>
-    <loader>/usr/lib/xen/boot/hvmloader</loader>
+    <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
     <boot dev='hd'/>
   </os>
   <features>
index 29c1335bad27a29b366bf2742035ea93e8a41368..09cfe19e81f50e735123c4d4b5b0031a86b01076 100644 (file)
@@ -6,7 +6,7 @@
   <vcpu placement='static'>2</vcpu>
   <os>
     <type>hvm</type>
-    <loader>/usr/lib/xen/boot/hvmloader</loader>
+    <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
     <kernel>/var/lib/xen/vmlinuz.2Dn2YT</kernel>
     <initrd>/var/lib/xen/initrd.img.0u-Vhq</initrd>
     <cmdline> method=http://download.fedora.devel.redhat.com/pub/fedora/linux/core/test/5.91/x86_64/os  </cmdline>
index 9c596448a40e2a3f930d717fab5cf759e39ea3e7..44c0f616229038718e88d5638a302863c0a76b98 100644 (file)
@@ -6,7 +6,7 @@
   <vcpu placement='static'>1</vcpu>
   <os>
     <type>hvm</type>
-    <loader>/usr/lib/xen/boot/hvmloader</loader>
+    <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
     <boot dev='hd'/>
   </os>
   <features>
index 67b0b95cace99f8ee02ba4f1a4ef001e7f770b61..29007f03874abcd12a6b2752daee4c2e3f4ee2d8 100644 (file)
@@ -6,7 +6,7 @@
   <vcpu placement='static'>1</vcpu>
   <os>
     <type>hvm</type>
-    <loader>/usr/lib/xen/boot/hvmloader</loader>
+    <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
     <boot dev='hd'/>
   </os>
   <features>
index 86b32e9257c897e67c1135f0c2a421b9e17162b1..3dbc999ce168f872167fc88984bccb9c28fcd837 100644 (file)
@@ -6,7 +6,7 @@
   <vcpu placement='static'>1</vcpu>
   <os>
     <type>hvm</type>
-    <loader>/usr/lib/xen/boot/hvmloader</loader>
+    <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
     <boot dev='hd'/>
   </os>
   <features>
index ed7da80d779dcd8e3605d1b3870cf0e7856c6aff..d96350ebe2b99df1d1ff63e0da1c25791a6f1623 100644 (file)
@@ -6,7 +6,7 @@
   <vcpu placement='static'>1</vcpu>
   <os>
     <type>hvm</type>
-    <loader>/usr/lib/xen/boot/hvmloader</loader>
+    <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
     <boot dev='hd'/>
   </os>
   <features>
index ed3fde64e36ab1f20a5e5fe7f5679319e8dd0d5c..7ad377c0513b659ede41f769a27d609fe420c618 100644 (file)
@@ -6,7 +6,7 @@
   <vcpu placement='static'>1</vcpu>
   <os>
     <type>hvm</type>
-    <loader>/usr/lib/xen/boot/hvmloader</loader>
+    <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
     <boot dev='hd'/>
   </os>
   <features>
index 7f5a729b5cff23e098248663332f76ccd5187d65..adba6cba316491e4af97a45410fe4b577c635c3d 100644 (file)
@@ -6,7 +6,7 @@
   <vcpu placement='static'>1</vcpu>
   <os>
     <type>hvm</type>
-    <loader>/usr/lib/xen/boot/hvmloader</loader>
+    <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
     <boot dev='hd'/>
   </os>
   <features>
index 10f84dc8824a1c4f59380e76d8bdbf46cc83da7e..b6c36018db817d96f2bd88bb4863b7167351eb15 100644 (file)
@@ -6,7 +6,7 @@
   <vcpu placement='static'>1</vcpu>
   <os>
     <type>hvm</type>
-    <loader>/usr/lib/xen/boot/hvmloader</loader>
+    <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
     <boot dev='hd'/>
   </os>
   <features>
index a3fd2311dad99e523585f0ead593ed3be11ddbc3..dabe679d7be7b8c2158bb8f580e3f2dfa490b67c 100644 (file)
@@ -6,7 +6,7 @@
   <vcpu placement='static'>1</vcpu>
   <os>
     <type>hvm</type>
-    <loader>/usr/lib/xen/boot/hvmloader</loader>
+    <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
     <boot dev='hd'/>
   </os>
   <features>
index b3f77c97dcbc0065b4bb27eef9fc38187b15e019..fb19d740de15220c9797638c4b229b6741462cd1 100644 (file)
@@ -6,7 +6,7 @@
   <vcpu placement='static'>1</vcpu>
   <os>
     <type>hvm</type>
-    <loader>/usr/lib/xen/boot/hvmloader</loader>
+    <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
     <boot dev='hd'/>
   </os>
   <features>
index e2171613e7410ba58d848d0773bde99c5c461c84..5aa425b32130956491812ccbf659ed2de1f36aaa 100644 (file)
@@ -6,7 +6,7 @@
   <vcpu placement='static'>1</vcpu>
   <os>
     <type>hvm</type>
-    <loader>/usr/lib/xen/boot/hvmloader</loader>
+    <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
     <boot dev='hd'/>
   </os>
   <features>
index 3ad22649c43f649c10ccf6f5880d3fec4b42c1d7..3c2ca210973a402c47959368afa683d2b8e1c818 100644 (file)
@@ -6,7 +6,7 @@
   <vcpu placement='static'>1</vcpu>
   <os>
     <type>hvm</type>
-    <loader>/usr/lib/xen/boot/hvmloader</loader>
+    <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
     <boot dev='hd'/>
   </os>
   <features>
index 001df567e84dffb5ed68f855e58a0b4c85203dd7..160edbdb6c5dd3f329057d19abe88bce51181a3d 100644 (file)
@@ -6,7 +6,7 @@
   <vcpu placement='static'>1</vcpu>
   <os>
     <type>hvm</type>
-    <loader>/usr/lib/xen/boot/hvmloader</loader>
+    <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
     <boot dev='hd'/>
   </os>
   <features>
index c2496fde63b5a04e1a4f702880a07775e2f336e0..4396efc4266b254fa645a5e44b7265680ac1923f 100644 (file)
@@ -6,7 +6,7 @@
   <vcpu placement='static'>1</vcpu>
   <os>
     <type>hvm</type>
-    <loader>/usr/lib/xen/boot/hvmloader</loader>
+    <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
     <boot dev='hd'/>
   </os>
   <features>
index 6dc047ecd904550f8c567e1d788d17cd552f44e1..3d17b5865742bbcdfb90bf73a01861a6aef1ef73 100644 (file)
@@ -6,7 +6,7 @@
   <vcpu placement='static'>1</vcpu>
   <os>
     <type>hvm</type>
-    <loader>/usr/lib/xen/boot/hvmloader</loader>
+    <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
     <boot dev='hd'/>
   </os>
   <features>
index 7ccaeacf7f6417668c2f069c780d0a14549a50eb..fc3d457f3c561f7afedac70769d8a89d02beadf9 100644 (file)
@@ -6,7 +6,7 @@
   <vcpu placement='static'>1</vcpu>
   <os>
     <type>hvm</type>
-    <loader>/usr/lib/xen/boot/hvmloader</loader>
+    <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
     <boot dev='hd'/>
   </os>
   <features>
index b5ad4134e14a6575527d7f759d33f0b7384f5912..14b54f1b0ef8cb4fdaf05b0cdb0925302e842a7b 100644 (file)
@@ -6,7 +6,7 @@
   <vcpu placement='static'>1</vcpu>
   <os>
     <type>hvm</type>
-    <loader>/usr/lib/xen/boot/hvmloader</loader>
+    <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
     <boot dev='hd'/>
   </os>
   <features>
index 7183e792c89cc616ee8419de71a285d9201cf68d..912df564bbd8a55ded1c983d591c07eb9dfaa898 100644 (file)
@@ -6,7 +6,7 @@
   <vcpu placement='static'>1</vcpu>
   <os>
     <type>hvm</type>
-    <loader>/usr/lib/xen/boot/hvmloader</loader>
+    <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
     <boot dev='hd'/>
   </os>
   <features>
index 7183e792c89cc616ee8419de71a285d9201cf68d..912df564bbd8a55ded1c983d591c07eb9dfaa898 100644 (file)
@@ -6,7 +6,7 @@
   <vcpu placement='static'>1</vcpu>
   <os>
     <type>hvm</type>
-    <loader>/usr/lib/xen/boot/hvmloader</loader>
+    <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
     <boot dev='hd'/>
   </os>
   <features>
index ae90e339ec52765bea6f81aae212024b7b9cc9d2..19eac3b0685122f8680c2da498b81f019cc0ab92 100644 (file)
@@ -6,7 +6,7 @@
   <vcpu placement='static'>1</vcpu>
   <os>
     <type>hvm</type>
-    <loader>/usr/lib/xen/boot/hvmloader</loader>
+    <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
     <boot dev='hd'/>
   </os>
   <features>
index f81c47a6e91264cab593cf39d1d1c8d53d54cbd5..40ac8a97f008dbfc3cc169d2a17c24e0a09f5880 100644 (file)
@@ -6,7 +6,7 @@
   <vcpu placement='static'>1</vcpu>
   <os>
     <type>hvm</type>
-    <loader>/usr/lib/xen/boot/hvmloader</loader>
+    <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
     <boot dev='hd'/>
   </os>
   <features>
index c783d930b17d05cb621b70521125ca7fc092f980..97f2bebdb3a0a3c6a1258879f389c5fe3cc2a776 100644 (file)
@@ -6,7 +6,7 @@
   <vcpu placement='static'>1</vcpu>
   <os>
     <type>hvm</type>
-    <loader>/usr/lib/xen/boot/hvmloader</loader>
+    <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
     <boot dev='hd'/>
   </os>
   <features>
index bd3b107d2bc82ab4e5d6f2221950bf7ce588029b..493d1b597ed3d6d3d81709def31bb74b38ea49a6 100644 (file)
@@ -6,7 +6,7 @@
   <vcpu placement='static'>1</vcpu>
   <os>
     <type>hvm</type>
-    <loader>/usr/lib/xen/boot/hvmloader</loader>
+    <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
     <boot dev='hd'/>
   </os>
   <features>
index c783d930b17d05cb621b70521125ca7fc092f980..97f2bebdb3a0a3c6a1258879f389c5fe3cc2a776 100644 (file)
@@ -6,7 +6,7 @@
   <vcpu placement='static'>1</vcpu>
   <os>
     <type>hvm</type>
-    <loader>/usr/lib/xen/boot/hvmloader</loader>
+    <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
     <boot dev='hd'/>
   </os>
   <features>
index 00d18ce52fe94d1a8cf6b2f178f8b09d04508f80..a3cd7be711c69d4ea5ab5d6668fdf547b9b97007 100644 (file)
@@ -6,7 +6,7 @@
   <vcpu placement='static'>1</vcpu>
   <os>
     <type>hvm</type>
-    <loader>/usr/lib/xen/boot/hvmloader</loader>
+    <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
     <boot dev='hd'/>
   </os>
   <features>
index de3a7e20f5548b158f8f280a6a122b0d09da9f08..623eaa121a6e93c8fc155d88c6533a9583b0cc25 100644 (file)
@@ -6,7 +6,7 @@
   <vcpu placement='static'>1</vcpu>
   <os>
     <type arch='i686' machine='xenfv'>hvm</type>
-    <loader>/usr/lib/xen/boot/hvmloader&amp;test</loader>
+    <loader type='rom'>/usr/lib/xen/boot/hvmloader&amp;test</loader>
     <boot dev='cdrom'/>
   </os>
   <features>
index 75f872423a18ec2892922ed273e6cf158ca8abe2..57a6531c4548ae335d067daa6f015c829d34acf9 100644 (file)
@@ -6,7 +6,7 @@
   <vcpu placement='static'>1</vcpu>
   <os>
     <type arch='i686' machine='xenfv'>hvm</type>
-    <loader>/usr/lib/xen/boot/hvmloader</loader>
+    <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
     <boot dev='cdrom'/>
   </os>
   <features>
index e5741b6e1e2e44b4210d3a66699efccd5f77f492..f6ebcf6dc3a6dc491c08171131f78c4905a98a9d 100644 (file)
@@ -6,7 +6,7 @@
   <vcpu placement='static'>1</vcpu>
   <os>
     <type arch='i686' machine='xenfv'>hvm</type>
-    <loader>/usr/lib/xen/boot/hvmloader</loader>
+    <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
     <boot dev='cdrom'/>
   </os>
   <features>
index 8b97e5bae8fdff625234151fecbfec20e9d4e5aa..36ab389ca5273f4858318951c0a9a5d889549450 100644 (file)
@@ -6,7 +6,7 @@
   <vcpu placement='static'>1</vcpu>
   <os>
     <type arch='i686' machine='xenfv'>hvm</type>
-    <loader>/usr/lib/xen/boot/hvmloader</loader>
+    <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
     <boot dev='cdrom'/>
   </os>
   <features>
index f22c0853f83520447ca8dfef9602dcb363e481f0..3618baeb406dfc4223ba0f6765201951829f7ee4 100644 (file)
@@ -6,7 +6,7 @@
   <vcpu placement='static'>1</vcpu>
   <os>
     <type arch='i686' machine='xenfv'>hvm</type>
-    <loader>/usr/lib/xen/boot/hvmloader</loader>
+    <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
     <boot dev='cdrom'/>
   </os>
   <features>
index 177bb6ae70806771ca2f95abcc87dbd68bcf89eb..6a2a439017290b97e4703a786f353b293164c8b2 100644 (file)
@@ -6,7 +6,7 @@
   <vcpu placement='static'>1</vcpu>
   <os>
     <type arch='i686' machine='xenfv'>hvm</type>
-    <loader>/usr/lib/xen/boot/hvmloader</loader>
+    <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
     <boot dev='cdrom'/>
   </os>
   <features>
index f22c0853f83520447ca8dfef9602dcb363e481f0..3618baeb406dfc4223ba0f6765201951829f7ee4 100644 (file)
@@ -6,7 +6,7 @@
   <vcpu placement='static'>1</vcpu>
   <os>
     <type arch='i686' machine='xenfv'>hvm</type>
-    <loader>/usr/lib/xen/boot/hvmloader</loader>
+    <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
     <boot dev='cdrom'/>
   </os>
   <features>
index a5926309ba6ca402496349f36c2ac2d9fc080db2..7d6014d0164c8903c0335373b85f5ab373522302 100644 (file)
@@ -6,7 +6,7 @@
   <vcpu placement='static'>1</vcpu>
   <os>
     <type arch='i686' machine='xenfv'>hvm</type>
-    <loader>/usr/lib/xen/boot/hvmloader</loader>
+    <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
     <boot dev='cdrom'/>
   </os>
   <features>
index 738e5ab4dcfac56bbb13ba97b02d7aa2c9eebdc7..9b1fd268cc0e57a518cc3f2e6fc95ff2c0d935b4 100644 (file)
@@ -6,7 +6,7 @@
   <vcpu placement='static'>1</vcpu>
   <os>
     <type arch='i686' machine='xenfv'>hvm</type>
-    <loader>/usr/lib/xen/boot/hvmloader</loader>
+    <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
     <boot dev='cdrom'/>
   </os>
   <features>
index 753831aee33fff06d87fc974465b04ee7462c84c..a64d40baac0ed3e3df5200023f355fc98d4188e5 100644 (file)
@@ -6,7 +6,7 @@
   <vcpu placement='static'>1</vcpu>
   <os>
     <type arch='i686' machine='xenfv'>hvm</type>
-    <loader>/usr/lib/xen/boot/hvmloader</loader>
+    <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
     <boot dev='cdrom'/>
   </os>
   <features>
index 1a55080641260963fc1919791dc086f54e03e27e..ce2cddb7a23616c4b4fe62b581fd81f313e442e1 100644 (file)
@@ -6,7 +6,7 @@
   <vcpu placement='static'>1</vcpu>
   <os>
     <type arch='i686' machine='xenfv'>hvm</type>
-    <loader>/usr/lib/xen/boot/hvmloader</loader>
+    <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
     <boot dev='cdrom'/>
   </os>
   <features>
index 0d2ac79bd1c7bf64d2d4ac09d6a2c962a7a067ac..36883def00e74121cebfd88b76cb562057c375d8 100644 (file)
@@ -6,7 +6,7 @@
   <vcpu placement='static'>1</vcpu>
   <os>
     <type arch='i686' machine='xenfv'>hvm</type>
-    <loader>/usr/lib/xen/boot/hvmloader</loader>
+    <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
     <boot dev='cdrom'/>
   </os>
   <features>
index d4b4ae97f3c8296080afb24d8da16a4d6fefa2a4..982f9d60b9c925703e65d0e86d8c34df28ea57a4 100644 (file)
@@ -6,7 +6,7 @@
   <vcpu placement='static'>1</vcpu>
   <os>
     <type arch='i686' machine='xenfv'>hvm</type>
-    <loader>/usr/lib/xen/boot/hvmloader</loader>
+    <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
     <boot dev='cdrom'/>
   </os>
   <features>
index 6596dfc0a44ba993eddb0a6002efb87eee711a3e..82a1d9b1ec671618188343445a50c9c51c267a4d 100644 (file)
@@ -6,7 +6,7 @@
   <vcpu placement='static'>1</vcpu>
   <os>
     <type arch='i686' machine='xenfv'>hvm</type>
-    <loader>/usr/lib/xen/boot/hvmloader</loader>
+    <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
     <boot dev='cdrom'/>
   </os>
   <features>
index 6c55abba316854352699e32f46d7ed10eb59197a..56ccbeae34f6ca49d0d9ee22919edab659ae4870 100644 (file)
@@ -6,7 +6,7 @@
   <vcpu placement='static'>1</vcpu>
   <os>
     <type arch='i686' machine='xenfv'>hvm</type>
-    <loader>/usr/lib/xen/boot/hvmloader</loader>
+    <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
     <boot dev='cdrom'/>
   </os>
   <features>
index 461f143087b859fb469e5ad7367c1808df06a47a..e2e933031711aa1ec92a99b8c9822e7077c4b0c2 100644 (file)
@@ -6,7 +6,7 @@
   <vcpu placement='static'>1</vcpu>
   <os>
     <type arch='i686' machine='xenfv'>hvm</type>
-    <loader>/usr/lib/xen/boot/hvmloader</loader>
+    <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
     <boot dev='cdrom'/>
   </os>
   <features>
index d2fa7bf4fd4871617df8710cd683fa8fc062acba..d68d77c06a07ac55b5112885d684bc44214c4151 100644 (file)
@@ -6,7 +6,7 @@
   <vcpu placement='static'>1</vcpu>
   <os>
     <type arch='i686' machine='xenfv'>hvm</type>
-    <loader>/usr/lib/xen/boot/hvmloader</loader>
+    <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
     <boot dev='cdrom'/>
   </os>
   <features>
index 60ab8bdd1429a0db32d709317d794cae68e4e04b..aa3ed5c4d66ad5ff0e0aa52d56f7535436f7a247 100644 (file)
@@ -6,7 +6,7 @@
   <vcpu placement='static'>1</vcpu>
   <os>
     <type arch='i686' machine='xenfv'>hvm</type>
-    <loader>/usr/lib/xen/boot/hvmloader</loader>
+    <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
     <boot dev='cdrom'/>
   </os>
   <features>
index 6c21cd25930da9754c139538a75c168f2ba07204..256c7227f31dd82e83c1ef5e6053eaa485133b58 100644 (file)
@@ -6,7 +6,7 @@
   <vcpu placement='static'>1</vcpu>
   <os>
     <type arch='i686' machine='xenfv'>hvm</type>
-    <loader>/usr/lib/xen/boot/hvmloader</loader>
+    <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
     <boot dev='cdrom'/>
   </os>
   <features>
index f21534e879ea3b5f8a12b241284d11322ca1275d..235c8d444422579a0552b6d2ad40425237a6cf69 100644 (file)
@@ -6,7 +6,7 @@
   <vcpu placement='static'>1</vcpu>
   <os>
     <type arch='i686' machine='xenfv'>hvm</type>
-    <loader>/usr/lib/xen/boot/hvmloader</loader>
+    <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
     <boot dev='cdrom'/>
   </os>
   <features>
index f09c16d9282465be51c658b7f29e48cd25b4143f..1429d10533b34754045b01a19c484ed4ff26d698 100644 (file)
@@ -6,7 +6,7 @@
   <vcpu placement='static'>1</vcpu>
   <os>
     <type arch='i686' machine='xenfv'>hvm</type>
-    <loader>/usr/lib/xen/boot/hvmloader</loader>
+    <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
     <boot dev='cdrom'/>
   </os>
   <features>
index 18a7ff086032fdc2be08e4491979b31680bf507a..25857f1d21e71af15fb1d447848c7e49fdb3a123 100644 (file)
@@ -6,7 +6,7 @@
   <vcpu placement='static'>1</vcpu>
   <os>
     <type arch='i686' machine='xenfv'>hvm</type>
-    <loader>/usr/lib/xen/boot/hvmloader</loader>
+    <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
     <boot dev='cdrom'/>
   </os>
   <features>
index 5cbb0079fd135ac522f3403f06435d14c854559f..31b11760b10a1e0a9ede9b3dfde58084ef628a87 100644 (file)
@@ -6,7 +6,7 @@
   <vcpu placement='static'>1</vcpu>
   <os>
     <type arch='i686' machine='xenfv'>hvm</type>
-    <loader>/usr/lib/xen/boot/hvmloader</loader>
+    <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
     <boot dev='cdrom'/>
   </os>
   <features>
index f22c0853f83520447ca8dfef9602dcb363e481f0..3618baeb406dfc4223ba0f6765201951829f7ee4 100644 (file)
@@ -6,7 +6,7 @@
   <vcpu placement='static'>1</vcpu>
   <os>
     <type arch='i686' machine='xenfv'>hvm</type>
-    <loader>/usr/lib/xen/boot/hvmloader</loader>
+    <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
     <boot dev='cdrom'/>
   </os>
   <features>
index 2a457b25fd8a93c4ca7ee4c4f0281e67f2104684..74f1be18d85150dad5f383a02a98e45d70215240 100644 (file)
@@ -6,7 +6,7 @@
   <vcpu placement='static'>1</vcpu>
   <os>
     <type arch='i686' machine='xenfv'>hvm</type>
-    <loader>/usr/lib/xen/boot/hvmloader</loader>
+    <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
     <boot dev='hd'/>
   </os>
   <features>
index f82805666d0f13f3e37d2c9c4376b9a5c1dec52f..191173422403df279303bb1e12a0a321194baa7a 100644 (file)
@@ -6,7 +6,7 @@
   <vcpu placement='static'>1</vcpu>
   <os>
     <type arch='i686' machine='xenfv'>hvm</type>
-    <loader>/usr/lib/xen/boot/hvmloader</loader>
+    <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
     <boot dev='hd'/>
   </os>
   <features>