qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] Re: [PATCH v2 2/9] pcie: helper functions for pcie exte


From: Isaku Yamahata
Subject: Re: [Qemu-devel] Re: [PATCH v2 2/9] pcie: helper functions for pcie extended capability.
Date: Sun, 19 Sep 2010 13:11:21 +0900
User-agent: Mutt/1.5.19 (2009-01-05)

On Wed, Sep 15, 2010 at 03:05:13PM +0200, Michael S. Tsirkin wrote:
> On Wed, Sep 15, 2010 at 02:50:01PM +0900, Isaku Yamahata wrote:
> > On Wed, Sep 08, 2010 at 01:31:22PM +0300, Michael S. Tsirkin wrote:
> > > > +
> > > > +static void pcie_notify(PCIDevice *dev, uint16_t vector,
> > > > +                        bool trigger, int level)
> > > > +{
> > > > +    /* masking/masking interrupt is handled by upper layer.
> > > > +     * i.e. msix_notify() for MSI-X
> > > > +     *      msi_notify()  for MSI
> > > > +     *      pci_set_irq() for INTx
> > > > +     */
> > > 
> > > So this will send another interrupt when level is 0?
> > 
> > Yes. The condition that triggers MSI-X/MSI can be different from
> > the one that asserts INTx as you can see it in the following code.
> > trigger and level are set independently.
> 
> Looks like a bug ...

No. It can and the spec requires it. The mode of INTx and MSI is exclusive.
I think that it's quite reasonable to assume the basic knowledge
of express. For example

>From 6.7.3.4. Software Notification of Hot-Plug Events

> If the Port is enabled for level-triggered interrupt signaling using
> the INTx messages, the virtualization INTx wire must be asserted whenever
> and as long as the following conditions are satisfied:

and the list of conditions..

> If the Port is enabled for edge-triggered interrupt signaling using
> MSI or MSI-X, an interrupt message must be sent every time the logical
> AND of the following conditions transitions from FALSE to TRUE:

and the list of conditions.
-- 
yamahata



reply via email to

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