coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
irq_tables.c
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #include <arch/pirq_routing.h>
4 
6  PIRQ_SIGNATURE, /* u32 signature */
7  PIRQ_VERSION, /* u16 version */
8  32 + 16 * CONFIG_IRQ_SLOT_COUNT, /* Max. number of devices on the bus */
9  0x00, /* Interrupt router bus */
10  (0x14 << 3) | 0x3, /* Interrupt router dev */
11  0, /* IRQs devoted exclusively to PCI usage */
12  0x1002, /* Vendor */
13  0x439d, /* Device */
14  0, /* Miniport */
15  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, /* u8 rfu[11] */
16  0x3b, /* Checksum (has to be set to some value that
17  * would give 0 after the sum of all bytes
18  * for this structure (including checksum).
19  */
20  /* clang-format off */
21  {
22  /* bus, dev | fn, {link, bitmap}, {link, bitmap}, {link, bitmap}, {link, bitmap}, slot, rfu */
23  {0x00, (0x01 << 3) | 0x0, {{0x01, 0x9cb8}, {0x02, 0x9cb8}, {0x00, 0x0000}, {0x00, 0x0000}}, 0x0, 0x0},
24  {0x00, (0x02 << 3) | 0x0, {{0x01, 0x9cb8}, {0x02, 0x9cb8}, {0x03, 0x9cb8}, {0x04, 0x9cb8}}, 0x0, 0x0},
25  {0x00, (0x10 << 3) | 0x0, {{0x03, 0x9cb8}, {0x00, 0x0000}, {0x00, 0x0000}, {0x00, 0x0000}}, 0x0, 0x0},
26  {0x00, (0x11 << 3) | 0x0, {{0x04, 0x9cb8}, {0x00, 0x0000}, {0x00, 0x0000}, {0x00, 0x0000}}, 0x0, 0x0},
27  {0x00, (0x12 << 3) | 0x0, {{0x03, 0x9cb8}, {0x02, 0x9cb8}, {0x00, 0x0000}, {0x00, 0x0000}}, 0x0, 0x0},
28  {0x00, (0x13 << 3) | 0x0, {{0x03, 0x9cb8}, {0x02, 0x9cb8}, {0x00, 0x0000}, {0x00, 0x0000}}, 0x0, 0x0},
29  {0x00, (0x14 << 3) | 0x0, {{0x01, 0x9cb8}, {0x02, 0x9cb8}, {0x03, 0x9cb8}, {0x04, 0x9cb8}}, 0x0, 0x0},
30  {0x00, (0x16 << 3) | 0x0, {{0x03, 0x9cb8}, {0x02, 0x9cb8}, {0x00, 0x0000}, {0x00, 0x0000}}, 0x0, 0x0},
31  {0x01, (0x00 << 3) | 0x0, {{0x01, 0x9cb8}, {0x02, 0x9cb8}, {0x03, 0x9cb8}, {0x04, 0x9cb8}}, 0x0, 0x0},
32  {0x02, (0x00 << 3) | 0x0, {{0x02, 0x9cb8}, {0x00, 0x0000}, {0x00, 0x0000}, {0x00, 0x0000}}, 0x0, 0x0},
33  }
34  /* clang-format on */
35 };
36 
37 unsigned long write_pirq_routing_table(unsigned long addr)
38 {
40 }
unsigned long write_pirq_routing_table(unsigned long addr)
Definition: irq_tables.c:28
const struct irq_routing_table intel_irq_routing_table
Definition: irq_tables.c:5
static u32 addr
Definition: cirrus.c:14
#define PIRQ_SIGNATURE
Definition: pirq_routing.h:17
unsigned long copy_pirq_routing_table(unsigned long addr, const struct irq_routing_table *routing_table)
Definition: pirq_routing.c:172
#define PIRQ_VERSION
Definition: pirq_routing.h:18