diff --git a/tests/qemuxml2argvdata/qemuxml2argv-pseries-basic.args b/tests/qemuxml2argvdata/qemuxml2argv-pseries-basic.args
new file mode 100644
index 0000000000000000000000000000000000000000..f9aec92027ede38619ba37b68d215139edc5175f
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-pseries-basic.args
@@ -0,0 +1 @@
+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test /usr/bin/qemu-system-ppc64 -S -M pseries -m 512 -smp 1 -nographic -nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/tmp/test-monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=readline -no-acpi -boot c -chardev pty,id=charserial0 -device spapr-vty,chardev=charserial0,reg=0x30000000 -usb
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-pseries-basic.xml b/tests/qemuxml2argvdata/qemuxml2argv-pseries-basic.xml
new file mode 100644
index 0000000000000000000000000000000000000000..1b164f9e7aeabb48c0926a04ee96c75a9c6caaab
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-pseries-basic.xml
@@ -0,0 +1,17 @@
+
+ QEMUGuest1
+ 1ccfd97d-5eb4-478a-bbe6-88d254c16db7
+ 524288
+ 1
+
+ hvm
+
+
+
+ /usr/bin/qemu-system-ppc64
+
+
+
+
+
+
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-pseries-vio-address-clash.args b/tests/qemuxml2argvdata/qemuxml2argv-pseries-vio-address-clash.args
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-pseries-vio-address-clash.xml b/tests/qemuxml2argvdata/qemuxml2argv-pseries-vio-address-clash.xml
new file mode 100644
index 0000000000000000000000000000000000000000..4504f060dc2a095f7f33c1c0178f06fee128ae45
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-pseries-vio-address-clash.xml
@@ -0,0 +1,42 @@
+
+ QEMUGuest1
+ 2754dd7b-ac8a-4850-aec0-1f3fcd43235b
+ 524288
+ 1
+
+ hvm
+
+
+
+ /usr/bin/qemu-system-ppc64
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-pseries-vio-user-assigned.args b/tests/qemuxml2argvdata/qemuxml2argv-pseries-vio-user-assigned.args
new file mode 100644
index 0000000000000000000000000000000000000000..e939e1b1d868aed11b64c978f459aef67d4abe76
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-pseries-vio-user-assigned.args
@@ -0,0 +1 @@
+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test /usr/bin/qemu-system-ppc64 -S -M pseries -m 512 -smp 1 -nographic -nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/tmp/test-monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=readline -no-acpi -boot c -device spapr-vscsi,id=scsi0,reg=0x2000 -device spapr-vscsi,id=scsi1,reg=0x30000000 -drive file=/tmp/scsidisk.img,if=none,id=drive-scsi1-0-0 -device scsi-disk,bus=scsi1.0,scsi-id=0,drive=drive-scsi1-0-0,id=scsi1-0-0 -chardev pty,id=charserial0 -device spapr-vty,chardev=charserial0,reg=0x20000000 -chardev pty,id=charserial1 -device spapr-vty,chardev=charserial1,reg=0x30001000 -usb
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-pseries-vio-user-assigned.xml b/tests/qemuxml2argvdata/qemuxml2argv-pseries-vio-user-assigned.xml
new file mode 100644
index 0000000000000000000000000000000000000000..cf6547879c53da951faadcbe187bfa6e5a59139b
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-pseries-vio-user-assigned.xml
@@ -0,0 +1,42 @@
+
+ QEMUGuest1
+ 2754dd7b-ac8a-4850-aec0-1f3fcd43235b
+ 524288
+ 1
+
+ hvm
+
+
+
+ /usr/bin/qemu-system-ppc64
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-pseries-vio.args b/tests/qemuxml2argvdata/qemuxml2argv-pseries-vio.args
new file mode 100644
index 0000000000000000000000000000000000000000..5fe0c88d25d203d1dad7683d6d799a53b9653806
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-pseries-vio.args
@@ -0,0 +1 @@
+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test /usr/bin/qemu-system-ppc64 -S -M pseries -m 512 -smp 1 -nographic -nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/tmp/test-monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=readline -no-acpi -boot c -device spapr-vscsi,id=scsi0,reg=0x2000 -device spapr-vscsi,id=scsi1,reg=0x3000 -drive file=/tmp/scsidisk.img,if=none,id=drive-scsi1-0-0 -device scsi-disk,bus=scsi1.0,scsi-id=0,drive=drive-scsi1-0-0,id=scsi1-0-0 -chardev pty,id=charserial0 -device spapr-vty,chardev=charserial0,reg=0x30000000 -chardev pty,id=charserial1 -device spapr-vty,chardev=charserial1,reg=0x30001000 -usb
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-pseries-vio.xml b/tests/qemuxml2argvdata/qemuxml2argv-pseries-vio.xml
new file mode 100644
index 0000000000000000000000000000000000000000..68f42164d3d202005a8e29a3364030d06c5b0f5b
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-pseries-vio.xml
@@ -0,0 +1,42 @@
+
+ QEMUGuest1
+ 2754dd7b-ac8a-4850-aec0-1f3fcd43235b
+ 524288
+ 1
+
+ hvm
+
+
+
+ /usr/bin/qemu-system-ppc64
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index 74d4f1748452df82a14170ccdeab3e13b82a7cb3..7beaa4b8cf080013098305e59565ef8e0199fecf 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -692,6 +692,15 @@ mymain(void)
DO_TEST("seclabel-static", false, QEMU_CAPS_NAME);
DO_TEST("seclabel-static-relabel", false, QEMU_CAPS_NAME);
+ DO_TEST("pseries-basic", false,
+ QEMU_CAPS_CHARDEV, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG);
+ DO_TEST("pseries-vio", false, QEMU_CAPS_DRIVE,
+ QEMU_CAPS_CHARDEV, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG);
+ DO_TEST("pseries-vio-user-assigned", false, QEMU_CAPS_DRIVE,
+ QEMU_CAPS_CHARDEV, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG);
+ DO_TEST("pseries-vio-address-clash", true, QEMU_CAPS_DRIVE,
+ QEMU_CAPS_CHARDEV, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG);
+
free(driver.stateDir);
virCapabilitiesFree(driver.caps);
free(map);