diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in index 8a3c3b7686228d55d56006c90524470556cc2c3e..e83bdd0649abec20f62ed24b24167b965e265342 100644 --- a/docs/formatdomain.html.in +++ b/docs/formatdomain.html.in @@ -232,6 +232,7 @@ <kernel>/root/f8-i386-vmlinuz</kernel> <initrd>/root/f8-i386-initrd</initrd> <cmdline>console=ttyS0 ks=http://example.com/f8-i386/os/</cmdline> + <dtb>/root/ppc.dtb</dtb> </os> ... @@ -253,6 +254,10 @@ the kernel (or installer) at boottime. This is often used to specify an alternate primary console (eg serial port), or the installation media source / kickstart file +
dtb
+
The contents of this element specify the fully-qualified path + to the (optional) device tree binary (dtb) image in the host OS. + Since 1.0.4

Container boot

diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng index 97920653dfcf009c6a46a9f9562df8049d840337..90647df7a658ce1be79d2a286964ee48aa8c49d8 100644 --- a/docs/schemas/domaincommon.rng +++ b/docs/schemas/domaincommon.rng @@ -367,6 +367,7 @@ g3beige mac99 prep + ppce500v2 @@ -835,6 +836,11 @@ + + + + + diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 3278e9c15ec5751f8a5fb6c6eebbe1f5d4cdf6f1..a1cfc763e844cfeba0c8bc8acb069d9488c28b39 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -1849,6 +1849,7 @@ void virDomainDefFree(virDomainDefPtr def) VIR_FREE(def->os.kernel); VIR_FREE(def->os.initrd); VIR_FREE(def->os.cmdline); + VIR_FREE(def->os.dtb); VIR_FREE(def->os.root); VIR_FREE(def->os.loader); VIR_FREE(def->os.bootloader); @@ -10247,6 +10248,7 @@ virDomainDefParseXML(virCapsPtr caps, 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); } @@ -14875,6 +14877,8 @@ virDomainDefFormatInternal(virDomainDefPtr def, def->os.initrd); virBufferEscapeString(buf, " %s\n", def->os.cmdline); + virBufferEscapeString(buf, " %s\n", + def->os.dtb); virBufferEscapeString(buf, " %s\n", def->os.root); diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h index 96f11ba76d46590d9c4bd0431cc204cb85447ad5..bfc37a06a9303f0b0f545cc98e8546fef88f31b8 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h @@ -1550,6 +1550,7 @@ struct _virDomainOSDef { char *kernel; char *initrd; char *cmdline; + char *dtb; char *root; char *loader; char *bootloader;