qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2 9/9] msi: Move PCI_MSI_PENDING_32/64 into pci


From: Michael S. Tsirkin
Subject: Re: [Qemu-devel] [PATCH v2 9/9] msi: Move PCI_MSI_PENDING_32/64 into pci_regs.h
Date: Thu, 9 Jun 2011 00:30:10 +0300
User-agent: Mutt/1.5.21 (2010-09-15)

On Wed, Jun 08, 2011 at 11:18:05PM +0200, Jan Kiszka wrote:
> 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 <address@hidden>
> >>>>>>>
> >>>>>>> pci_regs.h from linux does not have these
> >>>>>>> this is why we keep them in msi.c
> >>>>>>>
> >>>>>>> address@hidden 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.

I don't expect trouble adding stuff we might need though.

> 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
> 

Some defines got into Linux already, specifically
MSIX_TABLE_OFFSET, MSIX_PBA_OFFSET
(with different names)


-- 
MST



reply via email to

[Prev in Thread] Current Thread [Next in Thread]