The patch adds a capability for spapr-pci-host-bridge.numa_node.
Signed-off-by: Shivaprasad G Bhat <sbhat@linux.vnet.ibm.com>
---
src/qemu/qemu_capabilities.c | 8 ++
src/qemu/qemu_capabilities.h | 1
.../caps_2.6.0.ppc64le.replies | 60 +++++++++++-
.../caps_2.9.0.ppc64le.replies | 100 +++++++++++++++++++-
tests/qemucapabilitiesdata/caps_2.9.0.ppc64le.xml | 1
5 files changed, 156 insertions(+), 14 deletions(-)
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index 04aa8d5..b158e75 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -431,6 +431,7 @@ VIR_ENUM_IMPL(virQEMUCaps, QEMU_CAPS_LAST,
"virtio.ats",
"loadparm",
"spapr-pci-host-bridge",
+ "spapr-pci-host-bridge.numa_node",
);
@@ -1700,6 +1701,10 @@ static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsVirtioNet[] = {
{ "host_mtu", QEMU_CAPS_VIRTIO_NET_HOST_MTU },
};
+static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsSpaprPCIHostBridge[] = {
+ { "numa_node", QEMU_CAPS_SPAPR_PCI_HOST_BRIDGE_NUMA_NODE },
+};
+
static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsVirtioSCSI[] = {
{ "iothread", QEMU_CAPS_VIRTIO_SCSI_IOTHREAD },
};
@@ -1900,6 +1905,9 @@ static struct virQEMUCapsObjectTypeProps virQEMUCapsObjectProps[] = {
{ "intel-iommu", virQEMUCapsObjectPropsIntelIOMMU,
ARRAY_CARDINALITY(virQEMUCapsObjectPropsIntelIOMMU),
QEMU_CAPS_DEVICE_INTEL_IOMMU},
+ { "spapr-pci-host-bridge", virQEMUCapsObjectPropsSpaprPCIHostBridge,
+ ARRAY_CARDINALITY(virQEMUCapsObjectPropsSpaprPCIHostBridge),
+ QEMU_CAPS_DEVICE_SPAPR_PCI_HOST_BRIDGE},
};
struct virQEMUCapsPropTypeObjects {
diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
index 8250b57..65bc350 100644
--- a/src/qemu/qemu_capabilities.h
+++ b/src/qemu/qemu_capabilities.h
@@ -417,6 +417,7 @@ typedef enum {
QEMU_CAPS_VIRTIO_PCI_ATS, /* virtio-*-pci.ats */
QEMU_CAPS_LOADPARM, /* -machine loadparm */
QEMU_CAPS_DEVICE_SPAPR_PCI_HOST_BRIDGE, /* -device spapr-pci-host-bridge */
+ QEMU_CAPS_SPAPR_PCI_HOST_BRIDGE_NUMA_NODE, /* spapr-pci-host-bridge.numa_node= */
QEMU_CAPS_LAST /* this must always be the last item */
} virQEMUCapsFlags;
diff --git a/tests/qemucapabilitiesdata/caps_2.6.0.ppc64le.replies b/tests/qemucapabilitiesdata/caps_2.6.0.ppc64le.replies
index 6350269..2e4fa72 100644
--- a/tests/qemucapabilitiesdata/caps_2.6.0.ppc64le.replies
+++ b/tests/qemucapabilitiesdata/caps_2.6.0.ppc64le.replies
@@ -3812,6 +3812,52 @@
{
"return": [
{
+ "name": "dynamic-reconfiguration",
+ "type": "bool"
+ },
+ {
+ "name": "dma_win_size",
+ "type": "uint64"
+ },
+ {
+ "name": "dma_win_addr",
+ "type": "uint64"
+ },
+ {
+ "name": "io_win_size",
+ "type": "uint64"
+ },
+ {
+ "name": "mem_win_size",
+ "type": "uint64"
+ },
+ {
+ "name": "buid",
+ "type": "uint64"
+ },
+ {
+ "name": "io_win_addr",
+ "type": "uint64"
+ },
+ {
+ "name": "liobn",
+ "type": "uint32"
+ },
+ {
+ "name": "mem_win_addr",
+ "type": "uint64"
+ },
+ {
+ "name": "index",
+ "type": "uint32"
+ }
+ ],
+ "id": "libvirt-41"
+}
+
+{
+ "return": [
+ {
"name": "ref405ep",
"cpu-max": 1
},
@@ -3878,7 +3924,7 @@
"cpu-max": 255
}
],
- "id": "libvirt-41"
+ "id": "libvirt-42"
}
{
@@ -5180,19 +5226,19 @@
"name": "MPC8541E_v11"
}
],
- "id": "libvirt-42"
+ "id": "libvirt-43"
}
{
"return": [
],
- "id": "libvirt-43"
+ "id": "libvirt-44"
}
{
"return": [
],
- "id": "libvirt-44"
+ "id": "libvirt-45"
}
{
@@ -6159,7 +6205,7 @@
"option": "drive"
}
],
- "id": "libvirt-45"
+ "id": "libvirt-46"
}
{
@@ -6193,7 +6239,7 @@
"capability": "postcopy-ram"
}
],
- "id": "libvirt-46"
+ "id": "libvirt-47"
}
{
@@ -14198,7 +14244,7 @@
"meta-type": "array"
}
],
- "id": "libvirt-47"
+ "id": "libvirt-48"
}
{
diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.ppc64le.replies b/tests/qemucapabilitiesdata/caps_2.9.0.ppc64le.replies
index 0c85f9e..0b286dc 100644
--- a/tests/qemucapabilitiesdata/caps_2.9.0.ppc64le.replies
+++ b/tests/qemucapabilitiesdata/caps_2.9.0.ppc64le.replies
@@ -4274,6 +4274,92 @@
{
"return": [
{
+ "name": "dynamic-reconfiguration",
+ "type": "bool"
+ },
+ {
+ "name": "ddw",
+ "type": "bool"
+ },
+ {
+ "name": "dma_win_size",
+ "type": "uint64"
+ },
+ {
+ "name": "numa_node",
+ "type": "uint32"
+ },
+ {
+ "name": "pre-2.8-migration",
+ "type": "bool"
+ },
+ {
+ "name": "mem64_win_size",
+ "type": "uint64"
+ },
+ {
+ "name": "pgsz",
+ "type": "uint64"
+ },
+ {
+ "name": "liobn64",
+ "type": "uint32"
+ },
+ {
+ "name": "dma_win_addr",
+ "type": "uint64"
+ },
+ {
+ "name": "io_win_size",
+ "type": "uint64"
+ },
+ {
+ "name": "mem_win_size",
+ "type": "uint64"
+ },
+ {
+ "name": "buid",
+ "type": "uint64"
+ },
+ {
+ "name": "dma64_win_addr",
+ "type": "uint64"
+ },
+ {
+ "name": "mem64_win_addr",
+ "type": "uint64"
+ },
+ {
+ "name": "pcie-extended-configuration-space",
+ "type": "bool"
+ },
+ {
+ "name": "io_win_addr",
+ "type": "uint64"
+ },
+ {
+ "name": "liobn",
+ "type": "uint32"
+ },
+ {
+ "name": "mem_win_addr",
+ "type": "uint64"
+ },
+ {
+ "name": "mem64_win_pciaddr",
+ "type": "uint64"
+ },
+ {
+ "name": "index",
+ "type": "uint32"
+ }
+ ],
+ "id": "libvirt-41"
+}
+
+{
+ "return": [
+ {
"hotpluggable-cpus": false,
"name": "ref405ep",
"cpu-max": 1
@@ -4381,7 +4467,7 @@
"cpu-max": 1
}
],
- "id": "libvirt-41"
+ "id": "libvirt-42"
}
{
@@ -6557,19 +6643,19 @@
"static": false
}
],
- "id": "libvirt-42"
+ "id": "libvirt-43"
}
{
"return": [
],
- "id": "libvirt-43"
+ "id": "libvirt-44"
}
{
"return": [
],
- "id": "libvirt-44"
+ "id": "libvirt-45"
}
{
@@ -7679,7 +7765,7 @@
"option": "drive"
}
],
- "id": "libvirt-45"
+ "id": "libvirt-46"
}
{
@@ -7721,7 +7807,7 @@
"capability": "release-ram"
}
],
- "id": "libvirt-46"
+ "id": "libvirt-47"
}
{
@@ -17007,7 +17093,7 @@
"meta-type": "object"
}
],
- "id": "libvirt-47"
+ "id": "libvirt-48"
}
{
diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.ppc64le.xml b/tests/qemucapabilitiesdata/caps_2.9.0.ppc64le.xml
index 29721b0..ba22878 100644
--- a/tests/qemucapabilitiesdata/caps_2.9.0.ppc64le.xml
+++ b/tests/qemucapabilitiesdata/caps_2.9.0.ppc64le.xml
@@ -168,6 +168,7 @@
<flag name='virtio.iommu_platform'/>
<flag name='virtio.ats'/>
<flag name='spapr-pci-host-bridge'/>
+ <flag name='spapr-pci-host-bridge.numa_node'/>
<version>2009000</version>
<kvmVersion>0</kvmVersion>
<package> (v2.9.0)</package>
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
On Mon, 2017-07-17 at 21:28 +0530, Shivaprasad G Bhat wrote: [...] > @@ -1900,6 +1905,9 @@ static struct virQEMUCapsObjectTypeProps virQEMUCapsObjectProps[] = { > { "intel-iommu", virQEMUCapsObjectPropsIntelIOMMU, > ARRAY_CARDINALITY(virQEMUCapsObjectPropsIntelIOMMU), > QEMU_CAPS_DEVICE_INTEL_IOMMU}, > + { "spapr-pci-host-bridge", virQEMUCapsObjectPropsSpaprPCIHostBridge, > + ARRAY_CARDINALITY(virQEMUCapsObjectPropsSpaprPCIHostBridge), > + QEMU_CAPS_DEVICE_SPAPR_PCI_HOST_BRIDGE}, There should be a space before the closing curly brace. Reviewed-by: Andrea Bolognani <abologna@redhat.com> -- Andrea Bolognani / Red Hat / Virtualization -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
On 07/19/2017 07:08 PM, Andrea Bolognani wrote: > On Mon, 2017-07-17 at 21:28 +0530, Shivaprasad G Bhat wrote: > [...] >> @@ -1900,6 +1905,9 @@ static struct virQEMUCapsObjectTypeProps virQEMUCapsObjectProps[] = { >> { "intel-iommu", virQEMUCapsObjectPropsIntelIOMMU, >> ARRAY_CARDINALITY(virQEMUCapsObjectPropsIntelIOMMU), >> QEMU_CAPS_DEVICE_INTEL_IOMMU}, >> + { "spapr-pci-host-bridge", virQEMUCapsObjectPropsSpaprPCIHostBridge, >> + ARRAY_CARDINALITY(virQEMUCapsObjectPropsSpaprPCIHostBridge), >> + QEMU_CAPS_DEVICE_SPAPR_PCI_HOST_BRIDGE}, > There should be a space before the closing curly brace. > Thanks.. I was just following the previous pattern at " QEMU_CAPS_DEVICE_INTEL_IOMMU}," Will fix that along. :) > Reviewed-by: Andrea Bolognani <abologna@redhat.com> > > -- > Andrea Bolognani / Red Hat / Virtualization > -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
© 2016 - 2025 Red Hat, Inc.