diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index de54788..188ddd1 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -325,6 +325,7 @@ VIR_ENUM_IMPL(virQEMUCaps, QEMU_CAPS_LAST,
               "pxb",
 
               "pxb-pcie", /* 220 */
+              "nec-usb-xhci-ports",
     );
 
 
@@ -1683,6 +1684,10 @@ static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsICH9[] = {
     { "disable_s4", QEMU_CAPS_ICH9_DISABLE_S4 },
 };
 
+static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsUSBNECXHCI[] = {
+    { "p3", QEMU_CAPS_NEC_USB_XHCI_PORTS },
+};
+
 struct virQEMUCapsObjectTypeProps {
     const char *type;
     struct virQEMUCapsStringFlags *props;
@@ -1746,6 +1751,8 @@ static struct virQEMUCapsObjectTypeProps virQEMUCapsObjectProps[] = {
       ARRAY_CARDINALITY(virQEMUCapsObjectPropsVirtioBalloon) },
     { "virtio-balloon-device", virQEMUCapsObjectPropsVirtioBalloon,
       ARRAY_CARDINALITY(virQEMUCapsObjectPropsVirtioBalloon) },
+    { "nec-usb-xhci", virQEMUCapsObjectPropsUSBNECXHCI,
+      ARRAY_CARDINALITY(virQEMUCapsObjectPropsUSBNECXHCI) },
 };
 
 
diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
index 83b8be3..b4b75a5 100644
--- a/src/qemu/qemu_capabilities.h
+++ b/src/qemu/qemu_capabilities.h
@@ -356,6 +356,7 @@ typedef enum {
 
     /* 220 */
     QEMU_CAPS_DEVICE_PXB_PCIE, /* -device pxb-pcie */
+    QEMU_CAPS_NEC_USB_XHCI_PORTS, /* -device nec-usb-xhci.p3 ports settin */
 
     QEMU_CAPS_LAST /* this must always be the last item */
 } virQEMUCapsFlags;
diff --git a/tests/qemucapabilitiesdata/caps_1.2.2-1.replies b/tests/qemucapabilitiesdata/caps_1.2.2-1.replies
index fbddf3d..2aa13f1 100644
--- a/tests/qemucapabilitiesdata/caps_1.2.2-1.replies
+++ b/tests/qemucapabilitiesdata/caps_1.2.2-1.replies
@@ -1668,6 +1668,17 @@
     }
 }
 
+
+{
+    "return": [
+        {
+            "name": "msi",
+            "type": "uint32"
+        }
+    ]
+}
+
+
 {
     "return": [
         {
diff --git a/tests/qemucapabilitiesdata/caps_1.3.1-1.caps b/tests/qemucapabilitiesdata/caps_1.3.1-1.caps
index 8c237ef..7c12521 100644
--- a/tests/qemucapabilitiesdata/caps_1.3.1-1.caps
+++ b/tests/qemucapabilitiesdata/caps_1.3.1-1.caps
@@ -128,4 +128,5 @@
     <flag name='virtio-net'/>
     <flag name='qxl.vram64_size_mb'/>
     <flag name='qxl-vga.vram64_size_mb'/>
+    <flag name='nec-usb-xhci-ports'/>
   </qemuCaps>
diff --git a/tests/qemucapabilitiesdata/caps_1.3.1-1.replies b/tests/qemucapabilitiesdata/caps_1.3.1-1.replies
index 2542b67..d130ad7 100644
--- a/tests/qemucapabilitiesdata/caps_1.3.1-1.replies
+++ b/tests/qemucapabilitiesdata/caps_1.3.1-1.replies
@@ -1849,6 +1849,35 @@
 {
     "return": [
         {
+            "name": "msi",
+            "type": "on/off"
+        },
+        {
+            "name": "msix",
+            "type": "on/off"
+        },
+        {
+            "name": "intrs",
+            "type": "uint32"
+        },
+        {
+            "name": "slots",
+            "type": "uint32"
+        },
+        {
+            "name": "2",
+            "type": "uint32"
+        },
+        {
+            "name": "p3",
+            "type": "uint32"
+        }
+    ]
+}
+
+{
+    "return": [
+        {
             "name": "xenpv"
         },
         {
diff --git a/tests/qemucapabilitiesdata/caps_1.4.2-1.caps b/tests/qemucapabilitiesdata/caps_1.4.2-1.caps
index fe98a57..528f2fe 100644
--- a/tests/qemucapabilitiesdata/caps_1.4.2-1.caps
+++ b/tests/qemucapabilitiesdata/caps_1.4.2-1.caps
@@ -129,4 +129,5 @@
     <flag name='virtio-net'/>
     <flag name='qxl.vram64_size_mb'/>
     <flag name='qxl-vga.vram64_size_mb'/>
+    <flag name='nec-usb-xhci-ports'/>
   </qemuCaps>
diff --git a/tests/qemucapabilitiesdata/caps_1.4.2-1.replies b/tests/qemucapabilitiesdata/caps_1.4.2-1.replies
index 46c3292..93e705f 100644
--- a/tests/qemucapabilitiesdata/caps_1.4.2-1.replies
+++ b/tests/qemucapabilitiesdata/caps_1.4.2-1.replies
@@ -1897,6 +1897,35 @@
 {
     "return": [
         {
+            "name": "msi",
+            "type": "on/off"
+        },
+        {
+            "name": "msix",
+            "type": "on/off"
+        },
+        {
+            "name": "intrs",
+            "type": "uint32"
+        },
+        {
+            "name": "slots",
+            "type": "uint32"
+        },
+        {
+            "name": "2",
+            "type": "uint32"
+        },
+        {
+            "name": "p3",
+            "type": "uint32"
+        }
+    ]
+}
+
+{
+    "return": [
+        {
             "name": "xenpv"
         },
         {
diff --git a/tests/qemucapabilitiesdata/caps_1.5.3-1.caps b/tests/qemucapabilitiesdata/caps_1.5.3-1.caps
index 6e9ec3e..9f4b8cd 100644
--- a/tests/qemucapabilitiesdata/caps_1.5.3-1.caps
+++ b/tests/qemucapabilitiesdata/caps_1.5.3-1.caps
@@ -138,4 +138,5 @@
     <flag name='virtio-net'/>
     <flag name='qxl.vram64_size_mb'/>
     <flag name='qxl-vga.vram64_size_mb'/>
+    <flag name='nec-usb-xhci-ports'/>
   </qemuCaps>
diff --git a/tests/qemucapabilitiesdata/caps_1.5.3-1.replies b/tests/qemucapabilitiesdata/caps_1.5.3-1.replies
index 37a735f..878d5ef 100644
--- a/tests/qemucapabilitiesdata/caps_1.5.3-1.replies
+++ b/tests/qemucapabilitiesdata/caps_1.5.3-1.replies
@@ -1968,6 +1968,35 @@
 {
     "return": [
         {
+            "name": "msi",
+            "type": "on/off"
+        },
+        {
+            "name": "msix",
+            "type": "on/off"
+        },
+        {
+            "name": "intrs",
+            "type": "uint32"
+        },
+        {
+            "name": "slots",
+            "type": "uint32"
+        },
+        {
+            "name": "2",
+            "type": "uint32"
+        },
+        {
+            "name": "p3",
+            "type": "uint32"
+        }
+    ]
+}
+
+{
+    "return": [
+        {
             "name": "pc-q35-1.4",
             "cpu-max": 255
         },
diff --git a/tests/qemucapabilitiesdata/caps_1.6.0-1.caps b/tests/qemucapabilitiesdata/caps_1.6.0-1.caps
index da371a4..b0ec7a9 100644
--- a/tests/qemucapabilitiesdata/caps_1.6.0-1.caps
+++ b/tests/qemucapabilitiesdata/caps_1.6.0-1.caps
@@ -144,4 +144,5 @@
     <flag name='virtio-net'/>
     <flag name='qxl.vram64_size_mb'/>
     <flag name='qxl-vga.vram64_size_mb'/>
+    <flag name='nec-usb-xhci-ports'/>
   </qemuCaps>
diff --git a/tests/qemucapabilitiesdata/caps_1.6.0-1.replies b/tests/qemucapabilitiesdata/caps_1.6.0-1.replies
index 8932702..070bc62 100644
--- a/tests/qemucapabilitiesdata/caps_1.6.0-1.replies
+++ b/tests/qemucapabilitiesdata/caps_1.6.0-1.replies
@@ -2030,6 +2030,35 @@
 {
     "return": [
         {
+            "name": "msi",
+            "type": "on/off"
+        },
+        {
+            "name": "msix",
+            "type": "on/off"
+        },
+        {
+            "name": "intrs",
+            "type": "uint32"
+        },
+        {
+            "name": "slots",
+            "type": "uint32"
+        },
+        {
+            "name": "2",
+            "type": "uint32"
+        },
+        {
+            "name": "p3",
+            "type": "uint32"
+        }
+    ]
+}
+
+{
+    "return": [
+        {
             "name": "xenpv",
             "cpu-max": 1
         },
diff --git a/tests/qemucapabilitiesdata/caps_1.6.50-1.caps b/tests/qemucapabilitiesdata/caps_1.6.50-1.caps
index 1e2fb6a..bf9b53f 100644
--- a/tests/qemucapabilitiesdata/caps_1.6.50-1.caps
+++ b/tests/qemucapabilitiesdata/caps_1.6.50-1.caps
@@ -144,4 +144,5 @@
     <flag name='virtio-net'/>
     <flag name='qxl.vram64_size_mb'/>
     <flag name='qxl-vga.vram64_size_mb'/>
+    <flag name='nec-usb-xhci-ports'/>
   </qemuCaps>
diff --git a/tests/qemucapabilitiesdata/caps_1.6.50-1.replies b/tests/qemucapabilitiesdata/caps_1.6.50-1.replies
index b9bb9a3..0a37e12 100644
--- a/tests/qemucapabilitiesdata/caps_1.6.50-1.replies
+++ b/tests/qemucapabilitiesdata/caps_1.6.50-1.replies
@@ -1994,6 +1994,35 @@
 {
     "return": [
         {
+            "name": "msi",
+            "type": "on/off"
+        },
+        {
+            "name": "msix",
+            "type": "on/off"
+        },
+        {
+            "name": "intrs",
+            "type": "uint32"
+        },
+        {
+            "name": "slots",
+            "type": "uint32"
+        },
+        {
+            "name": "2",
+            "type": "uint32"
+        },
+        {
+            "name": "p3",
+            "type": "uint32"
+        }
+    ]
+}
+
+{
+    "return": [
+        {
             "name": "xenpv",
             "cpu-max": 1
         },
diff --git a/tests/qemucapabilitiesdata/caps_2.1.1-1.caps b/tests/qemucapabilitiesdata/caps_2.1.1-1.caps
index 8175743..f0c141a 100644
--- a/tests/qemucapabilitiesdata/caps_2.1.1-1.caps
+++ b/tests/qemucapabilitiesdata/caps_2.1.1-1.caps
@@ -162,4 +162,5 @@
     <flag name='qxl.vram64_size_mb'/>
     <flag name='qxl-vga.vram64_size_mb'/>
     <flag name='debug-threads'/>
+    <flag name='nec-usb-xhci-ports'/>
   </qemuCaps>
diff --git a/tests/qemucapabilitiesdata/caps_2.1.1-1.replies b/tests/qemucapabilitiesdata/caps_2.1.1-1.replies
index fabda55..02f1f4e 100644
--- a/tests/qemucapabilitiesdata/caps_2.1.1-1.replies
+++ b/tests/qemucapabilitiesdata/caps_2.1.1-1.replies
@@ -2450,6 +2450,39 @@
 }
 
 {
+    "return": [
+        {
+            "name": "msi",
+            "type": "on/off"
+        },
+        {
+            "name": "msix",
+            "type": "on/off"
+        },
+        {
+            "name": "superspeed-ports-first",
+            "type": "on/off"
+        },
+        {
+            "name": "intrs",
+            "type": "uint32"
+        },
+        {
+            "name": "slots",
+            "type": "uint32"
+        },
+        {
+            "name": "2",
+            "type": "uint32"
+        },
+        {
+            "name": "p3",
+            "type": "uint32"
+        }
+    ]
+}
+
+{
   "return": [
     {
       "name": "pc-1.3",
diff --git a/tests/qemucapabilitiesdata/caps_2.4.0-1.caps b/tests/qemucapabilitiesdata/caps_2.4.0-1.caps
index 2cdf961..32e9304 100644
--- a/tests/qemucapabilitiesdata/caps_2.4.0-1.caps
+++ b/tests/qemucapabilitiesdata/caps_2.4.0-1.caps
@@ -174,4 +174,5 @@
     <flag name='qxl-vga.vram64_size_mb'/>
     <flag name='debug-threads'/>
     <flag name='pxb'/>
+    <flag name='nec-usb-xhci-ports'/>
   </qemuCaps>
diff --git a/tests/qemucapabilitiesdata/caps_2.4.0-1.replies b/tests/qemucapabilitiesdata/caps_2.4.0-1.replies
index 299fdfc..fd17a0b 100644
--- a/tests/qemucapabilitiesdata/caps_2.4.0-1.replies
+++ b/tests/qemucapabilitiesdata/caps_2.4.0-1.replies
@@ -2969,6 +2969,47 @@
 }
 
 {
+    "return": [
+        {
+            "name": "msi",
+            "type": "on/off"
+        },
+        {
+            "name": "msix",
+            "type": "on/off"
+        },
+        {
+            "name": "superspeed-ports-first",
+            "type": "on/off"
+        },
+        {
+            "name": "force-pcie-endcap",
+            "type": "on/off"
+        },
+        {
+            "name": "streams",
+            "type": "on/off"
+        },
+        {
+            "name": "intrs",
+            "type": "uint32"
+        },
+        {
+            "name": "slots",
+            "type": "uint32"
+        },
+        {
+            "name": "2",
+            "type": "uint32"
+        },
+        {
+            "name": "p3",
+            "type": "uint32"
+        }
+    ]
+}
+
+{
   "return": [
     {
       "name": "pc-i440fx-2.4",
diff --git a/tests/qemucapabilitiesdata/caps_2.5.0-1.caps b/tests/qemucapabilitiesdata/caps_2.5.0-1.caps
index ecaa165..d572971 100644
--- a/tests/qemucapabilitiesdata/caps_2.5.0-1.caps
+++ b/tests/qemucapabilitiesdata/caps_2.5.0-1.caps
@@ -175,4 +175,5 @@
     <flag name='qxl-vga.vram64_size_mb'/>
     <flag name='debug-threads'/>
     <flag name='pxb'/>
+    <flag name='nec-usb-xhci-ports'/>
   </qemuCaps>
diff --git a/tests/qemucapabilitiesdata/caps_2.5.0-1.replies b/tests/qemucapabilitiesdata/caps_2.5.0-1.replies
index 7b692b5..f25b105 100644
--- a/tests/qemucapabilitiesdata/caps_2.5.0-1.replies
+++ b/tests/qemucapabilitiesdata/caps_2.5.0-1.replies
@@ -2989,6 +2989,47 @@
 }
 
 {
+    "return": [
+        {
+            "name": "msi",
+            "type": "on/off"
+        },
+        {
+            "name": "msix",
+            "type": "on/off"
+        },
+        {
+            "name": "superspeed-ports-first",
+            "type": "on/off"
+        },
+        {
+            "name": "force-pcie-endcap",
+            "type": "on/off"
+        },
+        {
+            "name": "streams",
+            "type": "on/off"
+        },
+        {
+            "name": "intrs",
+            "type": "uint32"
+        },
+        {
+            "name": "slots",
+            "type": "uint32"
+        },
+        {
+            "name": "2",
+            "type": "uint32"
+        },
+        {
+            "name": "p3",
+            "type": "uint32"
+        }
+    ]
+}
+
+{
   "return": [
     {
       "name": "pc-i440fx-2.4",
diff --git a/tests/qemucapabilitiesdata/caps_2.6.0-1.caps b/tests/qemucapabilitiesdata/caps_2.6.0-1.caps
index e243f8a..75e7919 100644
--- a/tests/qemucapabilitiesdata/caps_2.6.0-1.caps
+++ b/tests/qemucapabilitiesdata/caps_2.6.0-1.caps
@@ -180,4 +180,5 @@
     <flag name='secret'/>
     <flag name='pxb'/>
     <flag name='pxb-pcie'/>
+    <flag name='nec-usb-xhci-ports'/>
   </qemuCaps>
diff --git a/tests/qemucapabilitiesdata/caps_2.6.0-1.replies b/tests/qemucapabilitiesdata/caps_2.6.0-1.replies
index 8a4c3fe..d80fe31 100644
--- a/tests/qemucapabilitiesdata/caps_2.6.0-1.replies
+++ b/tests/qemucapabilitiesdata/caps_2.6.0-1.replies
@@ -2995,6 +2995,47 @@
 }
 
 {
+    "return": [
+        {
+            "name": "msi",
+            "type": "on/off"
+        },
+        {
+            "name": "msix",
+            "type": "on/off"
+        },
+        {
+            "name": "superspeed-ports-first",
+            "type": "on/off"
+        },
+        {
+            "name": "force-pcie-endcap",
+            "type": "on/off"
+        },
+        {
+            "name": "streams",
+            "type": "on/off"
+        },
+        {
+            "name": "intrs",
+            "type": "uint32"
+        },
+        {
+            "name": "slots",
+            "type": "uint32"
+        },
+        {
+            "name": "2",
+            "type": "uint32"
+        },
+        {
+            "name": "p3",
+            "type": "uint32"
+        }
+    ]
+}
+
+{
   "return": [
     {
       "name": "pc-i440fx-2.4",
