[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v9 13/23] hw/pvrdma: Make sure PCI function 0 is vmx
From: |
Yuval Shaia |
Subject: |
[Qemu-devel] [PATCH v9 13/23] hw/pvrdma: Make sure PCI function 0 is vmxnet3 |
Date: |
Fri, 21 Dec 2018 16:40:27 +0200 |
Guest driver enforces it, we should also.
Signed-off-by: Yuval Shaia <address@hidden>
Reviewed-by: Marcel Apfelbaum <address@hidden>
---
hw/rdma/vmw/pvrdma.h | 2 ++
hw/rdma/vmw/pvrdma_main.c | 12 ++++++++++++
2 files changed, 14 insertions(+)
diff --git a/hw/rdma/vmw/pvrdma.h b/hw/rdma/vmw/pvrdma.h
index b019cb843a..10a3c4fb7c 100644
--- a/hw/rdma/vmw/pvrdma.h
+++ b/hw/rdma/vmw/pvrdma.h
@@ -20,6 +20,7 @@
#include "hw/pci/pci.h"
#include "hw/pci/msix.h"
#include "chardev/char-fe.h"
+#include "hw/net/vmxnet3_defs.h"
#include "../rdma_backend_defs.h"
#include "../rdma_rm_defs.h"
@@ -85,6 +86,7 @@ typedef struct PVRDMADev {
RdmaBackendDev backend_dev;
RdmaDeviceResources rdma_dev_res;
CharBackend mad_chr;
+ VMXNET3State *func0;
} PVRDMADev;
#define PVRDMA_DEV(dev) OBJECT_CHECK(PVRDMADev, (dev), PVRDMA_HW_NAME)
diff --git a/hw/rdma/vmw/pvrdma_main.c b/hw/rdma/vmw/pvrdma_main.c
index ac8c092db0..b35b5dc5f0 100644
--- a/hw/rdma/vmw/pvrdma_main.c
+++ b/hw/rdma/vmw/pvrdma_main.c
@@ -565,6 +565,7 @@ static void pvrdma_realize(PCIDevice *pdev, Error **errp)
PVRDMADev *dev = PVRDMA_DEV(pdev);
Object *memdev_root;
bool ram_shared = false;
+ PCIDevice *func0;
init_pr_dbg();
@@ -576,6 +577,17 @@ static void pvrdma_realize(PCIDevice *pdev, Error **errp)
return;
}
+ func0 = pci_get_function_0(pdev);
+ /* Break if not vmxnet3 device in slot 0 */
+ if (strcmp(object_get_typename(&func0->qdev.parent_obj), TYPE_VMXNET3)) {
+ pr_dbg("func0 type is %s\n",
+ object_get_typename(&func0->qdev.parent_obj));
+ error_setg(errp, "Device on %x.0 must be %s", PCI_SLOT(pdev->devfn),
+ TYPE_VMXNET3);
+ return;
+ }
+ dev->func0 = VMXNET3(func0);
+
memdev_root = object_resolve_path("/objects", NULL);
if (memdev_root) {
object_child_foreach(memdev_root, pvrdma_check_ram_shared,
&ram_shared);
--
2.17.2
- [Qemu-devel] [PATCH v9 03/23] hw/rdma: Return qpn 1 if ibqp is NULL, (continued)
- [Qemu-devel] [PATCH v9 03/23] hw/rdma: Return qpn 1 if ibqp is NULL, Yuval Shaia, 2018/12/21
- [Qemu-devel] [PATCH v9 02/23] hw/rdma: Add ability to force notification without re-arm, Yuval Shaia, 2018/12/21
- [Qemu-devel] [PATCH v9 06/23] hw/pvrdma: Make function reset_device return void, Yuval Shaia, 2018/12/21
- [Qemu-devel] [PATCH v9 04/23] hw/rdma: Abort send-op if fail to create addr handler, Yuval Shaia, 2018/12/21
- [Qemu-devel] [PATCH v9 08/23] hw/pvrdma: Set the correct opcode for recv completion, Yuval Shaia, 2018/12/21
- [Qemu-devel] [PATCH v9 07/23] hw/pvrdma: Make default pkey 0xFFFF, Yuval Shaia, 2018/12/21
- [Qemu-devel] [PATCH v9 09/23] hw/pvrdma: Set the correct opcode for send completion, Yuval Shaia, 2018/12/21
- [Qemu-devel] [PATCH v9 05/23] hw/rdma: Add support for MAD packets, Yuval Shaia, 2018/12/21
- [Qemu-devel] [PATCH v9 10/23] qapi: Define new QMP message for pvrdma, Yuval Shaia, 2018/12/21
- [Qemu-devel] [PATCH v9 12/23] vmxnet3: Move some definitions to header file, Yuval Shaia, 2018/12/21
- [Qemu-devel] [PATCH v9 13/23] hw/pvrdma: Make sure PCI function 0 is vmxnet3,
Yuval Shaia <=
- [Qemu-devel] [PATCH v9 11/23] hw/pvrdma: Add support to allow guest to configure GID table, Yuval Shaia, 2018/12/21
- [Qemu-devel] [PATCH v9 14/23] hw/rdma: Initialize node_guid from vmxnet3 mac address, Yuval Shaia, 2018/12/21
- [Qemu-devel] [PATCH v9 15/23] hw/pvrdma: Make device state depend on Ethernet function state, Yuval Shaia, 2018/12/21
- [Qemu-devel] [PATCH v9 19/23] vl: Introduce shutdown_notifiers, Yuval Shaia, 2018/12/21
- [Qemu-devel] [PATCH v9 16/23] hw/pvrdma: Fill all CQE fields, Yuval Shaia, 2018/12/21
- [Qemu-devel] [PATCH v9 18/23] hw/rdma: Remove unneeded code that handles more that one port, Yuval Shaia, 2018/12/21
- [Qemu-devel] [PATCH v9 17/23] hw/pvrdma: Fill error code in command's response, Yuval Shaia, 2018/12/21
- [Qemu-devel] [PATCH v9 22/23] hw/rdma: Do not call rdma_backend_del_gid on an empty gid, Yuval Shaia, 2018/12/21
- [Qemu-devel] [PATCH v9 20/23] hw/pvrdma: Clean device's resource when system is shutdown, Yuval Shaia, 2018/12/21
- [Qemu-devel] [PATCH v9 23/23] docs: Update pvrdma device documentation, Yuval Shaia, 2018/12/21