[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v3 2/5] net/vmxnet3: return correct value for VMXNET
From: |
Miao Yan |
Subject: |
[Qemu-devel] [PATCH v3 2/5] net/vmxnet3: return correct value for VMXNET3_CMD_GET_DID_* command |
Date: |
Tue, 22 Dec 2015 22:06:08 -0800 |
VMXNET3_CMD_GET_DID_LO should return PCI ID of the device
and VMXNET3_CMD_GET_DID_HI should return vmxnet3 revision ID.
This behavior can be observed by the following steps:
1) run a Linux distro on esxi server (5.x+)
2) modify vmxnet3 Linux driver to read DID_HI and DID_LO:
VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_CMD, VMXNET3_CMD_GET_DID_LO);
lo = VMXNET3_READ_BAR1_REG(adapter, VMXNET3_REG_CMD);
VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_CMD, VMXNET3_CMD_GET_DID_HI);
high = VMXNET3_READ_BAR1_REG(adapter, VMXNET3_REG_CMD);
pr_info("vmxnet3 DID lo: 0x%x, high: 0x%x\n", lo, high);
The kernel log will have something like the following message:
[ 7005.111170] vmxnet3 DID lo: 0x7b0, high: 0x1
Signed-off-by: Miao Yan <address@hidden>
---
Changes in v3:
- mention esxi version in commit message
hw/net/vmxnet3.c | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/hw/net/vmxnet3.c b/hw/net/vmxnet3.c
index 9185408..cddbf6d 100644
--- a/hw/net/vmxnet3.c
+++ b/hw/net/vmxnet3.c
@@ -1640,6 +1640,14 @@ static void vmxnet3_handle_command(VMXNET3State *s,
uint64_t cmd)
"adaptive ring info flags");
break;
+ case VMXNET3_CMD_GET_DID_LO:
+ VMW_CBPRN("Set: Get lower part of device ID");
+ break;
+
+ case VMXNET3_CMD_GET_DID_HI:
+ VMW_CBPRN("Set: Get upper part of device ID");
+ break;
+
default:
VMW_CBPRN("Received unknown command: %" PRIx64, cmd);
break;
@@ -1683,6 +1691,14 @@ static uint64_t vmxnet3_get_command_status(VMXNET3State
*s)
ret = VMXNET3_DISABLE_ADAPTIVE_RING;
break;
+ case VMXNET3_CMD_GET_DID_LO:
+ ret = PCI_DEVICE_ID_VMWARE_VMXNET3;
+ break;
+
+ case VMXNET3_CMD_GET_DID_HI:
+ ret = VMXNET3_DEVICE_REVISION;
+ break;
+
default:
VMW_WRPRN("Received request for unknown command: %x", s->last_command);
ret = -1;
--
1.9.1
- [Qemu-devel] [PATCH v3 0/5] correct some register return values for vxmnet3, Miao Yan, 2015/12/23
- [Qemu-devel] [PATCH v3 1/5] net/vmxnet3: return 1 on device activation failure, Miao Yan, 2015/12/23
- [Qemu-devel] [PATCH v3 3/5] net/vmxnet3: return correct value for VMXNET3_CMD_GET_DEV_EXTRA_INFO, Miao Yan, 2015/12/23
- [Qemu-devel] [PATCH v3 2/5] net/vmxnet3: return correct value for VMXNET3_CMD_GET_DID_* command,
Miao Yan <=
- [Qemu-devel] [PATCH v3 5/5] net/vmxnet3: rename VMXNET3_DEVICE_VERSION to VMXNET3_UPT_REVISION, Miao Yan, 2015/12/23
- [Qemu-devel] [PATCH v3 4/5] net/vmxnet3: return 0 on unknown command, Miao Yan, 2015/12/23
- Re: [Qemu-devel] [PATCH v3 0/5] correct some register return values for vxmnet3, Dmitry Fleytman, 2015/12/23