qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] Questions about acpi interrupt link device's ‘_PRS' fi


From: Paolo Bonzini
Subject: Re: [Qemu-devel] Questions about acpi interrupt link device's ‘_PRS' field
Date: Thu, 11 Apr 2019 09:44:03 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1

On 11/04/19 02:57, Li Qiang wrote:
> 
> 
> Paolo Bonzini <address@hidden <mailto:address@hidden>> 于2019
> 年4月10日周三 下午11:55写道:
> 
>     On 10/04/19 16:33, Li Qiang wrote:
>     > Hi all,
>     >
>     >  
>     >
>     > I see the link device ‘_PRS’  uses irq line 5, 10, 11 in
>     > ‘build_link_dev’ function.
>     >
>     > But I never see the 5 lines uses in the guest, just uses 10 and 11.
>     >
>     > Why this happen?  Maybe related with the guest?
> 
>     Because the MADT table tells the guest to only use lines 10 and 11.  The
>     BIOS configures the chipset that way.
> 
> 
> Hi Paolo,
> 
> I read the MADT spec, and found that it may related with 'Entry Type 2 :
> Interrupt Source Override'.
> However, in build_madt function, I found following code when fill
> interrupt source overide.
> 
> #define ACPI_BUILD_PCI_IRQS ((1<<5) | (1<<9) | (1<<10) | (1<<11))
>         if (!(ACPI_BUILD_PCI_IRQS & (1 << i))) {
>             /* No need for a INT source override structure. */
>             continue;
>         }
> 
> Seems the madt doesn't play a role?
> 
> Also in the seabios code, I see the pci interrupt linking device is
> routed hard-coded by pci_irqs.
> So this means the seabios doesn't use the madt/dsdt table to configure
> PCI interrupt routing?

Yeah, the MADT doesn't matter, I got confused.  It's just the firmware's
definition of pci_irqs that affects the behavior you're seeing.

Paolo



reply via email to

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