coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
irq_helper.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #undef PCI_DEV_PIRQ_ROUTES
4 #undef ACPI_DEV_APIC_IRQ
5 #undef PCI_DEV_PIRQ_ROUTE
6 #undef PIRQ_PIC_ROUTES
7 #undef PIRQ_PIC
8 
9 #if defined(PIC_MODE)
10 
11 #define ACPI_DEV_APIC_IRQ(dev_, pin_, pin_name_) \
12  Package() { ## dev_ ## ffff, pin_, \_SB.PCI0.LPCB.LNK ## pin_name_, 0 }
13 
14 #else /* defined(PIC_MODE) */
15 
16 #define ACPI_DEV_APIC_IRQ(dev_, pin_, pin_name_) \
17  Package() { ## dev_ ## ffff, pin_, 0, PIRQ ## pin_name_ ## _APIC_IRQ }
18 
19 #endif
20 
21 #define PCI_DEV_PIRQ_ROUTE(dev_, a_, b_, c_, d_) \
22  ACPI_DEV_APIC_IRQ(dev_, 0, a_), \
23  ACPI_DEV_APIC_IRQ(dev_, 1, b_), \
24  ACPI_DEV_APIC_IRQ(dev_, 2, c_), \
25  ACPI_DEV_APIC_IRQ(dev_, 3, d_)
26 
27 /* Empty PIRQ_PIC definition. */
28 #define PIRQ_PIC(pirq_, pic_irq_)
29 
30 /* Include the mainboard irq route definition. */
31 #include "irqroute.h"