使用 _PRT 表分配中断

使用 _PRT 表分配中断

我面临 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

相关内容