aboutsummaryrefslogtreecommitdiff
path: root/src/arch/x86/boot/pirq_routing.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/x86/boot/pirq_routing.c')
-rw-r--r--src/arch/x86/boot/pirq_routing.c36
1 files changed, 19 insertions, 17 deletions
diff --git a/src/arch/x86/boot/pirq_routing.c b/src/arch/x86/boot/pirq_routing.c
index 55deac100a..86af63f812 100644
--- a/src/arch/x86/boot/pirq_routing.c
+++ b/src/arch/x86/boot/pirq_routing.c
@@ -98,22 +98,6 @@ static int verify_copy_pirq_routing_table(unsigned long addr, const struct irq_r
}
#endif
-unsigned long copy_pirq_routing_table(unsigned long addr, const struct irq_routing_table *routing_table)
-{
- /* Align the table to be 16 byte aligned. */
- addr = ALIGN(addr, 16);
-
- /* This table must be betweeen 0xf0000 & 0x100000 */
- printk(BIOS_INFO, "Copying Interrupt Routing Table to 0x%08lx... ", addr);
- memcpy((void *)addr, routing_table, routing_table->size);
- printk(BIOS_INFO, "done.\n");
-#if CONFIG_DEBUG_PIRQ
- verify_copy_pirq_routing_table(addr, routing_table);
-#endif
- pirq_route_irqs(addr);
- return addr + routing_table->size;
-}
-
#if CONFIG_PIRQ_ROUTE
static u8 pirq_get_next_free_irq(u8* pirq, u16 bitmap)
{
@@ -145,7 +129,7 @@ static u8 pirq_get_next_free_irq(u8* pirq, u16 bitmap)
return irq;
}
-void pirq_route_irqs(unsigned long addr)
+static void pirq_route_irqs(unsigned long addr)
{
int i, intx, num_entries;
unsigned char irq_slot[MAX_INTX_ENTRIES];
@@ -204,3 +188,21 @@ void pirq_route_irqs(unsigned long addr)
pirq_assign_irqs(pirq);
}
#endif
+
+unsigned long copy_pirq_routing_table(unsigned long addr, const struct irq_routing_table *routing_table)
+{
+ /* Align the table to be 16 byte aligned. */
+ addr = ALIGN(addr, 16);
+
+ /* This table must be betweeen 0xf0000 & 0x100000 */
+ printk(BIOS_INFO, "Copying Interrupt Routing Table to 0x%08lx... ", addr);
+ memcpy((void *)addr, routing_table, routing_table->size);
+ printk(BIOS_INFO, "done.\n");
+#if CONFIG_DEBUG_PIRQ
+ verify_copy_pirq_routing_table(addr, routing_table);
+#endif
+#if CONFIG_PIRQ_ROUTE
+ pirq_route_irqs(addr);
+#endif
+ return addr + routing_table->size;
+}