summaryrefslogtreecommitdiffstats
path: root/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieGenerator.h
diff options
context:
space:
mode:
Diffstat (limited to 'DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieGenerator.h')
-rw-r--r--DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieGenerator.h64
1 files changed, 1 insertions, 63 deletions
diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieGenerator.h b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieGenerator.h
index d1e5465e13..59a0d601a3 100644
--- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieGenerator.h
+++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieGenerator.h
@@ -33,12 +33,6 @@
*/
#define MAX_PCI_ROOT_COMPLEXES_SUPPORTED 16
-/** Maximum number of Pci legacy interrupts.
-
- Currently 4 for INTA-INTB-INTC-INTD.
-*/
-#define MAX_PCI_LEGACY_INTERRUPT 4
-
// _SB scope of the AML namespace.
#define SB_SCOPE "\\_SB_"
@@ -73,64 +67,8 @@ typedef struct AcpiPcieGenerator {
// Private fields are defined from here.
- /** A structure used to handle the Address and Interrupt Map referencing.
-
- A CM_ARM_PCI_CONFIG_SPACE_INFO structure references two CM_ARM_OBJ_REF:
- - one for the address mapping, referencing
- CM_ARM_PCI_ADDRESS_MAP_INFO structures.
- - one for the interrupt mapping, referencing
- CM_ARM_PCI_INTERRUPT_MAP_INFO structures.
-
- Example:
- (Pci0)
- CM_ARM_PCI_CONFIG_SPACE_INFO
- |
- +----------------------------------------
- | |
- v v
- CM_ARM_OBJ_REF CM_ARM_OBJ_REF
- (List of references to (List of references to
- address mappings) interrupt mappings)
- | |
- v v
- CM_ARM_PCI_ADDRESS_MAP_INFO[0..N] CM_ARM_PCI_INTERRUPT_MAP_INFO[0..M]
- (A list of address mappings) (A list of interrupt mappings)
-
- The CM_ARM_PCI_INTERRUPT_MAP_INFO objects cannot be handled individually.
- Device's Pci legacy interrupts that are mapped to the same CPU interrupt
- are grouped under a Link device.
- For instance, the following mapping:
- - [INTA of device 0] mapped on [GIC irq 168]
- - [INTB of device 1] mapped on [GIC irq 168]
- will be represented in an SSDT table as:
- - [INTA of device 0] mapped on [Link device A]
- - [INTB of device 1] mapped on [Link device A]
- - [Link device A] mapped on [GIC irq 168]
-
- Counting the number of Cpu interrupts used and grouping them in Link
- devices is done through this IRQ_TABLE.
-
- ASL code:
- Scope (_SB) {
- Device (LNKA) {
- [...]
- Name (_PRS, ResourceTemplate () {
- Interrupt (ResourceProducer, Level, ActiveHigh, Exclusive) { 168 }
- })
- }
-
- Device (PCI0) {
- Name (_PRT, Package () {
- Package (0x0FFFF, 0, LNKA, 0) // INTA of device 0 <-> LNKA
- Package (0x1FFFF, 1, LNKA, 0) // INTB of device 1 <-> LNKA
- })
- }
- }
- */
- MAPPING_TABLE IrqTable;
-
/// Table to map: Index <-> Pci device
- MAPPING_TABLE DeviceTable;
+ MAPPING_TABLE DeviceTable;
} ACPI_PCI_GENERATOR;
#pragma pack()