[libvirt] [PATCH v4 0/2] qemu: -dtb option support

Sometime QEMU need load specific device tree binary images. These patches provide -dtb option support and update docs/tests. Olivia Yin (2): qemu: add support for dtb option conf: Add support for dtb option in QEMU src/qemu/qemu_capabilities.c | 6 ++++ src/qemu/qemu_capabilities.h | 1 + src/qemu/qemu_command.c | 6 ++++ tests/qemuxml2argvdata/qemuxml2argv-ppc-dtb.args | 1 + tests/qemuxml2argvdata/qemuxml2argv-ppc-dtb.xml | 28 ++++++++++++++++++++++ tests/qemuxml2argvtest.c | 2 + docs/formatdomain.html.in | 5 +++++ docs/schemas/domaincommon.rng | 5 +++++ src/conf/domain_conf.c | 4 ++++ src/conf/domain_conf.h | 1 +

Signed-off-by: Olivia Yin <hong-hua.yin@freescale.com> The "dtb" option sets the filename for the device tree. If without this option support, "-dtb file" will be converted into <qemu:commandline> in domain XML file. For example, '-dtb /media/ram/test.dtb' will be converted into <qemu:commandline> <qemu:arg value='-dtb'/> <qemu:arg value='/media/ram/test.dtb'/> </qemu:commandline> This is not very friendly. This patchset add special <dtb> tag like <kernel> and <initrd> which is easier for user to write domain XML file. <os> <type arch='ppc' machine='ppce500v2'>hvm</type> <kernel>/media/ram/uImage</kernel> <initrd>/media/ram/ramdisk</initrd> <dtb>/media/ram/test.dtb</dtb> <cmdline>root=/dev/ram rw console=ttyS0,115200</cmdline> </os> --- src/qemu/qemu_capabilities.c | 6 ++++ src/qemu/qemu_capabilities.h | 1 + src/qemu/qemu_command.c | 6 ++++ tests/qemuxml2argvdata/qemuxml2argv-ppc-dtb.args | 1 + tests/qemuxml2argvdata/qemuxml2argv-ppc-dtb.xml | 28 ++++++++++++++++++++++ tests/qemuxml2argvtest.c | 2 + 6 files changed, 44 insertions(+), 0 deletions(-) create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-ppc-dtb.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-ppc-dtb.xml diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 40022c1..7bc1ebc 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -210,6 +210,7 @@ VIR_ENUM_IMPL(virQEMUCaps, QEMU_CAPS_LAST, "rng-random", /* 130 */ "rng-egd", + "dtb", ); struct _virQEMUCaps { @@ -1177,6 +1178,10 @@ virQEMUCapsComputeCmdFlags(const char *help, if (version >= 1002000) virQEMUCapsSet(qemuCaps, QEMU_CAPS_DEVICE_VIDEO_PRIMARY); + + if (version >= 11000) + virQEMUCapsSet(qemuCaps, QEMU_CAPS_DTB); + return 0; } @@ -2294,6 +2299,7 @@ virQEMUCapsInitQMPBasic(virQEMUCapsPtr qemuCaps) virQEMUCapsSet(qemuCaps, QEMU_CAPS_NETDEV_BRIDGE); virQEMUCapsSet(qemuCaps, QEMU_CAPS_SECCOMP_SANDBOX); virQEMUCapsSet(qemuCaps, QEMU_CAPS_NO_KVM_PIT); + virQEMUCapsSet(qemuCaps, QEMU_CAPS_DTB); } diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index a895867..f373285 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -171,6 +171,7 @@ enum virQEMUCapsFlags { QEMU_CAPS_OBJECT_RNG_RANDOM = 130, /* the rng-random backend for virtio rng */ QEMU_CAPS_OBJECT_RNG_EGD = 131, /* EGD protocol daemon for rng */ + QEMU_CAPS_DTB = 132, /* -dtb available */ QEMU_CAPS_LAST, /* this must always be the last item */ }; diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 201fac1..1614f3e 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -5747,6 +5747,8 @@ qemuBuildCommandLine(virConnectPtr conn, virCommandAddArgList(cmd, "-initrd", def->os.initrd, NULL); if (def->os.cmdline) virCommandAddArgList(cmd, "-append", def->os.cmdline, NULL); + if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DTB) && def->os.dtb) + virCommandAddArgList(cmd, "-dtb", def->os.dtb, NULL); } else { virCommandAddArgList(cmd, "-bootloader", def->os.bootloader, NULL); } @@ -8922,6 +8924,10 @@ virDomainDefPtr qemuParseCommandLine(virCapsPtr qemuCaps, WANT_VALUE(); if (!(def->os.cmdline = strdup(val))) goto no_memory; + } else if (STREQ(arg, "-dtb")) { + WANT_VALUE(); + if (!(def->os.dtb = strdup(val))) + goto no_memory; } else if (STREQ(arg, "-boot")) { const char *token = NULL; WANT_VALUE(); diff --git a/tests/qemuxml2argvdata/qemuxml2argv-ppc-dtb.args b/tests/qemuxml2argvdata/qemuxml2argv-ppc-dtb.args new file mode 100644 index 0000000..99ee22c --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-ppc-dtb.args @@ -0,0 +1 @@ +LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test /usr/bin/qemu-system-ppc -M ppce500v2 -enable-kvm -m 256 -nographic -kernel /media/ram/uImage -initrd /media/ram/ramdisk -append "root=/dev/ram rw console=ttyS0,115200" -dtb /media/ram/test.dtb -serial pty diff --git a/tests/qemuxml2argvdata/qemuxml2argv-ppc-dtb.xml b/tests/qemuxml2argvdata/qemuxml2argv-ppc-dtb.xml new file mode 100644 index 0000000..3674621 --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-ppc-dtb.xml @@ -0,0 +1,28 @@ +<domain type='kvm'> + <name>QEMUGuest1</name> + <uuid>49545eb3-75e1-2d0a-acdd-f0294406c99e</uuid> + <memory unit='KiB'>262144</memory> + <currentMemory unit='KiB'>262144</currentMemory> + <vcpu placement='static'>1</vcpu> + <os> + <type arch='ppc' machine='ppce500v2'>hvm</type> + <kernel>/media/ram/uImage</kernel> + <initrd>/media/ram/ramdisk</initrd> + <cmdline>root=/dev/ram rw console=ttyS0,115200</cmdline> + <dtb>/media/ram/test.dtb</dtb> + </os> + <clock offset='utc'/> + <on_poweroff>destroy</on_poweroff> + <on_reboot>restart</on_reboot> + <on_crash>destroy</on_crash> + <devices> + <emulator>/usr/bin/qemu-system-ppc</emulator> + <serial type='pty'> + <target port='0'/> + </serial> + <console type='pty'> + <target type='serial' port='0'/> + </console> + <memballoon model='virtio'/> + </devices> +</domain> diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index 2354733..ef24be3 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -889,6 +889,8 @@ mymain(void) DO_TEST("virtio-rng-egd", QEMU_CAPS_DEVICE, QEMU_CAPS_DEVICE_VIRTIO_RNG, QEMU_CAPS_OBJECT_RNG_EGD); + DO_TEST("ppc-dtb", QEMU_CAPS_DTB); + virObjectUnref(driver.config); virObjectUnref(driver.caps); VIR_FREE(map); -- 1.6.4

On Wed, Mar 13, 2013 at 12:35:54PM +0800, Olivia Yin wrote:
Signed-off-by: Olivia Yin <hong-hua.yin@freescale.com>
The "dtb" option sets the filename for the device tree. If without this option support, "-dtb file" will be converted into <qemu:commandline> in domain XML file. For example, '-dtb /media/ram/test.dtb' will be converted into <qemu:commandline> <qemu:arg value='-dtb'/> <qemu:arg value='/media/ram/test.dtb'/> </qemu:commandline>
This is not very friendly. This patchset add special <dtb> tag like <kernel> and <initrd> which is easier for user to write domain XML file. <os> <type arch='ppc' machine='ppce500v2'>hvm</type> <kernel>/media/ram/uImage</kernel> <initrd>/media/ram/ramdisk</initrd> <dtb>/media/ram/test.dtb</dtb> <cmdline>root=/dev/ram rw console=ttyS0,115200</cmdline> </os> --- src/qemu/qemu_capabilities.c | 6 ++++ src/qemu/qemu_capabilities.h | 1 + src/qemu/qemu_command.c | 6 ++++ tests/qemuxml2argvdata/qemuxml2argv-ppc-dtb.args | 1 + tests/qemuxml2argvdata/qemuxml2argv-ppc-dtb.xml | 28 ++++++++++++++++++++++ tests/qemuxml2argvtest.c | 2 + 6 files changed, 44 insertions(+), 0 deletions(-) create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-ppc-dtb.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-ppc-dtb.xml
ACK Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|

On 03/12/2013 10:35 PM, Olivia Yin wrote:
Signed-off-by: Olivia Yin <hong-hua.yin@freescale.com>
Libvirt does not (currently) require Signed-off-by lines (but someday, we may decide to have a flag day where we declare that all future contributions follow the same developer certificate of origin as what the qemu and kernel projects currently use). But if you are going to include one, it is typical to put it...
The "dtb" option sets the filename for the device tree. If without this option support, "-dtb file" will be converted into <qemu:commandline> in domain XML file. For example, '-dtb /media/ram/test.dtb' will be converted into <qemu:commandline> <qemu:arg value='-dtb'/> <qemu:arg value='/media/ram/test.dtb'/> </qemu:commandline>
This is not very friendly. This patchset add special <dtb> tag like <kernel> and <initrd> which is easier for user to write domain XML file. <os> <type arch='ppc' machine='ppce500v2'>hvm</type> <kernel>/media/ram/uImage</kernel> <initrd>/media/ram/ramdisk</initrd> <dtb>/media/ram/test.dtb</dtb> <cmdline>root=/dev/ram rw console=ttyS0,115200</cmdline> </os>
...here, at the bottom of the commit message.
--- src/qemu/qemu_capabilities.c | 6 ++++ src/qemu/qemu_capabilities.h | 1 + src/qemu/qemu_command.c | 6 ++++ tests/qemuxml2argvdata/qemuxml2argv-ppc-dtb.args | 1 + tests/qemuxml2argvdata/qemuxml2argv-ppc-dtb.xml | 28 ++++++++++++++++++++++ tests/qemuxml2argvtest.c | 2 + 6 files changed, 44 insertions(+), 0 deletions(-) create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-ppc-dtb.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-ppc-dtb.xml
Even after applying patch 2/2 and fixing the RNG to accept the new machine type of your new .xml file, this patch fails 'make check' because you forgot to update existing tests: 259) QEMU XML-2-ARGV ppc-dtb ... libvirt: Domain Config error : internal error No guest options available for arch 'ppc' FAILED FAIL: qemuxml2argvtest ... 17) QEMU Help String Parsing qemu-kvm-1.2.0 ... qemu-kvm-1.2.0: computed flags do not match: got 0x00000000000000106fb4bff2f1bffffffdeffd76fffdfd6e, expected 0x00000000000000006fb4bff2f1bffffffdeffd76fffdfd6e Extra flag 132 FAILED FAIL: qemuhelptest At this point, I gave up - it looks like you are the first person to attempt arch='ppc' in the testsuite, and that we haven't prepped the testsuite to handle this yet. Can you please repost your patches, and this time ensure that 'make check' passes after each patch is applies? Reorder things so that domain_conf is edited before the qemu files, and make sure the subject lines are accurate (2/2 was about XML and not QEMU, and only 1/2 added qemu support for the new XML). Also, don't forget Dan's comment to tweak the security managers to allow SELinux labeling of the dtb file. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org

-----Original Message----- From: Eric Blake [mailto:eblake@redhat.com] Sent: Thursday, March 14, 2013 6:48 AM To: Yin Olivia-R63875 Cc: libvir-list@redhat.com Subject: Re: [libvirt] [PATCH v4 1/2] qemu: add support for dtb option
On 03/12/2013 10:35 PM, Olivia Yin wrote:
Signed-off-by: Olivia Yin <hong-hua.yin@freescale.com>
Libvirt does not (currently) require Signed-off-by lines (but someday, we may decide to have a flag day where we declare that all future contributions follow the same developer certificate of origin as what the qemu and kernel projects currently use). But if you are going to include one, it is typical to put it...
The "dtb" option sets the filename for the device tree. If without this option support, "-dtb file" will be converted into <qemu:commandline> in domain XML file. For example, '-dtb /media/ram/test.dtb' will be converted into <qemu:commandline> <qemu:arg value='-dtb'/> <qemu:arg value='/media/ram/test.dtb'/> </qemu:commandline>
This is not very friendly. This patchset add special <dtb> tag like <kernel> and <initrd> which is easier for user to write domain XML file. <os> <type arch='ppc' machine='ppce500v2'>hvm</type> <kernel>/media/ram/uImage</kernel> <initrd>/media/ram/ramdisk</initrd> <dtb>/media/ram/test.dtb</dtb> <cmdline>root=/dev/ram rw console=ttyS0,115200</cmdline> </os>
...here, at the bottom of the commit message.
--- src/qemu/qemu_capabilities.c | 6 ++++ src/qemu/qemu_capabilities.h | 1 + src/qemu/qemu_command.c | 6 ++++ tests/qemuxml2argvdata/qemuxml2argv-ppc-dtb.args | 1 + tests/qemuxml2argvdata/qemuxml2argv-ppc-dtb.xml | 28 ++++++++++++++++++++++ tests/qemuxml2argvtest.c | 2 + 6 files changed, 44 insertions(+), 0 deletions(-) create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-ppc-dtb.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-ppc-dtb.xml
Even after applying patch 2/2 and fixing the RNG to accept the new machine type of your new .xml file, this patch fails 'make check' because you forgot to update existing tests:
Yes, I need also add testQemuAddPPCGuest() in tests/testutilsqemu.c.
259) QEMU XML-2-ARGV ppc-dtb ... libvirt: Domain Config error : internal error No guest options available for arch 'ppc' FAILED FAIL: qemuxml2argvtest
... 17) QEMU Help String Parsing qemu-kvm-1.2.0 ... qemu-kvm-1.2.0: computed flags do not match: got 0x00000000000000106fb4bff2f1bffffffdeffd76fffdfd6e, expected 0x00000000000000006fb4bff2f1bffffffdeffd76fffdfd6e Extra flag 132 FAILED FAIL: qemuhelptest
Thanks for the detail information. It needs add QEMU_CAPS_DTB flags in the newer versions.
At this point, I gave up - it looks like you are the first person to attempt arch='ppc' in the testsuite, and that we haven't prepped the testsuite to handle this yet.
I'll add testQemuAddPPCGuest() in tests/testutilsqemu.c which handle the testsuite for ppc arch. Can you please repost your patches, and this
time ensure that 'make check' passes after each patch is applies?
I'll make sure pass 'make syntax-check' and 'make check' before post next version.
Reorder things so that domain_conf is edited before the qemu files, and make sure the subject lines are accurate (2/2 was about XML and not QEMU, and only 1/2 added qemu support for the new XML).
OK. Also, don't forget Dan's
comment to tweak the security managers to allow SELinux labeling of the dtb file.
The new patchset includes: 1/3 conf: support <dtb> tag in XML domain file 2/3 qemu: add dtb option supprt 3/3 selinux: deal with dtb file Thanks a lot. Best Regards, Olivia
-- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org

Signed-off-by: Olivia Yin <hong-hua.yin@freescale.com> This patch adds support to set the device trees file. --- docs/formatdomain.html.in | 5 +++++ docs/schemas/domaincommon.rng | 5 +++++ src/conf/domain_conf.c | 4 ++++ src/conf/domain_conf.h | 1 + 4 files changed, 15 insertions(+), 0 deletions(-) diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in index 4cafc92..e589df5 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> ...</pre> @@ -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</dd> + <dt><code>dtb</code></dt> + <dd>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</dd> </dl> <h4><a name="eleemntsOSContainer">Container boot</a></h4> diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng index 372aab7..88e89dd 100644 --- a/docs/schemas/domaincommon.rng +++ b/docs/schemas/domaincommon.rng @@ -832,6 +832,11 @@ <text/> </element> </optional> + <optional> + <element name="dtb"> + <ref name="absFilePath"/> + </element> + </optional> </interleave> </define> <define name="osbootdev"> diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 717fc20..18e4906 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -1785,6 +1785,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); @@ -10063,6 +10064,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); } @@ -14675,6 +14677,8 @@ virDomainDefFormatInternal(virDomainDefPtr def, def->os.initrd); virBufferEscapeString(buf, " <cmdline>%s</cmdline>\n", def->os.cmdline); + virBufferEscapeString(buf, " <dtb>%s</dtb>\n", + def->os.dtb); virBufferEscapeString(buf, " <root>%s</root>\n", def->os.root); diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h index 2509193..03a5c33 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h @@ -1535,6 +1535,7 @@ struct _virDomainOSDef { char *kernel; char *initrd; char *cmdline; + char *dtb; char *root; char *loader; char *bootloader; -- 1.6.4

On Wed, Mar 13, 2013 at 12:35:55PM +0800, Olivia Yin wrote:
Signed-off-by: Olivia Yin <hong-hua.yin@freescale.com>
This patch adds support to set the device trees file. --- docs/formatdomain.html.in | 5 +++++ docs/schemas/domaincommon.rng | 5 +++++ src/conf/domain_conf.c | 4 ++++ src/conf/domain_conf.h | 1 + 4 files changed, 15 insertions(+), 0 deletions(-)
ACK Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|

On 03/12/2013 10:35 PM, Olivia Yin wrote:
Signed-off-by: Olivia Yin <hong-hua.yin@freescale.com>
This patch adds support to set the device trees file. ---
+ <dt><code>dtb</code></dt> + <dd>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</dd>
I've added markup that we use in other "since ..." notations, for consistency. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org

On 03/13/2013 03:58 PM, Eric Blake wrote:
On 03/12/2013 10:35 PM, Olivia Yin wrote:
Signed-off-by: Olivia Yin <hong-hua.yin@freescale.com>
This patch adds support to set the device trees file. ---
+ <dt><code>dtb</code></dt> + <dd>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</dd>
I've added markup that we use in other "since ..." notations, for consistency.
Also, I had to squash this in, to keep 'make check' happy: diff --git i/docs/schemas/domaincommon.rng w/docs/schemas/domaincommon.rng index 88e89dd..4d97892 100644 --- i/docs/schemas/domaincommon.rng +++ w/docs/schemas/domaincommon.rng @@ -367,6 +367,7 @@ <value>g3beige</value> <value>mac99</value> <value>prep</value> + <value>ppce500v2</value> </choice> </attribute> </optional> I didn't see anywhere else in our code where we validated against g3beige or mac99; so for now, I didn't feel too bad adding yet another unchecked string. But it seems like someday, we will need to add code in src/conf/domain_conf.* that lists the entire set of ppc architecture machine names that we are willing to pass on to qemu, and/or relax the RNG grammar to support an arbitrary set of machine names the way we do for arch='x86'. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org

On Wed, Mar 13, 2013 at 12:35:53PM +0800, Olivia Yin wrote:
Sometime QEMU need load specific device tree binary images. These patches provide -dtb option support and update docs/tests.
Olivia Yin (2): qemu: add support for dtb option conf: Add support for dtb option in QEMU
I'm guessing you're running without apparmour/selinux enabled. You need to update the files in src/security to deal with the new dtb files, since they'll need labelling for the security policy. Just grep for 'os.initrd' in src/security and add the equivalent code for os.dtb. This can be done as a 3rd patch - no need to change the current 2 patches you have here Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|

Hi Daniel, Thank you very much for the guide. Best Regards, Olivia
-----Original Message----- From: Daniel P. Berrange [mailto:berrange@redhat.com] Sent: Thursday, March 14, 2013 12:56 AM To: Yin Olivia-R63875 Cc: libvir-list@redhat.com Subject: Re: [libvirt] [PATCH v4 0/2] qemu: -dtb option support
On Wed, Mar 13, 2013 at 12:35:53PM +0800, Olivia Yin wrote:
Sometime QEMU need load specific device tree binary images. These patches provide -dtb option support and update docs/tests.
Olivia Yin (2): qemu: add support for dtb option conf: Add support for dtb option in QEMU
I'm guessing you're running without apparmour/selinux enabled. You need to update the files in src/security to deal with the new dtb files, since they'll need labelling for the security policy. Just grep for 'os.initrd' in src/security and add the equivalent code for os.dtb. This can be done as a 3rd patch - no need to change the current 2 patches you have here
Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt- manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk- vnc :|
participants (4)
-
Daniel P. Berrange
-
Eric Blake
-
Olivia Yin
-
Yin Olivia-R63875