diff --git a/tests/qemuxml2argvdata/qemuxml2argv-pseries-phb-default-missing.args b/tests/qemuxml2argvdata/qemuxml2argv-pseries-phb-default-missing.args
new file mode 100644
index 0000000000000000000000000000000000000000..009f5a8eab8877295a0c2a7c2a0ee2606ede24c8
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-pseries-phb-default-missing.args
@@ -0,0 +1,22 @@
+LC_ALL=C \
+PATH=/bin \
+HOME=/home/test \
+USER=test \
+LOGNAME=test \
+QEMU_AUDIO_DRV=none \
+/usr/bin/qemu-system-ppc64 \
+-name QEMUGuest1 \
+-S \
+-M pseries \
+-m 512 \
+-smp 1,sockets=1,cores=1,threads=1 \
+-uuid 1ccfd97d-5eb4-478a-bbe6-88d254c16db7 \
+-nographic \
+-nodefconfig \
+-nodefaults \
+-chardev socket,id=charmonitor,path=/tmp/lib/domain--1-QEMUGuest1/monitor.sock,\
+server,nowait \
+-mon chardev=charmonitor,id=monitor,mode=readline \
+-boot c \
+-device spapr-pci-host-bridge,index=1,id=pci.1 \
+-device spapr-pci-host-bridge,index=2,id=pci.2
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-pseries-phb-default-missing.xml b/tests/qemuxml2argvdata/qemuxml2argv-pseries-phb-default-missing.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d0b45bfe00db238f9b548241dc492268b15b81cb
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-pseries-phb-default-missing.xml
@@ -0,0 +1,16 @@
+
+ QEMUGuest1
+ 1ccfd97d-5eb4-478a-bbe6-88d254c16db7
+ 524288
+ 1
+
+ hvm
+
+
+ /usr/bin/qemu-system-ppc64
+
+
+
+
+
+
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-pseries-phb-simple.args b/tests/qemuxml2argvdata/qemuxml2argv-pseries-phb-simple.args
new file mode 100644
index 0000000000000000000000000000000000000000..009f5a8eab8877295a0c2a7c2a0ee2606ede24c8
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-pseries-phb-simple.args
@@ -0,0 +1,22 @@
+LC_ALL=C \
+PATH=/bin \
+HOME=/home/test \
+USER=test \
+LOGNAME=test \
+QEMU_AUDIO_DRV=none \
+/usr/bin/qemu-system-ppc64 \
+-name QEMUGuest1 \
+-S \
+-M pseries \
+-m 512 \
+-smp 1,sockets=1,cores=1,threads=1 \
+-uuid 1ccfd97d-5eb4-478a-bbe6-88d254c16db7 \
+-nographic \
+-nodefconfig \
+-nodefaults \
+-chardev socket,id=charmonitor,path=/tmp/lib/domain--1-QEMUGuest1/monitor.sock,\
+server,nowait \
+-mon chardev=charmonitor,id=monitor,mode=readline \
+-boot c \
+-device spapr-pci-host-bridge,index=1,id=pci.1 \
+-device spapr-pci-host-bridge,index=2,id=pci.2
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-pseries-phb-simple.xml b/tests/qemuxml2argvdata/qemuxml2argv-pseries-phb-simple.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b1c6ff3006f2b4b886f5a0d58955118b039157e4
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-pseries-phb-simple.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-phb-wrong-target-index.xml b/tests/qemuxml2argvdata/qemuxml2argv-pseries-phb-wrong-target-index.xml
new file mode 100644
index 0000000000000000000000000000000000000000..48e3b1f80bbd75ef2896594805e99e93ece945ba
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-pseries-phb-wrong-target-index.xml
@@ -0,0 +1,22 @@
+
+ QEMUGuest1
+ 1ccfd97d-5eb4-478a-bbe6-88d254c16db7
+ 524288
+ 1
+
+ hvm
+
+
+ /usr/bin/qemu-system-ppc64
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index d33895f2b541cc108a4eb6c1bbfa17f855a9bac0..31aaf1d90a519bc86b9c0ffab76bf00d4ed2b0dc 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -1745,6 +1745,15 @@ mymain(void)
QEMU_CAPS_NODEFCONFIG);
DO_TEST_FAILURE("pseries-panic-address",
QEMU_CAPS_NODEFCONFIG);
+
+ DO_TEST("pseries-phb-simple",
+ QEMU_CAPS_NODEFCONFIG,
+ QEMU_CAPS_DEVICE_SPAPR_PCI_HOST_BRIDGE);
+ DO_TEST("pseries-phb-default-missing",
+ QEMU_CAPS_NODEFCONFIG,
+ QEMU_CAPS_DEVICE_SPAPR_PCI_HOST_BRIDGE);
+ DO_TEST_PARSE_ERROR("pseries-phb-wrong-target-index", NONE);
+
DO_TEST("disk-ide-drive-split",
QEMU_CAPS_NODEFCONFIG,
QEMU_CAPS_IDE_CD);
diff --git a/tests/qemuxml2xmloutdata/qemuxml2xmlout-pseries-phb-default-missing.xml b/tests/qemuxml2xmloutdata/qemuxml2xmlout-pseries-phb-default-missing.xml
new file mode 100644
index 0000000000000000000000000000000000000000..62708b4a467da9c96691840857320d5b8ecef970
--- /dev/null
+++ b/tests/qemuxml2xmloutdata/qemuxml2xmlout-pseries-phb-default-missing.xml
@@ -0,0 +1,33 @@
+
+ QEMUGuest1
+ 1ccfd97d-5eb4-478a-bbe6-88d254c16db7
+ 524288
+ 524288
+ 1
+
+ hvm
+
+
+
+ destroy
+ restart
+ destroy
+
+ /usr/bin/qemu-system-ppc64
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/qemuxml2xmloutdata/qemuxml2xmlout-pseries-phb-simple.xml b/tests/qemuxml2xmloutdata/qemuxml2xmlout-pseries-phb-simple.xml
new file mode 100644
index 0000000000000000000000000000000000000000..2c1e64e88dfc20204c351138f7cd932b08af1638
--- /dev/null
+++ b/tests/qemuxml2xmloutdata/qemuxml2xmlout-pseries-phb-simple.xml
@@ -0,0 +1,33 @@
+
+ QEMUGuest1
+ 1ccfd97d-5eb4-478a-bbe6-88d254c16db7
+ 524288
+ 524288
+ 1
+
+ hvm
+
+
+
+ destroy
+ restart
+ destroy
+
+ /usr/bin/qemu-system-ppc64
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c
index c03cbe98ea9d2cc6d9a7b9bb6de376e65e6bac48..6319b0fdfdfe47bf1fae1b69cbd32d91af8a4de4 100644
--- a/tests/qemuxml2xmltest.c
+++ b/tests/qemuxml2xmltest.c
@@ -666,6 +666,13 @@ mymain(void)
DO_TEST("pseries-panic-missing", NONE);
DO_TEST("pseries-panic-no-address", NONE);
+ DO_TEST("pseries-phb-simple",
+ QEMU_CAPS_NODEFCONFIG,
+ QEMU_CAPS_DEVICE_SPAPR_PCI_HOST_BRIDGE);
+ DO_TEST("pseries-phb-default-missing",
+ QEMU_CAPS_NODEFCONFIG,
+ QEMU_CAPS_DEVICE_SPAPR_PCI_HOST_BRIDGE);
+
DO_TEST("balloon-device-auto", NONE);
DO_TEST("balloon-device-period", NONE);
DO_TEST("channel-virtio-auto", NONE);