![使用 _PRT 表分配中断](https://linux22.com/image/220930/%E4%BD%BF%E7%94%A8%20_PRT%20%E8%A1%A8%E5%88%86%E9%85%8D%E4%B8%AD%E6%96%AD.png)
我面临 PCI 设备的功能 1 无法接收中断的问题。我想了解在 Linux 启动期间如何根据 ACPI BIOS 共享的 PRT 表分配中断(传统 INTx)。具体来说,我想知道 lspci 如何列出这些 IRQ。请在这件事上给予我帮助。这是一个例子:_PRT
其总线范围来自 SSDT 表。
这是 EX: _PRT 及其来自 SSDT 表的总线范围。
Device (PCI3)
{
Name (_ADR, 0x00030000) // _ADR: Address
Name (_PRT, Package (0x04) // _PRT: PCI Routing Table
{
Package (0x04)
{
0x0000FFFF,
0x00,
0x00,
0x0000002B
},
Package (0x04)
{
0x0000FFFF,
0x01,
0x00,
0x0000002E
},
Package (0x04)
{
0x0000FFFF,
0x02,
0x00,
0x0000002C
},
Package (0x04)
{
0x0000FFFF,
0x03,
0x00,
0x0000002D
}
})
}
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
{
WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
0x0000, // Granularity
0x0023, // Range Minimum
0x0030, // Range Maximum
0x0000, // Translation Offset
0x000E, // Length