On Fri, Apr 15, 2022 at 04:33:34PM +0530, Jay Khandkar wrote:
> Set the correct IOAPIC INTIN pin number for pci bus interrupt
> sources during MP spec table generation (on emulators). Currently,
> the pin number is set to the interrupt line field in the device's
> configuration space, which is set to either IRQ 10 or 11 as the
> boot rom driver expects. This works since qemu maps all ISA
> compatible PIC IRQs onto IOAPIC pins 0-15, including PIRQs. But it
> will break if, for some reason, the IRQ is routed to something
> other than the INTLINE value using, for eg. ACPI _CRS. This patch
> ensures the pin number is set to the correct value (16-23) that the
> INTx pin is routed to in APIC mode, in agreement with the ACPI _PRT
> provided routing.
> 
> Tested on a Linux 5.17.2 guest on qemu with the pci=nomsi and
> acpi=noirq boot parameters to force MP table parsing for interrupt
> sources.
> 
> Signed-off-by: Jay Khandkar <jaykhandkar2...@gmail.com>
> ---
>  src/fw/mptable.c | 30 ++++++++++++++++++++++++++++--
>  1 file changed, 28 insertions(+), 2 deletions(-)
> 
> diff --git a/src/fw/mptable.c b/src/fw/mptable.c
> index 47385cc..3a7b02f 100644
> --- a/src/fw/mptable.c
> +++ b/src/fw/mptable.c

If you look at the top of that file you'll see the notice:

// DO NOT ADD NEW FEATURES HERE.  (See paravirt.c / biostables.c instead.)

The mptable.c file in seabios is no longer modified.  If a guest OS
needs a different mptable then it will be necessary to extend qemu to
pass the desired mptable to seabios (as is done for smbios and acpi).

Cheers,
-Kevin
_______________________________________________
SeaBIOS mailing list -- seabios@seabios.org
To unsubscribe send an email to seabios-le...@seabios.org

Reply via email to