On 2011-06-08 23:14, Michael S. Tsirkin wrote: > On Wed, Jun 08, 2011 at 11:03:43PM +0200, Jan Kiszka wrote: >> On 2011-06-08 23:01, Michael S. Tsirkin wrote: >>> On Wed, Jun 08, 2011 at 10:57:13PM +0200, Jan Kiszka wrote: >>>> On 2011-06-08 22:56, Michael S. Tsirkin wrote: >>>>> On Wed, Jun 08, 2011 at 10:44:58PM +0200, Jan Kiszka wrote: >>>>>> On 2011-06-08 21:48, Michael S. Tsirkin wrote: >>>>>>> On Wed, Jun 08, 2011 at 06:21:52PM +0200, Jan Kiszka wrote: >>>>>>>> Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> >>>>>>> >>>>>>> pci_regs.h from linux does not have these >>>>>>> this is why we keep them in msi.c >>>>>>> >>>>>>> [mst@tuck linux-2.6]$ grep PCI_MSI_ include/linux/pci_regs.h >>>>>>> #define PCI_MSI_FLAGS 2 /* Various flags */ >>>>>>> #define PCI_MSI_FLAGS_64BIT 0x80 /* 64-bit addresses allowed */ >>>>>>> #define PCI_MSI_FLAGS_QSIZE 0x70 /* Message queue size configured >>>>>>> */ >>>>>>> #define PCI_MSI_FLAGS_QMASK 0x0e /* Maximum queue size available >>>>>>> */ >>>>>>> #define PCI_MSI_FLAGS_ENABLE 0x01 /* MSI feature enabled */ >>>>>>> #define PCI_MSI_FLAGS_MASKBIT 0x100 /* 64-bit mask bits allowed */ >>>>>>> #define PCI_MSI_RFU 3 /* Rest of capability flags */ >>>>>>> #define PCI_MSI_ADDRESS_LO 4 /* Lower 32 bits */ >>>>>>> #define PCI_MSI_ADDRESS_HI 8 /* Upper 32 bits (if >>>>>>> PCI_MSI_FLAGS_64BIT set) */ >>>>>>> #define PCI_MSI_DATA_32 8 /* 16 bits of data for 32-bit >>>>>>> devices */ >>>>>>> #define PCI_MSI_MASK_32 12 /* Mask bits register for 32-bit >>>>>>> devices */ >>>>>>> #define PCI_MSI_DATA_64 12 /* 16 bits of data for 64-bit >>>>>>> devices */ >>>>>>> #define PCI_MSI_MASK_64 16 /* Mask bits register for 64-bit >>>>>>> devices */ >>>>>>> >>>>>>> >>>>>>> If you want to move them, please send them upstream we'll merge when >>>>>>> they are there. >>>>>> >>>>>> In fact, both defines are already in libpci. Since 3.0.0. Released 5 >>>>>> years ago. OK, I'll send a header resync patch against a more recent >>>>>> release. >>>>>> >>>>>> Then we should just lack something like PCI_MSIX_CTRL. I will have a >>>>>> look. >>>>> >>>>> PCI_MSIX_FLAGS is the same. >>>> >>>> That does not exist in libpci's header. >>>> >>>> Jan >>>> >>> >>> The upstream I meant is pci_Regs.h in Linux. >>> >> >> Why not sync against >> git://git.kernel.org/pub/scm/utils/pciutils/pciutils.git? Sounds more >> appropriate. >> >> Jan >> > > We are 100% aligned with Linux changing that seems pointless. > I think Linux gets new hardware features faster and has a better > chance to be correct. > We already pull headers from Linux so that's one dependency less. >
The kernel appears to gain defines based on what it uses. The libpci headers seem to serve more use cases, at least it had the missing fields for several years and is a few hundred lines longer. Jan
signature.asc
Description: OpenPGP digital signature