[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 04/13] pcie: Introduce function for DSN capabili
From: |
Leonid Bloch |
Subject: |
Re: [Qemu-devel] [PATCH 04/13] pcie: Introduce function for DSN capability creation |
Date: |
Mon, 22 Feb 2016 18:42:58 +0200 |
On Thu, Feb 18, 2016 at 12:41 PM, Michael S. Tsirkin <address@hidden> wrote:
> On Thu, Feb 18, 2016 at 12:07:25PM +0200, Leonid Bloch wrote:
>> From: Dmitry Fleytman <address@hidden>
>>
>> Signed-off-by: Dmitry Fleytman <address@hidden>
>> Signed-off-by: Leonid Bloch <address@hidden>
>> ---
>> hw/pci/pcie.c | 7 +++++++
>> include/hw/pci/pcie.h | 1 +
>> include/hw/pci/pcie_regs.h | 4 ++++
>> 3 files changed, 12 insertions(+)
>>
>> diff --git a/hw/pci/pcie.c b/hw/pci/pcie.c
>> index be3a318..f7ac7d4 100644
>> --- a/hw/pci/pcie.c
>> +++ b/hw/pci/pcie.c
>> @@ -690,3 +690,10 @@ void pcie_ari_init(PCIDevice *dev, uint16_t offset,
>> uint16_t nextfn)
>> offset, PCI_ARI_SIZEOF);
>> pci_set_long(dev->config + offset + PCI_ARI_CAP, (nextfn & 0xff) << 8);
>> }
>> +
>> +void pcie_dsn_init(PCIDevice *dev, uint16_t offset, uint64_t val)
>> +{
>> + pcie_add_capability(dev, PCI_EXT_CAP_ID_DSN, PCI_DSN_VER,
>> + offset, PCI_EXT_CAP_DSN_SIZEOF);
>> + pci_set_quad(dev->config + offset + PCI_DSN_CAP, val);
>> +}
>> diff --git a/include/hw/pci/pcie.h b/include/hw/pci/pcie.h
>> index cbbf0c5..83a325c 100644
>> --- a/include/hw/pci/pcie.h
>> +++ b/include/hw/pci/pcie.h
>> @@ -119,6 +119,7 @@ void pcie_add_capability(PCIDevice *dev,
>> uint16_t offset, uint16_t size);
>>
>> void pcie_ari_init(PCIDevice *dev, uint16_t offset, uint16_t nextfn);
>> +void pcie_dsn_init(PCIDevice *dev, uint16_t offset, uint64_t val);
>
>
> val is not a good parameter name.
> Please make it meaningful. E.g. serial_number.
>
> I would also write device_serial_number out fully
> since PCI spec does not say DSN anywhere.
Changed to dev_ser_num and ser_num.
>
>>
>> extern const VMStateDescription vmstate_pcie_device;
>>
>> diff --git a/include/hw/pci/pcie_regs.h b/include/hw/pci/pcie_regs.h
>> index a95522a..a891a45 100644
>> --- a/include/hw/pci/pcie_regs.h
>> +++ b/include/hw/pci/pcie_regs.h
>> @@ -79,6 +79,10 @@
>> #define PCI_ARI_VER 1
>> #define PCI_ARI_SIZEOF 8
>>
>> +/* DSN */
>> +#define PCI_DSN_VER 1
>> +#define PCI_DSN_CAP 0x04
>> +
>> /* AER */
>> #define PCI_ERR_VER 2
>> #define PCI_ERR_SIZEOF 0x48
>
> Again no need for this: you have a wrapper so
> they will never be used anywhere else. Just document it well where
> you use these numbers.
Switched to static const ints in the function itself. There the "dsn"
remained (pci_dsn_ver, pci_dsn_cap), because they are used only inside
of a function that deals with the device serial number, so it should
be clear enough.
>
>> --
>> 2.5.0
- [Qemu-devel] [PATCH 01/13] msix: make msix_clr_pending() visible for clients, (continued)
- [Qemu-devel] [PATCH 01/13] msix: make msix_clr_pending() visible for clients, Leonid Bloch, 2016/02/18
- [Qemu-devel] [PATCH 03/13] pcie: Add support for PCIe CAP v1, Leonid Bloch, 2016/02/18
- [Qemu-devel] [PATCH 05/13] vmxnet3: Use generic function for DSN capability definition, Leonid Bloch, 2016/02/18
- [Qemu-devel] [PATCH 04/13] pcie: Introduce function for DSN capability creation, Leonid Bloch, 2016/02/18
- [Qemu-devel] [PATCH 06/13] net: Introduce Toeplitz hash calculator, Leonid Bloch, 2016/02/18
- [Qemu-devel] [PATCH 08/13] vmxnet3: Use common MAC address tracing macros, Leonid Bloch, 2016/02/18
- [Qemu-devel] [PATCH 07/13] net: Add macros for MAC address tracing, Leonid Bloch, 2016/02/18
- [Qemu-devel] [PATCH 10/13] rtl8139: Move more TCP definitions to common header, Leonid Bloch, 2016/02/18
- [Qemu-devel] [PATCH 09/13] net_pkt: Name vmxnet3 packet abstractions more generic, Leonid Bloch, 2016/02/18
- [Qemu-devel] [PATCH 11/13] net_pkt: Extend packet abstraction as required by e1000e functionality, Leonid Bloch, 2016/02/18
- [Qemu-devel] [PATCH 12/13] e1000_regs: Add definitions for Intel 82574-specific bits, Leonid Bloch, 2016/02/18
- [Qemu-devel] [PATCH 13/13] net: Introduce e1000e device emulation, Leonid Bloch, 2016/02/18