From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:48872) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QUQK3-0005mZ-6u for qemu-devel@nongnu.org; Wed, 08 Jun 2011 17:29:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QUQK1-0006So-Ce for qemu-devel@nongnu.org; Wed, 08 Jun 2011 17:29:54 -0400 Received: from mx1.redhat.com ([209.132.183.28]:3685) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QUQK0-0006Sd-T6 for qemu-devel@nongnu.org; Wed, 08 Jun 2011 17:29:53 -0400 Date: Thu, 9 Jun 2011 00:30:10 +0300 From: "Michael S. Tsirkin" Message-ID: <20110608213010.GA32546@redhat.com> References: <20110608194845.GC30805@redhat.com> <4DEFDF4A.1010501@web.de> <20110608205622.GA32260@redhat.com> <4DEFE229.4030000@web.de> <20110608210148.GC32260@redhat.com> <4DEFE3AF.50302@web.de> <20110608211457.GE32260@redhat.com> <4DEFE70D.90300@web.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4DEFE70D.90300@web.de> Subject: Re: [Qemu-devel] [PATCH v2 9/9] msi: Move PCI_MSI_PENDING_32/64 into pci_regs.h List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Jan Kiszka Cc: qemu-devel 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 > >>>>>>> > >>>>>>> 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. 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