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: Jan Kiszka
Subject: Re: [Qemu-devel] [PATCH v2 9/9] msi: Move PCI_MSI_PENDING_32/64 into pci_regs.h
Date: Wed, 08 Jun 2011 23:24:10 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666

On 2011-06-08 23:18, 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. 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.

OK, looks like that "added value" comes from merging pci_regs.h with
pci_ids.h. Never mind, will work against the kernel.

Jan

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

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