qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 10/25] spapr: add MMIO handlers for the XIVE int


From: David Gibson
Subject: Re: [Qemu-devel] [PATCH 10/25] spapr: add MMIO handlers for the XIVE interrupt sources
Date: Thu, 30 Nov 2017 15:26:24 +1100
User-agent: Mutt/1.9.1 (2017-09-22)

On Wed, Nov 29, 2017 at 02:56:39PM +0100, Cédric Le Goater wrote:
> >>>> +    switch (offset) {
> >>>> +    case 0:
> >>>> +        spapr_xive_source_eoi(xive, lisn);
> >>>
> >>> Hrm.  I don't love that you're dealing with clearing that LSI bit
> >>> here, but setting it at a different level.
> >>>
> >>> The state machines are doing my head in a bit, is there any way
> >>> you could derive the STATUS_SENT bit from the PQ bits?
> >>
> >> Yes. I should. 
> >>
> >> I am also lacking a guest driver to exercise these LSIs so I didn't
> >> pay a lot of attention to level interrupts. Any idea ?
> > 
> > How about an old-school emulated PCI device?  Maybe rtl8139?
> 
> Perfect. The current model is working but I will see how I can 
> improve it to use the PQ bits instead.
> 
> I also found a couple of issues on the way. 
> 
> We do need the "#interrupt-cells" and "interrupt-controller" 
> properties. They are missing from the XIVE sPAPR specs but there
> is no other way to find the parent controller for the LSIs ... 
> I have re-asked the pHyp team to include them in the specs and 
> fixed the QEMU model.

Told ya so :).

> Linux thinks the interrupt type is an "edge" and not a "level" one :

Right "edge" and message interrupts work basically the same way.

>   (initramfs) cat /proc/interrupts 
>              CPU0       
>    16:          0  XIVE-IPI    0 Edge      IPI
>    17:         14  XIVE-IRQ 4100 Edge      enp0s0
>    18:          0  XIVE-IRQ 4097 Edge      RAS_HOTPLUG
>    19:          0  XIVE-IRQ 4096 Edge      RAS_EPOW
>    20:         20  XIVE-IRQ 4098 Edge      hvc_console
> 
> and XIVE complains :
> 
>   [    8.319970] xive: Interrupt 17 (HW 0x1004) type mismatch, Linux says 
> Edge, FW says Level
> 
> I am digging this one.
> 
> Thanks.
> 
> C.
> 

-- 
David Gibson                    | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au  | minimalist, thank you.  NOT _the_ _other_
                                | _way_ _around_!
http://www.ozlabs.org/~dgibson

Attachment: signature.asc
Description: PGP signature


reply via email to

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