Re: [PATCH v4 3/5] x86/PCI: Add $IRT PIRQ routing table support

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

 



On 3/31/22 10:11, Maciej W. Rozycki wrote:
> Handle the $IRT PCI IRQ Routing Table format used by AMI for its BCP 
> (BIOS Configuration Program) external tool meant for tweaking BIOS 
> structures without the need to rebuild it from sources[1].
> 
> The $IRT format has been invented by AMI before Microsoft has come up 
> with its $PIR format and a $IRT table is therefore there in some systems 
> that lack a $PIR table, such as the DataExpert EXP8449 mainboard based 
> on the ALi FinALi 486 chipset (M1489/M1487), which predates DMI 2.0 and 
> cannot therefore be easily identified at run time.
> 
> Unlike with the $PIR format there is no alignment guarantee as to the 
> placement of the $IRT table, so scan the whole BIOS area bytewise.
> 
> Credit to Michal Necasek for helping me chase documentation for the 
> format.
> 
> References:
> 
> [1] "What is BCP? - AMI", <https://www.ami.com/what-is-bcp/>
> 
> Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxx>
> Cc: Michal Necasek <mnecasek@xxxxxxxxx>
> ---
> Changes from v3:
> 
> - Correct the BIOS memory scan such as to verify that the PCI IRQ Routing
>   Table header as well as individual slot entries are all wholly contained 
>   within the BIOS memory area.
> 
> - Following commit 5224f7909617 ("treewide: Replace zero-length arrays 
>   with flexible-array members") also make `slots' in `irt_routing_table' a 
>   flexible-array member.
> 
> New change in v3.
> ---
>  arch/x86/include/asm/pci_x86.h |    9 ++++
>  arch/x86/pci/irq.c             |   76 +++++++++++++++++++++++++++++++++++++++++
>  2 files changed, 85 insertions(+)

Tested-by: Dmitry Osipenko <dmitry.osipenko@xxxxxxxxxxxxx> # crosvm



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux