[libvirt] [PATCH] qemu: Add AAVMF32 to the list of known UEFIs
by dann frazier
Add a path for UEFI VMs for AArch32 VMs. This is the path Debian is currently
using in experimental. libvirt is the de facto canonical location for
where distros should place these firmware images, so let's define this path
here to try and minimize distro fragmentation.
---
src/qemu/qemu_conf.c | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c
index 73c33d6788..c1bd91935b 100644
--- a/src/qemu/qemu_conf.c
+++ b/src/qemu/qemu_conf.c
@@ -130,6 +130,8 @@ void qemuDomainCmdlineDefFree(qemuDomainCmdlineDefPtr def)
#define VIR_QEMU_OVMF_SEC_NVRAM_PATH "/usr/share/OVMF/OVMF_VARS.fd"
#define VIR_QEMU_AAVMF_LOADER_PATH "/usr/share/AAVMF/AAVMF_CODE.fd"
#define VIR_QEMU_AAVMF_NVRAM_PATH "/usr/share/AAVMF/AAVMF_VARS.fd"
+#define VIR_QEMU_AAVMF32_LOADER_PATH "/usr/share/AAVMF/AAVMF32_CODE.fd"
+#define VIR_QEMU_AAVMF32_NVRAM_PATH "/usr/share/AAVMF/AAVMF32_VARS.fd"
virQEMUDriverConfigPtr virQEMUDriverConfigNew(bool privileged)
{
@@ -334,11 +336,11 @@ virQEMUDriverConfigPtr virQEMUDriverConfigNew(bool privileged)
goto error;
#else
- if (VIR_ALLOC_N(cfg->firmwares, 3) < 0)
+ if (VIR_ALLOC_N(cfg->firmwares, 4) < 0)
goto error;
- cfg->nfirmwares = 3;
+ cfg->nfirmwares = 4;
if (VIR_ALLOC(cfg->firmwares[0]) < 0 || VIR_ALLOC(cfg->firmwares[1]) < 0 ||
- VIR_ALLOC(cfg->firmwares[2]) < 0)
+ VIR_ALLOC(cfg->firmwares[2]) < 0 || VIR_ALLOC(cfg->firmwares[3]) < 0)
goto error;
if (VIR_STRDUP(cfg->firmwares[0]->name, VIR_QEMU_AAVMF_LOADER_PATH) < 0 ||
@@ -346,7 +348,9 @@ virQEMUDriverConfigPtr virQEMUDriverConfigNew(bool privileged)
VIR_STRDUP(cfg->firmwares[1]->name, VIR_QEMU_OVMF_LOADER_PATH) < 0 ||
VIR_STRDUP(cfg->firmwares[1]->nvram, VIR_QEMU_OVMF_NVRAM_PATH) < 0 ||
VIR_STRDUP(cfg->firmwares[2]->name, VIR_QEMU_OVMF_SEC_LOADER_PATH) < 0 ||
- VIR_STRDUP(cfg->firmwares[2]->nvram, VIR_QEMU_OVMF_SEC_NVRAM_PATH) < 0)
+ VIR_STRDUP(cfg->firmwares[2]->nvram, VIR_QEMU_OVMF_SEC_NVRAM_PATH) < 0 ||
+ VIR_STRDUP(cfg->firmwares[3]->name, VIR_QEMU_AAVMF32_LOADER_PATH) < 0 ||
+ VIR_STRDUP(cfg->firmwares[3]->nvram, VIR_QEMU_AAVMF32_NVRAM_PATH) < 0)
goto error;
#endif
--
2.11.0
7 years, 5 months
[libvirt] [PATCH] qemu: report an error if usb keyboards are unsupported
by Ján Tomko
Be nicer to the user and report a proper error instead of:
An error occurred, but the cause is unknown
https://bugzilla.redhat.com/show_bug.cgi?id=1460086
---
src/qemu/qemu_command.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index 20af16b..0f87809 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -4261,8 +4261,12 @@ qemuBuildUSBInputDevStr(const virDomainDef *def,
virBufferAsprintf(&buf, "usb-tablet,id=%s", dev->info.alias);
break;
case VIR_DOMAIN_INPUT_TYPE_KBD:
- if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_USB_KBD))
+ if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_USB_KBD)) {
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
+ _("usb keyboard is not supported by this "
+ "QEMU binary"));
goto error;
+ }
virBufferAsprintf(&buf, "usb-kbd,id=%s", dev->info.alias);
break;
}
--
2.10.2
7 years, 5 months
[libvirt] Need help with running libvirt-test-api
by lmurthy@codeaurora.org
Hi All,
I am new to libvirt; to create a virtual machine using
libvirt-test-API framework, I am starting with
"repos/domain/linux_domain.conf".
Before starting the script, I downloaded
Fedora-Server-DVD-aarch64-23.iso under /var/lib/libvirt/images, and
changed the parameter "testfullimagepath" under global.cfg to reflect
the path of iso image.
On trying to run the script using python libvirt-test-api --casefile
/home/fedora/libvirt-test-API/cases/linux_domain.conf -l 1
I am getting below error message. Please let me know how to resolve
this.
Log file:
root@null-8cfdf006971f:~/libvirt-test-API# python libvirt-test-api
--casefile /home/ubuntu/libvirt-test-API/cases/linux_domain.conf -l 1
Parameter guestname is required
the No.1 : domain:install_linux_cdrom
Parameter guestname is required
the No.2 : domain:install_linux_check
Parameter guestname is required
the No.3 : domain:shutdown
Parameter guestname is required
the No.4 : domain:start
Parameter guestname is required
the No.5 : domain:guest_time
Parameter guestname is required
the No.6 : domain:set_guest_time
Parameter guestname is required
the No.8 : domain:securitylabel
Parameter guestname is required
the No.9 : domain:coredump_with_format
Parameter guestname is required
the No.10 : domain:destroy
Parameter guestname is required
the No.11 : domain:undefine
Parameter guestname is required
the No.12 : domain:define
Parameter guestname is required
the No.13 : domain:suspend
Parameter guestname is required
the No.14 : domain:resume
Parameter guestname is required
the No.15 : domain:autostart
Parameter guestname is required
the No.16 : domain:ifstats
Parameter guestname is required
the No.17 : domain:blkstats
Parameter guestname is required
the No.18 : domain:dump
Parameter guestname is required
the No.19 : domain:attach_disk
Parameter guestname is required
the No.20 : domain:detach_disk
Parameter guestname is required
the No.21 : domain:cpu_affinity
Parameter guestname is required
the No.22 : domain:balloon_memory
Parameter guestname is required
the No.23 : domain:open_graphicsfd
Parameter guestname is required
the No.24 : domain:domain_fsfreeze
Parameter guestname is required
the No.25 : domain:domain_fsthaw
Parameter guestname is required
the No.26 : virconn:connection_security_model
Parameter guestname is required
the No.27 : domain:cpu_status
Parameter guestname is required
the No.28 : domain:set_memory_period
Parameter guestname is required
the No.29 : domain:add_del_iothread
Parameter guestname is required
the No.30 : domain:pin_iothread
Parameter guestname is required
the No.31 : domain:info_iothread
Parameter guestname is required
the No.32 : domain:fsinfo
Parameter guestname is required
the No.33 : domain:set_user_passwd
root@null-8cfdf006971f:~/libvirt-test-API#
root@null-8cfdf006971f:~/libvirt-test-API#
7 years, 5 months
[libvirt] [PATCH v2] virsh: workaround readline prototypes warnings
by Roman Bogorodskiy
When building with clang 4.0.0, virsh build fails like this:
gmake[3]: Entering directory '/usr/home/novel/code/libvirt/tools'
CC virsh-virsh.o
In file included from virsh.c:45:
In file included from /usr/local/include/readline/readline.h:31:
/usr/local/include/readline/rltypedefs.h:35:22: error: this function declaration is not a prototype [-Werror,-Wstrict-prototypes]
typedef int Function () __attribute__ ((deprecated));
^
void
/usr/local/include/readline/rltypedefs.h:36:24: error: this function declaration is not a prototype [-Werror,-Wstrict-prototypes]
typedef void VFunction () __attribute__ ((deprecated));
^
void
/usr/local/include/readline/rltypedefs.h:37:26: error: this function declaration is not a prototype [-Werror,-Wstrict-prototypes]
typedef char *CPFunction () __attribute__ ((deprecated));
^
void
/usr/local/include/readline/rltypedefs.h:38:28: error: this function declaration is not a prototype [-Werror,-Wstrict-prototypes]
typedef char **CPPFunction () __attribute__ ((deprecated));
^
void
In file included from virsh.c:45:
/usr/local/include/readline/readline.h:385:23: error: this function declaration is not a prototype [-Werror,-Wstrict-prototypes]
extern int rl_message ();
^
void
5 errors generated.
gmake[3]: *** [Makefile:2823: virsh-virsh.o] Error 1
Fix that by adding -D_FUNCTION_DEF to READLINE_CFLAGS to fix *Function
related warnings and add a check for stdarg.h so readline headers
use proper rl_message declaration.
Bug report on the readline mailing list:
http://lists.gnu.org/archive/html/bug-readline/2017-05/msg00004.html
---
configure.ac | 2 +-
m4/virt-readline.m4 | 4 +++-
tools/Makefile.am | 3 ++-
3 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/configure.ac b/configure.ac
index 1af5538ee..1a73b3466 100644
--- a/configure.ac
+++ b/configure.ac
@@ -328,7 +328,7 @@ dnl Availability of various common headers (non-fatal if missing).
AC_CHECK_HEADERS([pwd.h regex.h sys/un.h \
sys/poll.h syslog.h mntent.h net/ethernet.h linux/magic.h \
sys/un.h sys/syscall.h sys/sysctl.h netinet/tcp.h ifaddrs.h \
- libtasn1.h sys/ucred.h sys/mount.h])
+ libtasn1.h sys/ucred.h sys/mount.h stdarg.h])
dnl Check whether endian provides handy macros.
AC_CHECK_DECLS([htole64], [], [], [[#include <endian.h>]])
AC_CHECK_FUNCS([stat stat64 __xstat __xstat64 lstat lstat64 __lxstat __lxstat64])
diff --git a/m4/virt-readline.m4 b/m4/virt-readline.m4
index ee70ea36b..9fba5148a 100644
--- a/m4/virt-readline.m4
+++ b/m4/virt-readline.m4
@@ -45,7 +45,9 @@ AC_DEFUN([LIBVIRT_CHECK_READLINE],[
# function, to ensure we aren't being confused by caching.
LIBS=$lv_saved_libs
AC_CHECK_LIB([readline], [rl_initialize],
- [], [READLINE_LIBS="$READLINE_LIBS $extra_LIBS"])
+ [READLINE_CFLAGS="-D_FUNCTION_DEF $READLINE_CFLAGS"
+ AC_SUBST(READLINE_CFLAGS)],
+ [READLINE_LIBS="$READLINE_LIBS $extra_LIBS"])
LIBS=$lv_saved_libs
])
diff --git a/tools/Makefile.am b/tools/Makefile.am
index 56691c289..345521457 100644
--- a/tools/Makefile.am
+++ b/tools/Makefile.am
@@ -244,7 +244,8 @@ virsh_CFLAGS = \
$(WARN_CFLAGS) \
$(PIE_CFLAGS) \
$(COVERAGE_CFLAGS) \
- $(LIBXML_CFLAGS)
+ $(LIBXML_CFLAGS) \
+ $(READLINE_CFLAGS)
virt_admin_SOURCES = \
virt-admin.c virt-admin.h \
--
2.13.0
7 years, 5 months
[libvirt] CFP: KVM Forum 2017
by Paolo Bonzini
================================================================
KVM Forum 2017: Call For Participation
October 25-27, 2017 - Hilton Prague - Prague, Czech Republic
(All submissions must be received before midnight June 15, 2017)
=================================================================
KVM Forum is an annual event that presents a rare opportunity
for developers and users to meet, discuss the state of Linux
virtualization technology, and plan for the challenges ahead.
We invite you to lead part of the discussion by submitting a speaking
proposal for KVM Forum 2017.
At this highly technical conference, developers driving innovation
in the KVM virtualization stack (Linux, KVM, QEMU, libvirt) can
meet users who depend on KVM as part of their offerings, or to
power their data centers and clouds.
KVM Forum will include sessions on the state of the KVM
virtualization stack, planning for the future, and many
opportunities for attendees to collaborate. As we celebrate ten years
of KVM development in the Linux kernel, KVM continues to be a
critical part of the FOSS cloud infrastructure.
This year, KVM Forum is joining Open Source Summit in Prague,
Czech Republic. Selected talks from KVM Forum will be presented on
Wednesday October 25 to the full audience of the Open Source Summit.
Also, attendees of KVM Forum will have access to all of the talks from
Open Source Summit on Wednesday.
http://events.linuxfoundation.org/cfp
Suggested topics:
* Scaling, latency optimizations, performance tuning, real-time guests
* Hardening and security
* New features
* Testing
KVM and the Linux kernel:
* Nested virtualization
* Resource management (CPU, I/O, memory) and scheduling
* VFIO: IOMMU, SR-IOV, virtual GPU, etc.
* Networking: Open vSwitch, XDP, etc.
* virtio and vhost
* Architecture ports and new processor features
QEMU:
* Management interfaces: QOM and QMP
* New devices, new boards, new architectures
* Graphics, desktop virtualization and virtual GPU
* New storage features
* High availability, live migration and fault tolerance
* Emulation and TCG
* Firmware: ACPI, UEFI, coreboot, U-Boot, etc.
Management and infrastructure
* Managing KVM: Libvirt, OpenStack, oVirt, etc.
* Storage: Ceph, Gluster, SPDK, etc.r
* Network Function Virtualization: DPDK, OPNFV, OVN, etc.
* Provisioning
===============
SUBMITTING YOUR PROPOSAL
===============
Abstracts due: June 15, 2017
Please submit a short abstract (~150 words) describing your presentation
proposal. Slots vary in length up to 45 minutes. Also include the proposal
type -- one of:
- technical talk
- end-user talk
Submit your proposal here:
http://events.linuxfoundation.org/cfp
Please only use the categories "presentation" and "panel discussion"
You will receive a notification whether or not your presentation proposal
was accepted by August 10, 2017.
Speakers will receive a complimentary pass for the event. In the instance
that case your submission has multiple presenters, only the primary speaker for a
proposal will receive a complimentary event pass. For panel discussions, all
panelists will receive a complimentary event pass.
TECHNICAL TALKS
A good technical talk should not just report on what has happened over
the last year; it should present a concrete problem and how it impacts
the user and/or developer community. Whenever applicable, focus on
work that needs to be done, difficulties that haven't yet been solved,
and on decisions that other developers should be aware of. Summarizing
recent developments is okay but it should not be more than a small
portion of the overall talk.
END-USER TALKS
One of the big challenges as developers is to know what, where and how
people actually use our software. We will reserve a few slots for end
users talking about their deployment challenges and achievements.
If you are using KVM in production you are encouraged submit a speaking
proposal. Simply mark it as an end-user talk. As an end user, this is a
unique opportunity to get your input to developers.
HANDS-ON / BOF SESSIONS
We will reserve some time for people to get together and discuss
strategic decisions as well as other topics that are best solved within
smaller groups.
These sessions will be announced during the event. If you are interested
in organizing such a session, please add it to the list at
http://www.linux-kvm.org/page/KVM_Forum_2017_BOF
Let people you think who might be interested know about your BOF, and encourage
them to add their names to the wiki page as well. Please try to
add your ideas to the list before KVM Forum starts.
PANEL DISCUSSIONS
If you are proposing a panel discussion, please make sure that you list
all of your potential panelists in your the abstract. We will request full
biographies if a panel is accepted.
===============
HOTEL / TRAVEL
===============
This year's event will take place at the Hilton Prague.
For information on discounted room rates for conference attendees
and on other hotels close to the conference, please visit
http://events.linuxfoundation.org/events/kvm-forum/attend/hotel-travel.
===============
IMPORTANT DATES
===============
Submission deadline: June 15, 2017
Notification: August 10, 2017
Schedule announced: August 17, 2017
Event dates: October 25-27, 2017
Thank you for your interest in KVM. We're looking forward to your
submissions and seeing you at the KVM Forum 2017 in October!
-your KVM Forum 2017 Program Committee
Please contact us with any questions or comments at
kvm-forum-2017-pc(a)redhat.com
7 years, 5 months
[libvirt] [sandbox 0/2] misc fixes
by Cédric Bosdonnat
Hi all,
Here are a two fixes for virt-sandbox. One to actually use -d and -v flags
in the init program, and the other to get host-bound mounts writable as
non-root user.
Cédric Bosdonnat (2):
Pass debug and verbose values to init
machine: use squash security mode for non-root virt-sandbox mounts
bin/virt-sandbox.c | 3 +
libvirt-sandbox/libvirt-sandbox-builder-machine.c | 5 +-
libvirt-sandbox/libvirt-sandbox-config.c | 75 +++++++++++++++++++++++
libvirt-sandbox/libvirt-sandbox-config.h | 6 ++
libvirt-sandbox/libvirt-sandbox-init-common.c | 3 +
libvirt-sandbox/libvirt-sandbox.sym | 4 ++
6 files changed, 95 insertions(+), 1 deletion(-)
--
2.12.2
7 years, 5 months
[libvirt] [PATCH 0/2] Two trivial MTU fixes
by Michal Privoznik
I'm inclined to pushed them as trivial, but since they have
a bugzilla assigned I'd rather have a proper review.
Michal Privoznik (2):
qemu: Set iface MTU on hotplug
qemuDomainChangeNet: Forbid changing MTU
src/qemu/qemu_hotplug.c | 10 ++++++++++
1 file changed, 10 insertions(+)
--
2.13.0
7 years, 5 months
[libvirt] [PATCH] qemu: Allow memAccess for hugepages again
by Michal Privoznik
https://bugzilla.redhat.com/show_bug.cgi?id=1458638
Historically, we've always supported memAccess for domains backed
by hugepages. However, somewhere along the way we've regressed
and stopped allowing such configuration. Fix it.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
src/qemu/qemu_command.c | 4 +-
.../qemuxml2argv-hugepages-memaccess.args | 38 ++++++++++++++++++
.../qemuxml2argv-hugepages-memaccess.xml | 45 ++++++++++++++++++++++
tests/qemuxml2argvtest.c | 1 +
4 files changed, 87 insertions(+), 1 deletion(-)
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-hugepages-memaccess.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-hugepages-memaccess.xml
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index 015af1036..2a076301f 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -3361,7 +3361,9 @@ qemuBuildMemoryBackendStr(virJSONValuePtr *backendProps,
return -1;
if (pagesize || mem->nvdimmPath ||
- def->mem.source == VIR_DOMAIN_MEMORY_SOURCE_FILE) {
+ def->mem.source == VIR_DOMAIN_MEMORY_SOURCE_FILE ||
+ (memAccess == VIR_DOMAIN_MEMORY_ACCESS_SHARED &&
+ def->mem.nhugepages)) {
*backendType = "memory-backend-file";
if (mem->nvdimmPath) {
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-hugepages-memaccess.args b/tests/qemuxml2argvdata/qemuxml2argv-hugepages-memaccess.args
new file mode 100644
index 000000000..c3f2c5397
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-hugepages-memaccess.args
@@ -0,0 +1,38 @@
+LC_ALL=C \
+PATH=/bin \
+HOME=/home/test \
+USER=test \
+LOGNAME=test \
+QEMU_AUDIO_DRV=none \
+/usr/bin/qemu-system-i686 \
+-name QEMUGuest1 \
+-S \
+-M pc \
+-m 4096 \
+-smp 4,sockets=4,cores=1,threads=1 \
+-object memory-backend-file,id=ram-node0,prealloc=yes,\
+mem-path=/dev/hugepages1G/libvirt/qemu/-1-QEMUGuest1,size=1073741824,\
+host-nodes=0-3,policy=bind \
+-numa node,nodeid=0,cpus=0,memdev=ram-node0 \
+-object memory-backend-file,id=ram-node1,prealloc=yes,\
+mem-path=/dev/hugepages2M/libvirt/qemu/-1-QEMUGuest1,share=yes,size=1073741824,\
+host-nodes=0-3,policy=bind \
+-numa node,nodeid=1,cpus=1,memdev=ram-node1 \
+-object memory-backend-file,id=ram-node2,prealloc=yes,\
+mem-path=/dev/hugepages1G/libvirt/qemu/-1-QEMUGuest1,share=no,size=1073741824,\
+host-nodes=0-3,policy=bind \
+-numa node,nodeid=2,cpus=2,memdev=ram-node2 \
+-object memory-backend-file,id=ram-node3,prealloc=yes,\
+mem-path=/dev/hugepages1G/libvirt/qemu/-1-QEMUGuest1,size=1073741824,\
+host-nodes=3,policy=bind \
+-numa node,nodeid=3,cpus=3,memdev=ram-node3 \
+-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
+-nographic \
+-nodefaults \
+-monitor unix:/tmp/lib/domain--1-QEMUGuest1/monitor.sock,server,nowait \
+-no-acpi \
+-boot c \
+-usb \
+-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
+-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-hugepages-memaccess.xml b/tests/qemuxml2argvdata/qemuxml2argv-hugepages-memaccess.xml
new file mode 100644
index 000000000..55379dcab
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-hugepages-memaccess.xml
@@ -0,0 +1,45 @@
+<domain type='qemu'>
+ <name>QEMUGuest1</name>
+ <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
+ <memory unit='KiB'>4194304</memory>
+ <currentMemory unit='KiB'>4194304</currentMemory>
+ <memoryBacking>
+ <hugepages>
+ <page size='2048' unit='KiB' nodeset='1'/>
+ <page size='1048576' unit='KiB' nodeset='0,2-3'/>
+ </hugepages>
+ </memoryBacking>
+ <vcpu placement='static'>4</vcpu>
+ <numatune>
+ <memory mode='strict' nodeset='0-3'/>
+ <memnode cellid='3' mode='strict' nodeset='3'/>
+ </numatune>
+ <os>
+ <type arch='i686' machine='pc'>hvm</type>
+ <boot dev='hd'/>
+ </os>
+ <cpu>
+ <numa>
+ <cell id='0' cpus='0' memory='1048576'/>
+ <cell id='1' cpus='1' memory='1048576' memAccess='shared'/>
+ <cell id='2' cpus='2' memory='1048576' memAccess='private'/>
+ <cell id='3' cpus='3' memory='1048576'/>
+ </numa>
+ </cpu>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>destroy</on_crash>
+ <devices>
+ <emulator>/usr/bin/qemu-system-i686</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'/>
+ <memballoon model='virtio'/>
+ </devices>
+</domain>
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index b7d7cc2ab..836f413ce 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -819,6 +819,7 @@ mymain(void)
QEMU_CAPS_OBJECT_MEMORY_RAM, QEMU_CAPS_OBJECT_MEMORY_FILE);
DO_TEST("hugepages-pages5", QEMU_CAPS_MEM_PATH);
DO_TEST("hugepages-pages6", NONE);
+ DO_TEST("hugepages-memaccess", QEMU_CAPS_OBJECT_MEMORY_FILE);
DO_TEST("nosharepages", QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_MEM_MERGE);
DO_TEST("disk-cdrom", NONE);
DO_TEST("disk-iscsi", NONE);
--
2.13.0
7 years, 5 months
[libvirt] [PATCH] virNetDevOpenvswitchGetVhostuserIfname: Fix off by one error
by Michal Privoznik
https://bugzilla.redhat.com/show_bug.cgi?id=1459091
We try to get the last element of the passed path by calling
strrch(path, '/'). However, the pointer that strrchr() returns
points at the slash, We want string that starts right after that.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
Pushed as trivial.
src/util/virnetdevopenvswitch.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/util/virnetdevopenvswitch.c b/src/util/virnetdevopenvswitch.c
index 42abcb4bb..8f7215e06 100644
--- a/src/util/virnetdevopenvswitch.c
+++ b/src/util/virnetdevopenvswitch.c
@@ -444,6 +444,7 @@ virNetDevOpenvswitchGetVhostuserIfname(const char *path,
goto cleanup;
}
+ tmpIfname++;
cmd = virCommandNew(OVSVSCTL);
virNetDevOpenvswitchAddTimeout(cmd);
virCommandAddArgList(cmd, "get", "Interface", tmpIfname, "name", NULL);
--
2.13.0
7 years, 5 months
[libvirt] [PATCHv3 00/14] Allow virtio devices to use vIOMMU
by Ján Tomko
https://bugzilla.redhat.com/show_bug.cgi?id=1283251
new in v3:
* eliminated multi-word attribute names
* eliminated extra virBufferTrims
* added ABI stability checks
* post-parse checks for non-virtio disks and nets
* removed duplicate devices from the test file
Ján Tomko (14):
conf: add iotlb attribute to iommu
qemu: format device-iotlb on intel-iommu command line
qemuxml2xmltest: add virtio-options test
conf: use a leading space in virDomainVirtioNetDriverFormat
Add virtio-related options to interfaces
add virtio-related options to memballoon
Add virtio-related options to disks
Add virtio-related options to controllers
Add virtio-related options to filesystems
Add virtio-related options to rng devices
Add virtio-related options to video
Add virtio-related options to input devices
qemuxml2argvtest: add virtio-options test case
qemu: format virtio-related options on the command line
docs/formatdomain.html.in | 82 ++++++
docs/schemas/domaincommon.rng | 40 +++
src/conf/domain_conf.c | 283 ++++++++++++++++++++-
src/conf/domain_conf.h | 18 ++
src/qemu/qemu_capabilities.c | 15 +-
src/qemu/qemu_capabilities.h | 5 +
src/qemu/qemu_command.c | 69 +++++
tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml | 3 +
.../qemuxml2argv-intel-iommu-device-iotlb.args | 19 ++
.../qemuxml2argv-intel-iommu-device-iotlb.xml | 31 +++
.../qemuxml2argv-virtio-options.args | 50 ++++
.../qemuxml2argv-virtio-options.xml | 92 +++++++
tests/qemuxml2argvtest.c | 18 ++
.../qemuxml2xmlout-intel-iommu-device-iotlb.xml | 1 +
.../qemuxml2xmlout-virtio-options.xml | 1 +
tests/qemuxml2xmltest.c | 2 +
16 files changed, 715 insertions(+), 14 deletions(-)
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-intel-iommu-device-iotlb.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-intel-iommu-device-iotlb.xml
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-virtio-options.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-virtio-options.xml
create mode 120000 tests/qemuxml2xmloutdata/qemuxml2xmlout-intel-iommu-device-iotlb.xml
create mode 120000 tests/qemuxml2xmloutdata/qemuxml2xmlout-virtio-options.xml
--
2.10.2
7 years, 5 months