summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/arch/x86/boot/pirq_routing.c36
-rw-r--r--src/arch/x86/include/arch/pirq_routing.h3
2 files changed, 19 insertions, 20 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;
+}
diff --git a/src/arch/x86/include/arch/pirq_routing.h b/src/arch/x86/include/arch/pirq_routing.h
index 94884732ba..241ec3b4b5 100644
--- a/src/arch/x86/include/arch/pirq_routing.h
+++ b/src/arch/x86/include/arch/pirq_routing.h
@@ -67,10 +67,7 @@ unsigned long copy_pirq_routing_table(unsigned long addr, const struct irq_routi
unsigned long write_pirq_routing_table(unsigned long start);
#if CONFIG_PIRQ_ROUTE
-void pirq_route_irqs(unsigned long start);
void pirq_assign_irqs(const unsigned char pirq[CONFIG_MAX_PIRQ_LINKS]);
-#else
-#define pirq_route_irqs(start) {}
#endif
#else