[coreboot] New patch to review for coreboot: 83f6dce Fix PIRQ routing abstraction

Stefan Reinauer (stefan.reinauer@coreboot.org) gerrit at coreboot.org
Fri Nov 16 02:27:26 CET 2012


Stefan Reinauer (stefan.reinauer at coreboot.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/1862

-gerrit

commit 83f6dced9fd326648b4ce838bbabc56508be26aa
Author: Stefan Reinauer <reinauer at chromium.org>
Date:   Thu Nov 15 15:15:15 2012 -0800

    Fix PIRQ routing abstraction
    
    intel_irq_routing_table is a local structure that should not be used
    globally, because it might not be there on all mainboards.
    
    Instead, the API has to be corrected to allow passing a PIRQ table in
    where needed.
    
    Change-Id: Icf08928b67727a366639b648bf6aac8e1a87e765
    Signed-off-by: Stefan Reinauer <reinauer at google.com>
---
 src/arch/x86/boot/pirq_routing.c                      | 17 ++++++++---------
 src/arch/x86/include/arch/pirq_routing.h              |  4 +---
 src/mainboard/a-trend/atc-6220/irq_tables.c           |  4 ++--
 src/mainboard/a-trend/atc-6240/irq_tables.c           |  4 ++--
 src/mainboard/aaeon/pfm-540i_revb/irq_tables.c        |  4 ++--
 src/mainboard/abit/be6-ii_v2_0/irq_tables.c           |  4 ++--
 src/mainboard/advantech/pcm-5820/irq_tables.c         |  4 ++--
 src/mainboard/amd/db800/irq_tables.c                  |  4 ++--
 src/mainboard/amd/norwich/irq_tables.c                |  4 ++--
 src/mainboard/amd/rumba/irq_tables.c                  |  4 ++--
 src/mainboard/aopen/dxplplusu/irq_tables.c            |  4 ++--
 src/mainboard/arima/hdama/irq_tables.c                |  4 ++--
 src/mainboard/artecgroup/dbe61/irq_tables.c           |  4 ++--
 src/mainboard/asi/mb_5blgp/irq_tables.c               |  4 ++--
 src/mainboard/asi/mb_5blmp/irq_tables.c               |  4 ++--
 src/mainboard/asus/dsbf/irq_tables.c                  |  4 ++--
 src/mainboard/asus/m2v/irq_tables.c                   |  4 ++--
 src/mainboard/asus/m4a78-em/irq_tables.c              |  4 ++--
 src/mainboard/asus/m4a785-m/irq_tables.c              |  4 ++--
 src/mainboard/asus/mew-am/irq_tables.c                |  4 ++--
 src/mainboard/asus/mew-vm/irq_tables.c                |  4 ++--
 src/mainboard/asus/p2b-d/irq_tables.c                 |  4 ++--
 src/mainboard/asus/p2b-ds/irq_tables.c                |  4 ++--
 src/mainboard/asus/p2b-f/irq_tables.c                 |  4 ++--
 src/mainboard/asus/p2b-ls/irq_tables.c                |  4 ++--
 src/mainboard/asus/p2b/irq_tables.c                   |  4 ++--
 src/mainboard/asus/p3b-f/irq_tables.c                 |  4 ++--
 src/mainboard/axus/tc320/irq_tables.c                 |  4 ++--
 src/mainboard/azza/pt-6ibd/irq_tables.c               |  4 ++--
 src/mainboard/bachmann/ot200/irq_tables.c             |  4 ++--
 src/mainboard/bcom/winnet100/irq_tables.c             |  4 ++--
 src/mainboard/bcom/winnetp680/irq_tables.c            |  4 ++--
 src/mainboard/biostar/m6tba/irq_tables.c              |  4 ++--
 src/mainboard/compaq/deskpro_en_sff_p600/irq_tables.c |  4 ++--
 src/mainboard/digitallogic/adl855pc/irq_tables.c      |  4 ++--
 src/mainboard/digitallogic/msm586seg/irq_tables.c     |  4 ++--
 src/mainboard/digitallogic/msm800sev/irq_tables.c     |  4 ++--
 src/mainboard/eaglelion/5bcm/irq_tables.c             |  4 ++--
 src/mainboard/ecs/p6iwp-fe/irq_tables.c               |  4 ++--
 src/mainboard/emulation/qemu-x86/irq_tables.c         |  4 ++--
 src/mainboard/getac/p470/irq_tables.c                 |  4 ++--
 src/mainboard/gigabyte/ga-6bxc/irq_tables.c           |  4 ++--
 src/mainboard/gigabyte/ga-6bxe/irq_tables.c           |  4 ++--
 src/mainboard/hp/dl145_g3/irq_tables.c                |  4 ++--
 src/mainboard/hp/dl165_g6_fam10/irq_tables.c          |  4 ++--
 src/mainboard/hp/e_vectra_p2706t/irq_tables.c         |  4 ++--
 src/mainboard/ibase/mb899/irq_tables.c                |  4 ++--
 src/mainboard/ibm/e325/irq_tables.c                   |  4 ++--
 src/mainboard/ibm/e326/irq_tables.c                   |  4 ++--
 src/mainboard/iei/juki-511p/irq_tables.c              |  4 ++--
 src/mainboard/iei/nova4899r/irq_tables.c              |  4 ++--
 src/mainboard/iei/pcisa-lx-800-r10/irq_tables.c       |  4 ++--
 src/mainboard/iei/pm-lx-800-r11/irq_tables.c          |  4 ++--
 src/mainboard/iei/pm-lx2-800-r10/irq_tables.c         |  4 ++--
 src/mainboard/intel/d810e2cb/irq_tables.c             |  4 ++--
 src/mainboard/intel/d945gclf/irq_tables.c             |  4 ++--
 src/mainboard/intel/eagleheights/irq_tables.c         |  4 ++--
 src/mainboard/intel/jarrell/irq_tables.c              |  4 ++--
 src/mainboard/intel/mtarvon/irq_tables.c              |  4 ++--
 src/mainboard/intel/truxton/irq_tables.c              |  4 ++--
 src/mainboard/intel/xe7501devkit/irq_tables.c         |  4 ++--
 src/mainboard/iwave/iWRainbowG6/irq_tables.c          |  4 ++--
 src/mainboard/iwill/dk8s2/irq_tables.c                |  4 ++--
 src/mainboard/iwill/dk8x/irq_tables.c                 |  4 ++--
 src/mainboard/jetway/j7f24/irq_tables.c               |  4 ++--
 src/mainboard/kontron/986lcd-m/irq_tables.c           |  4 ++--
 src/mainboard/lanner/em8510/irq_tables.c              |  4 ++--
 src/mainboard/lenovo/t60/irq_tables.c                 |  4 ++--
 src/mainboard/lenovo/x60/irq_tables.c                 |  4 ++--
 src/mainboard/lippert/frontrunner/irq_tables.c        |  4 ++--
 src/mainboard/lippert/hurricane-lx/irq_tables.c       |  4 ++--
 src/mainboard/lippert/literunner-lx/irq_tables.c      |  4 ++--
 src/mainboard/lippert/roadrunner-lx/irq_tables.c      |  4 ++--
 src/mainboard/lippert/spacerunner-lx/irq_tables.c     |  4 ++--
 src/mainboard/mitac/6513wu/irq_tables.c               |  4 ++--
 src/mainboard/msi/ms6119/irq_tables.c                 |  4 ++--
 src/mainboard/msi/ms6147/irq_tables.c                 |  4 ++--
 src/mainboard/msi/ms6156/irq_tables.c                 |  4 ++--
 src/mainboard/msi/ms6178/irq_tables.c                 |  4 ++--
 src/mainboard/nec/powermate2000/irq_tables.c          |  4 ++--
 src/mainboard/newisys/khepri/irq_tables.c             |  4 ++--
 src/mainboard/nokia/ip530/irq_tables.c                |  4 ++--
 src/mainboard/pcengines/alix1c/irq_tables.c           |  4 ++--
 src/mainboard/pcengines/alix2d/irq_tables.c           |  4 ++--
 src/mainboard/rca/rm4100/irq_tables.c                 |  4 ++--
 src/mainboard/roda/rk886ex/irq_tables.c               |  4 ++--
 src/mainboard/soyo/sy-6ba-plus-iii/irq_tables.c       |  4 ++--
 src/mainboard/supermicro/x6dai_g/irq_tables.c         |  4 ++--
 src/mainboard/supermicro/x6dhe_g/irq_tables.c         |  4 ++--
 src/mainboard/supermicro/x6dhe_g2/irq_tables.c        |  4 ++--
 src/mainboard/supermicro/x6dhr_ig/irq_tables.c        |  4 ++--
 src/mainboard/supermicro/x6dhr_ig2/irq_tables.c       |  4 ++--
 src/mainboard/supermicro/x7db8/irq_tables.c           |  4 ++--
 src/mainboard/technologic/ts5300/irq_tables.c         |  4 ++--
 src/mainboard/televideo/tc7020/irq_tables.c           |  4 ++--
 src/mainboard/thomson/ip1000/irq_tables.c             |  4 ++--
 src/mainboard/traverse/geos/irq_tables.c              |  4 ++--
 src/mainboard/tyan/s2735/irq_tables.c                 |  4 ++--
 src/mainboard/tyan/s2850/irq_tables.c                 |  4 ++--
 src/mainboard/tyan/s2875/irq_tables.c                 |  4 ++--
 src/mainboard/tyan/s2880/irq_tables.c                 |  4 ++--
 src/mainboard/tyan/s2882/irq_tables.c                 |  2 +-
 src/mainboard/tyan/s4880/irq_tables.c                 |  4 ++--
 src/mainboard/tyan/s4882/irq_tables.c                 |  4 ++--
 src/mainboard/via/epia-cn/irq_tables.c                |  4 ++--
 src/mainboard/via/epia-m/irq_tables.c                 |  4 ++--
 src/mainboard/via/epia-m700/irq_tables.c              |  4 ++--
 src/mainboard/via/epia-n/irq_tables.c                 |  4 ++--
 src/mainboard/via/epia/irq_tables.c                   |  4 ++--
 src/mainboard/via/pc2500e/irq_tables.c                |  4 ++--
 src/mainboard/via/vt8454c/irq_tables.c                |  4 ++--
 src/mainboard/winent/pl6064/irq_tables.c              |  4 ++--
 src/mainboard/wyse/s50/irq_tables.c                   |  4 ++--
 113 files changed, 230 insertions(+), 233 deletions(-)

diff --git a/src/arch/x86/boot/pirq_routing.c b/src/arch/x86/boot/pirq_routing.c
index 357500c..55deac1 100644
--- a/src/arch/x86/boot/pirq_routing.c
+++ b/src/arch/x86/boot/pirq_routing.c
@@ -76,15 +76,15 @@ static void check_pirq_routing_table(struct irq_routing_table *rt)
 	printk(BIOS_INFO, "done.\n");
 }
 
-static int verify_copy_pirq_routing_table(unsigned long addr)
+static int verify_copy_pirq_routing_table(unsigned long addr, const struct irq_routing_table *routing_table)
 {
 	int i;
 	uint8_t *rt_orig, *rt_curr;
 
 	rt_curr = (uint8_t*)addr;
-	rt_orig = (uint8_t*)&intel_irq_routing_table;
+	rt_orig = (uint8_t*)routing_table;
 	printk(BIOS_INFO, "Verifying copy of Interrupt Routing Table at 0x%08lx... ", addr);
-	for (i = 0; i < intel_irq_routing_table.size; i++) {
+	for (i = 0; i < routing_table->size; i++) {
 		if (*(rt_curr + i) != *(rt_orig + i)) {
 			printk(BIOS_INFO, "failed\n");
 			return -1;
@@ -98,21 +98,20 @@ static int verify_copy_pirq_routing_table(unsigned long addr)
 }
 #endif
 
-unsigned long copy_pirq_routing_table(unsigned long addr)
+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 += 15;
-	addr &= ~15;
+	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, &intel_irq_routing_table, intel_irq_routing_table.size);
+	memcpy((void *)addr, routing_table, routing_table->size);
 	printk(BIOS_INFO, "done.\n");
 #if CONFIG_DEBUG_PIRQ
-	verify_copy_pirq_routing_table(addr);
+	verify_copy_pirq_routing_table(addr, routing_table);
 #endif
 	pirq_route_irqs(addr);
-	return addr + intel_irq_routing_table.size;
+	return addr + routing_table->size;
 }
 
 #if CONFIG_PIRQ_ROUTE
diff --git a/src/arch/x86/include/arch/pirq_routing.h b/src/arch/x86/include/arch/pirq_routing.h
index c5be5f4..9488473 100644
--- a/src/arch/x86/include/arch/pirq_routing.h
+++ b/src/arch/x86/include/arch/pirq_routing.h
@@ -63,9 +63,7 @@ struct irq_routing_table {
 	struct irq_info slots[CONFIG_IRQ_SLOT_COUNT];
 } __attribute__((packed));
 
-extern const struct irq_routing_table intel_irq_routing_table;
-
-unsigned long copy_pirq_routing_table(unsigned long start);
+unsigned long copy_pirq_routing_table(unsigned long addr, const struct irq_routing_table *routing_table);
 unsigned long write_pirq_routing_table(unsigned long start);
 
 #if CONFIG_PIRQ_ROUTE
diff --git a/src/mainboard/a-trend/atc-6220/irq_tables.c b/src/mainboard/a-trend/atc-6220/irq_tables.c
index f244f46..e43f01e 100644
--- a/src/mainboard/a-trend/atc-6220/irq_tables.c
+++ b/src/mainboard/a-trend/atc-6220/irq_tables.c
@@ -20,7 +20,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,
 	PIRQ_VERSION,
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,/* Max. number of devices on the bus */
@@ -46,5 +46,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/a-trend/atc-6240/irq_tables.c b/src/mainboard/a-trend/atc-6240/irq_tables.c
index 42f94f8..4a658dc 100644
--- a/src/mainboard/a-trend/atc-6240/irq_tables.c
+++ b/src/mainboard/a-trend/atc-6240/irq_tables.c
@@ -20,7 +20,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,
 	PIRQ_VERSION,
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,/* Max. number of devices on the bus */
@@ -46,5 +46,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/aaeon/pfm-540i_revb/irq_tables.c b/src/mainboard/aaeon/pfm-540i_revb/irq_tables.c
index 599f7bd..e8a8686 100644
--- a/src/mainboard/aaeon/pfm-540i_revb/irq_tables.c
+++ b/src/mainboard/aaeon/pfm-540i_revb/irq_tables.c
@@ -44,7 +44,7 @@
 #define L_PIRQC	 3		/* Means Slot INTx# Connects To Chipset INTC# */
 #define L_PIRQD	 4		/* Means Slot INTx# Connects To Chipset INTD# */
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,		/* u32 signature */
 	PIRQ_VERSION,		/* u16 version   */
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,  /* there can be total CONFIG_IRQ_SLOT_COUNT devices on the bus */
@@ -70,5 +70,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/abit/be6-ii_v2_0/irq_tables.c b/src/mainboard/abit/be6-ii_v2_0/irq_tables.c
index 48c6593..e2b08ea 100644
--- a/src/mainboard/abit/be6-ii_v2_0/irq_tables.c
+++ b/src/mainboard/abit/be6-ii_v2_0/irq_tables.c
@@ -20,7 +20,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,
 	PIRQ_VERSION,
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,/* Max. number of devices on the bus */
@@ -48,5 +48,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/advantech/pcm-5820/irq_tables.c b/src/mainboard/advantech/pcm-5820/irq_tables.c
index bf93966..c92cce3 100644
--- a/src/mainboard/advantech/pcm-5820/irq_tables.c
+++ b/src/mainboard/advantech/pcm-5820/irq_tables.c
@@ -20,7 +20,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,
 	PIRQ_VERSION,
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,/* Max. number of devices on the bus */
@@ -41,5 +41,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/amd/db800/irq_tables.c b/src/mainboard/amd/db800/irq_tables.c
index 891b454..fb50b57 100644
--- a/src/mainboard/amd/db800/irq_tables.c
+++ b/src/mainboard/amd/db800/irq_tables.c
@@ -41,7 +41,7 @@
 #define L_PIRQC	 3		/* Means Slot INTx# Connects To Chipset INTC# */
 #define L_PIRQD	 4		/* Means Slot INTx# Connects To Chipset INTD# */
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,		/* u32 signature */
 	PIRQ_VERSION,		/* u16 version   */
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,	/* there can be total CONFIG_IRQ_SLOT_COUNT devices on the bus */
@@ -65,5 +65,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/amd/norwich/irq_tables.c b/src/mainboard/amd/norwich/irq_tables.c
index 91afe65..3f7804d 100644
--- a/src/mainboard/amd/norwich/irq_tables.c
+++ b/src/mainboard/amd/norwich/irq_tables.c
@@ -41,7 +41,7 @@
 #define L_PIRQC	 3		/* Means Slot INTx# Connects To Chipset INTC# */
 #define L_PIRQD	 4		/* Means Slot INTx# Connects To Chipset INTD# */
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,		/* u32 signature */
 	PIRQ_VERSION,		/* u16 version   */
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,	/* there can be total CONFIG_IRQ_SLOT_COUNT devices on the bus */
@@ -67,5 +67,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/amd/rumba/irq_tables.c b/src/mainboard/amd/rumba/irq_tables.c
index 386e12e..5c045cc 100644
--- a/src/mainboard/amd/rumba/irq_tables.c
+++ b/src/mainboard/amd/rumba/irq_tables.c
@@ -25,7 +25,7 @@
 #define L_PIRQC	 3		/* Means Slot INTx# Connects To Chipset INTC# */
 #define L_PIRQD	 4		/* Means Slot INTx# Connects To Chipset INTD# */
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,  /* u32 signature */
 	PIRQ_VERSION,    /* u16 version   */
 	32+16*CONFIG_IRQ_SLOT_COUNT,	 /* there can be total CONFIG_IRQ_SLOT_COUNT devices on the bus */
@@ -45,5 +45,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 };
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-        return copy_pirq_routing_table(addr);
+        return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/aopen/dxplplusu/irq_tables.c b/src/mainboard/aopen/dxplplusu/irq_tables.c
index 9f3315b..84cb9d0 100644
--- a/src/mainboard/aopen/dxplplusu/irq_tables.c
+++ b/src/mainboard/aopen/dxplplusu/irq_tables.c
@@ -32,7 +32,7 @@
 #define PIRQ_G 0x6A
 #define PIRQ_H 0x6B
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,
 	PIRQ_VERSION,
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,		// Size of this struct in bytes
@@ -72,5 +72,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/arima/hdama/irq_tables.c b/src/mainboard/arima/hdama/irq_tables.c
index b95bda2..9250d1f 100644
--- a/src/mainboard/arima/hdama/irq_tables.c
+++ b/src/mainboard/arima/hdama/irq_tables.c
@@ -15,7 +15,7 @@
  *  bus, devfn, {link, bitmap}, {link, bitmap}, {link, bitmap}, {link, bitmap}, slot, rfu
  */
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,		/* u32 signature */
 	PIRQ_VERSION,           /* u16 version   */
 	32+16*CONFIG_IRQ_SLOT_COUNT,	/* there can be total CONFIG_IRQ_SLOT_COUNT table entries */
@@ -44,5 +44,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 };
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-        return copy_pirq_routing_table(addr);
+        return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/artecgroup/dbe61/irq_tables.c b/src/mainboard/artecgroup/dbe61/irq_tables.c
index 5d9f6a1..f37ed18 100644
--- a/src/mainboard/artecgroup/dbe61/irq_tables.c
+++ b/src/mainboard/artecgroup/dbe61/irq_tables.c
@@ -41,7 +41,7 @@
 #define L_PIRQC	 3		/* Means Slot INTx# Connects To Chipset INTC# */
 #define L_PIRQD	 4		/* Means Slot INTx# Connects To Chipset INTD# */
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,		/* u32 signature */
 	PIRQ_VERSION,		/* u16 version   */
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,	/* there can be total CONFIG_IRQ_SLOT_COUNT devices on the bus */
@@ -64,5 +64,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/asi/mb_5blgp/irq_tables.c b/src/mainboard/asi/mb_5blgp/irq_tables.c
index a2ed8bc..bc0f783 100644
--- a/src/mainboard/asi/mb_5blgp/irq_tables.c
+++ b/src/mainboard/asi/mb_5blgp/irq_tables.c
@@ -20,7 +20,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,
 	PIRQ_VERSION,
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,/* Max. number of devices on the bus */
@@ -42,5 +42,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/asi/mb_5blmp/irq_tables.c b/src/mainboard/asi/mb_5blmp/irq_tables.c
index 1c93bee..01d364d 100644
--- a/src/mainboard/asi/mb_5blmp/irq_tables.c
+++ b/src/mainboard/asi/mb_5blmp/irq_tables.c
@@ -7,7 +7,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,  /* u32 signature */
 	PIRQ_VERSION,    /* u16 version   */
 	32+16*CONFIG_IRQ_SLOT_COUNT,	 /* there can be total CONFIG_IRQ_SLOT_COUNT devices on the bus */
@@ -35,5 +35,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 };
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-        return copy_pirq_routing_table(addr);
+        return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/asus/dsbf/irq_tables.c b/src/mainboard/asus/dsbf/irq_tables.c
index 84f456a..6fb5ed9 100644
--- a/src/mainboard/asus/dsbf/irq_tables.c
+++ b/src/mainboard/asus/dsbf/irq_tables.c
@@ -20,7 +20,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,		/* u32 signature */
 	PIRQ_VERSION,		/* u16 version */
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,		/* Max. number of devices on the bus */
@@ -53,5 +53,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/asus/m2v/irq_tables.c b/src/mainboard/asus/m2v/irq_tables.c
index 0770f02..df50ba8 100644
--- a/src/mainboard/asus/m2v/irq_tables.c
+++ b/src/mainboard/asus/m2v/irq_tables.c
@@ -43,7 +43,7 @@
 #define LNKG 3
 #define LNKH 4
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE, /* u32 signature */
 	PIRQ_VERSION,   /* u16 version   */
 	32+16*CONFIG_IRQ_SLOT_COUNT,        /* there can be total CONFIG_IRQ_SLOT_COUNT devices on the bus */
@@ -87,5 +87,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/asus/m4a78-em/irq_tables.c b/src/mainboard/asus/m4a78-em/irq_tables.c
index 3e62f0c..6beaa94 100644
--- a/src/mainboard/asus/m4a78-em/irq_tables.c
+++ b/src/mainboard/asus/m4a78-em/irq_tables.c
@@ -20,7 +20,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,		/* u32 signature */
 	PIRQ_VERSION,		/* u16 version */
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT, /* Max. number of devices on the bus */
@@ -60,5 +60,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/asus/m4a785-m/irq_tables.c b/src/mainboard/asus/m4a785-m/irq_tables.c
index 4edeec1..00905ee 100644
--- a/src/mainboard/asus/m4a785-m/irq_tables.c
+++ b/src/mainboard/asus/m4a785-m/irq_tables.c
@@ -20,7 +20,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,		/* u32 signature */
 	PIRQ_VERSION,		/* u16 version */
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT, /* Max. number of devices on the bus */
@@ -61,5 +61,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/asus/mew-am/irq_tables.c b/src/mainboard/asus/mew-am/irq_tables.c
index c00b951..e8efa47 100644
--- a/src/mainboard/asus/mew-am/irq_tables.c
+++ b/src/mainboard/asus/mew-am/irq_tables.c
@@ -20,7 +20,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,
 	PIRQ_VERSION,
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,/* Max. number of devices on the bus */
@@ -47,5 +47,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/asus/mew-vm/irq_tables.c b/src/mainboard/asus/mew-vm/irq_tables.c
index 212765b..4fbf122 100644
--- a/src/mainboard/asus/mew-vm/irq_tables.c
+++ b/src/mainboard/asus/mew-vm/irq_tables.c
@@ -7,7 +7,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,  /* u32 signature */
 	PIRQ_VERSION,    /* u16 version   */
 	32+16*CONFIG_IRQ_SLOT_COUNT,	 /* there can be total CONFIG_IRQ_SLOT_COUNT devices on the bus */
@@ -38,5 +38,5 @@ that would give 0 after the sum of all bytes for this structure (including check
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/asus/p2b-d/irq_tables.c b/src/mainboard/asus/p2b-d/irq_tables.c
index 26ec751..2175e63 100644
--- a/src/mainboard/asus/p2b-d/irq_tables.c
+++ b/src/mainboard/asus/p2b-d/irq_tables.c
@@ -20,7 +20,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,
 	PIRQ_VERSION,
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,/* Max. number of devices on the bus */
@@ -45,5 +45,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/asus/p2b-ds/irq_tables.c b/src/mainboard/asus/p2b-ds/irq_tables.c
index 5f611c0..89720c9 100644
--- a/src/mainboard/asus/p2b-ds/irq_tables.c
+++ b/src/mainboard/asus/p2b-ds/irq_tables.c
@@ -20,7 +20,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,
 	PIRQ_VERSION,
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,/* Max. number of devices on the bus */
@@ -46,5 +46,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/asus/p2b-f/irq_tables.c b/src/mainboard/asus/p2b-f/irq_tables.c
index a8cd9c1..5c58839 100644
--- a/src/mainboard/asus/p2b-f/irq_tables.c
+++ b/src/mainboard/asus/p2b-f/irq_tables.c
@@ -20,7 +20,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,
 	PIRQ_VERSION,
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,/* Max. number of devices on the bus */
@@ -46,5 +46,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/asus/p2b-ls/irq_tables.c b/src/mainboard/asus/p2b-ls/irq_tables.c
index 369bc6b..0a1995f 100644
--- a/src/mainboard/asus/p2b-ls/irq_tables.c
+++ b/src/mainboard/asus/p2b-ls/irq_tables.c
@@ -20,7 +20,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,
 	PIRQ_VERSION,
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,/* Max. number of devices on the bus */
@@ -50,5 +50,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/asus/p2b/irq_tables.c b/src/mainboard/asus/p2b/irq_tables.c
index 9c1befe..2710095 100644
--- a/src/mainboard/asus/p2b/irq_tables.c
+++ b/src/mainboard/asus/p2b/irq_tables.c
@@ -20,7 +20,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,
 	PIRQ_VERSION,
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,/* Max. number of devices on the bus */
@@ -45,5 +45,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/asus/p3b-f/irq_tables.c b/src/mainboard/asus/p3b-f/irq_tables.c
index 6e82f52..9fc4b06 100644
--- a/src/mainboard/asus/p3b-f/irq_tables.c
+++ b/src/mainboard/asus/p3b-f/irq_tables.c
@@ -20,7 +20,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,
 	PIRQ_VERSION,
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,/* Max. number of devices on the bus */
@@ -47,5 +47,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/axus/tc320/irq_tables.c b/src/mainboard/axus/tc320/irq_tables.c
index 984ff05..68df2e4 100644
--- a/src/mainboard/axus/tc320/irq_tables.c
+++ b/src/mainboard/axus/tc320/irq_tables.c
@@ -63,7 +63,7 @@
  * Routing description.
  * Documentation at: http://www.microsoft.com/whdc/archive/pciirq.mspx
  */
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	.signature = PIRQ_SIGNATURE,	/* PIRQ signature */
 	.version = PIRQ_VERSION,	/* PIRQ version */
 	.size = 32 + 16 * CONFIG_IRQ_SLOT_COUNT,/* Max. CONFIG_IRQ_SLOT_COUNT devices */
@@ -118,5 +118,5 @@ const struct irq_routing_table intel_irq_routing_table = {
  */
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/azza/pt-6ibd/irq_tables.c b/src/mainboard/azza/pt-6ibd/irq_tables.c
index 72f5bb5..a5f3ed2 100644
--- a/src/mainboard/azza/pt-6ibd/irq_tables.c
+++ b/src/mainboard/azza/pt-6ibd/irq_tables.c
@@ -20,7 +20,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,
 	PIRQ_VERSION,
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,/* Max. number of devices on the bus */
@@ -46,5 +46,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/bachmann/ot200/irq_tables.c b/src/mainboard/bachmann/ot200/irq_tables.c
index 5a5372a..ab5e657 100644
--- a/src/mainboard/bachmann/ot200/irq_tables.c
+++ b/src/mainboard/bachmann/ot200/irq_tables.c
@@ -39,7 +39,7 @@
 #define L_PIRQD  4		/* Means Slot INTx# Connects To Chipset INTD# */
 
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,				/* u32 signature */
 	PIRQ_VERSION,				/* u16 version */
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,	/* Max. number of devices on the bus */
@@ -64,5 +64,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/bcom/winnet100/irq_tables.c b/src/mainboard/bcom/winnet100/irq_tables.c
index 8339c12..1b2628d 100644
--- a/src/mainboard/bcom/winnet100/irq_tables.c
+++ b/src/mainboard/bcom/winnet100/irq_tables.c
@@ -61,7 +61,7 @@
  * Routing description.
  * Documentation at: http://www.microsoft.com/whdc/archive/pciirq.mspx
  */
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	.signature = PIRQ_SIGNATURE,	/* PIRQ signature */
 	.version = PIRQ_VERSION,	/* PIRQ version */
 	.size = 32 +16 * CONFIG_IRQ_SLOT_COUNT,/* Max. CONFIG_IRQ_SLOT_COUNT devices */
@@ -117,5 +117,5 @@ const struct irq_routing_table intel_irq_routing_table = {
  */
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/bcom/winnetp680/irq_tables.c b/src/mainboard/bcom/winnetp680/irq_tables.c
index 9183aca..ec7ec7c 100644
--- a/src/mainboard/bcom/winnetp680/irq_tables.c
+++ b/src/mainboard/bcom/winnetp680/irq_tables.c
@@ -21,7 +21,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,
 	PIRQ_VERSION,
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,/* Max. number of devices on the bus */
@@ -50,5 +50,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/biostar/m6tba/irq_tables.c b/src/mainboard/biostar/m6tba/irq_tables.c
index 59a96a5..1853dbc 100644
--- a/src/mainboard/biostar/m6tba/irq_tables.c
+++ b/src/mainboard/biostar/m6tba/irq_tables.c
@@ -20,7 +20,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,
 	PIRQ_VERSION,
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,/* Max. number of devices on the bus */
@@ -46,5 +46,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/compaq/deskpro_en_sff_p600/irq_tables.c b/src/mainboard/compaq/deskpro_en_sff_p600/irq_tables.c
index 7364a65..13c96d2 100644
--- a/src/mainboard/compaq/deskpro_en_sff_p600/irq_tables.c
+++ b/src/mainboard/compaq/deskpro_en_sff_p600/irq_tables.c
@@ -20,7 +20,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,
 	PIRQ_VERSION,
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,/* Max. number of devices on the bus */
@@ -44,5 +44,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/digitallogic/adl855pc/irq_tables.c b/src/mainboard/digitallogic/adl855pc/irq_tables.c
index 03b2500..94adba1 100644
--- a/src/mainboard/digitallogic/adl855pc/irq_tables.c
+++ b/src/mainboard/digitallogic/adl855pc/irq_tables.c
@@ -7,7 +7,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE, /* u32 signature */
 	PIRQ_VERSION,   /* u16 version   */
 	32+16*CONFIG_IRQ_SLOT_COUNT,        /* there can be total CONFIG_IRQ_SLOT_COUNT devices on the bus */
@@ -32,5 +32,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 };
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-        return copy_pirq_routing_table(addr);
+        return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/digitallogic/msm586seg/irq_tables.c b/src/mainboard/digitallogic/msm586seg/irq_tables.c
index 232016b..15dcddd 100644
--- a/src/mainboard/digitallogic/msm586seg/irq_tables.c
+++ b/src/mainboard/digitallogic/msm586seg/irq_tables.c
@@ -7,7 +7,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,  /* u32 signature */
 	PIRQ_VERSION,    /* u16 version   */
 	32+16*CONFIG_IRQ_SLOT_COUNT,	 /* there can be total CONFIG_IRQ_SLOT_COUNT devices on the bus */
@@ -27,5 +27,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 };
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-        return copy_pirq_routing_table(addr);
+        return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/digitallogic/msm800sev/irq_tables.c b/src/mainboard/digitallogic/msm800sev/irq_tables.c
index 4ad0ee4..b539f78 100644
--- a/src/mainboard/digitallogic/msm800sev/irq_tables.c
+++ b/src/mainboard/digitallogic/msm800sev/irq_tables.c
@@ -41,7 +41,7 @@
 #define L_PIRQC  3 /* Means Slot INTx# Connects To Chipset INTC# */
 #define L_PIRQD  4 /* Means Slot INTx# Connects To Chipset INTD# */
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,  /* u32 signature */
 	PIRQ_VERSION,    /* u16 version   */
 	32+16*CONFIG_IRQ_SLOT_COUNT,	 /* There can be total CONFIG_IRQ_SLOT_COUNT devices on the bus */
@@ -71,5 +71,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/eaglelion/5bcm/irq_tables.c b/src/mainboard/eaglelion/5bcm/irq_tables.c
index 29b3abe..95f67bc 100644
--- a/src/mainboard/eaglelion/5bcm/irq_tables.c
+++ b/src/mainboard/eaglelion/5bcm/irq_tables.c
@@ -7,7 +7,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,  /* u32 signature */
 	PIRQ_VERSION,    /* u16 version   */
 	32+16*CONFIG_IRQ_SLOT_COUNT, /* there can be total CONFIG_IRQ_SLOT_COUNT devices on the bus */
@@ -27,5 +27,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 };
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-        return copy_pirq_routing_table(addr);
+        return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/ecs/p6iwp-fe/irq_tables.c b/src/mainboard/ecs/p6iwp-fe/irq_tables.c
index 190b445..b971310 100644
--- a/src/mainboard/ecs/p6iwp-fe/irq_tables.c
+++ b/src/mainboard/ecs/p6iwp-fe/irq_tables.c
@@ -20,7 +20,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,		/* u32 signature */
 	PIRQ_VERSION,		/* u16 version */
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT, /* Max. number of devices on the bus */
@@ -52,5 +52,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/emulation/qemu-x86/irq_tables.c b/src/mainboard/emulation/qemu-x86/irq_tables.c
index 520c5ef..21eeabf 100644
--- a/src/mainboard/emulation/qemu-x86/irq_tables.c
+++ b/src/mainboard/emulation/qemu-x86/irq_tables.c
@@ -7,7 +7,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,  /* u32 signature */
 	PIRQ_VERSION,    /* u16 version   */
 	32+16*CONFIG_IRQ_SLOT_COUNT,	 /* there can be total CONFIG_IRQ_SLOT_COUNT devices on the bus */
@@ -31,5 +31,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 };
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-        return copy_pirq_routing_table(addr);
+        return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/getac/p470/irq_tables.c b/src/mainboard/getac/p470/irq_tables.c
index 919bafc..a1b9625 100644
--- a/src/mainboard/getac/p470/irq_tables.c
+++ b/src/mainboard/getac/p470/irq_tables.c
@@ -21,7 +21,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,  /* u32 signature */
 	PIRQ_VERSION,    /* u16 version   */
 	32+16*CONFIG_IRQ_SLOT_COUNT,	 /* There can be total 18 devices on the bus */
@@ -58,6 +58,6 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
 
diff --git a/src/mainboard/gigabyte/ga-6bxc/irq_tables.c b/src/mainboard/gigabyte/ga-6bxc/irq_tables.c
index 9a0eb27..044698c 100644
--- a/src/mainboard/gigabyte/ga-6bxc/irq_tables.c
+++ b/src/mainboard/gigabyte/ga-6bxc/irq_tables.c
@@ -20,7 +20,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,
 	PIRQ_VERSION,
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,/* Max. number of devices on the bus */
@@ -45,5 +45,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/gigabyte/ga-6bxe/irq_tables.c b/src/mainboard/gigabyte/ga-6bxe/irq_tables.c
index b46dade..dea3a78 100644
--- a/src/mainboard/gigabyte/ga-6bxe/irq_tables.c
+++ b/src/mainboard/gigabyte/ga-6bxe/irq_tables.c
@@ -20,7 +20,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,		/* u32 signature */
 	PIRQ_VERSION,		/* u16 version */
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,/* Max. number of devices on the bus */
@@ -49,5 +49,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/hp/dl145_g3/irq_tables.c b/src/mainboard/hp/dl145_g3/irq_tables.c
index cdd5bd3..2d2394b 100644
--- a/src/mainboard/hp/dl145_g3/irq_tables.c
+++ b/src/mainboard/hp/dl145_g3/irq_tables.c
@@ -13,7 +13,7 @@
 #include <arch/pirq_routing.h>
 #endif
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
         PIRQ_SIGNATURE,  /* u32 signature */
         PIRQ_VERSION,    /* u16 version   */
         32+16*CONFIG_IRQ_SLOT_COUNT,        /* There can be total CONFIG_IRQ_SLOT_COUNT devices on the bus */
@@ -54,6 +54,6 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-        return copy_pirq_routing_table(addr);
+        return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
 
diff --git a/src/mainboard/hp/dl165_g6_fam10/irq_tables.c b/src/mainboard/hp/dl165_g6_fam10/irq_tables.c
index eb629e0..1784aec 100644
--- a/src/mainboard/hp/dl165_g6_fam10/irq_tables.c
+++ b/src/mainboard/hp/dl165_g6_fam10/irq_tables.c
@@ -13,7 +13,7 @@
 #include <arch/pirq_routing.h>
 #endif
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,		/* u32 signature */
 	PIRQ_VERSION,		/* u16 version */
 	32 + 16 * 11,		/* Max. number of devices on the bus */
@@ -47,5 +47,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/hp/e_vectra_p2706t/irq_tables.c b/src/mainboard/hp/e_vectra_p2706t/irq_tables.c
index fe6f093..1d27628 100644
--- a/src/mainboard/hp/e_vectra_p2706t/irq_tables.c
+++ b/src/mainboard/hp/e_vectra_p2706t/irq_tables.c
@@ -20,7 +20,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,
 	PIRQ_VERSION,
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,/* Max. number of devices on the bus */
@@ -42,5 +42,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/ibase/mb899/irq_tables.c b/src/mainboard/ibase/mb899/irq_tables.c
index 87f25fd..c206bf1 100644
--- a/src/mainboard/ibase/mb899/irq_tables.c
+++ b/src/mainboard/ibase/mb899/irq_tables.c
@@ -19,7 +19,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,  /* u32 signature */
 	PIRQ_VERSION,    /* u16 version   */
 	32+16*CONFIG_IRQ_SLOT_COUNT,	 /* There can be total CONFIG_IRQ_SLOT_COUNT devices on the bus */
@@ -56,6 +56,6 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
 
diff --git a/src/mainboard/ibm/e325/irq_tables.c b/src/mainboard/ibm/e325/irq_tables.c
index 38fc456..24987b7 100644
--- a/src/mainboard/ibm/e325/irq_tables.c
+++ b/src/mainboard/ibm/e325/irq_tables.c
@@ -15,7 +15,7 @@
  *  bus, devfn, {link, bitmap}, {link, bitmap}, {link, bitmap}, {link, bitmap}, slot, rfu
  */
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,		/* u32 signature */
 	PIRQ_VERSION,           /* u16 version   */
 	32+16*CONFIG_IRQ_SLOT_COUNT,	/* there can be total CONFIG_IRQ_SLOT_COUNT table entries */
@@ -56,5 +56,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 };
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-        return copy_pirq_routing_table(addr);
+        return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/ibm/e326/irq_tables.c b/src/mainboard/ibm/e326/irq_tables.c
index 38fc456..24987b7 100644
--- a/src/mainboard/ibm/e326/irq_tables.c
+++ b/src/mainboard/ibm/e326/irq_tables.c
@@ -15,7 +15,7 @@
  *  bus, devfn, {link, bitmap}, {link, bitmap}, {link, bitmap}, {link, bitmap}, slot, rfu
  */
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,		/* u32 signature */
 	PIRQ_VERSION,           /* u16 version   */
 	32+16*CONFIG_IRQ_SLOT_COUNT,	/* there can be total CONFIG_IRQ_SLOT_COUNT table entries */
@@ -56,5 +56,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 };
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-        return copy_pirq_routing_table(addr);
+        return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/iei/juki-511p/irq_tables.c b/src/mainboard/iei/juki-511p/irq_tables.c
index 03244e9..d193853 100644
--- a/src/mainboard/iei/juki-511p/irq_tables.c
+++ b/src/mainboard/iei/juki-511p/irq_tables.c
@@ -25,7 +25,7 @@
 #define IRQ_BITMAP_LINK2 0x0000		/* chipset's INTC# input should be routed to nothing (disabled) */
 #define IRQ_BITMAP_LINK3 0x0000		/* chipset's INTD# input should be routed to nothing (disabled) */
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,	 /* u32 signature */
 	PIRQ_VERSION,	 /* u16 version */
 	32+16*CONFIG_IRQ_SLOT_COUNT,	 /* There can be a total of CONFIG_IRQ_SLOT_COUNT devices on the bus */
@@ -99,5 +99,5 @@ const struct irq_routing_table intel_irq_routing_table = {
  */
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/iei/nova4899r/irq_tables.c b/src/mainboard/iei/nova4899r/irq_tables.c
index f3126b7..7273341 100644
--- a/src/mainboard/iei/nova4899r/irq_tables.c
+++ b/src/mainboard/iei/nova4899r/irq_tables.c
@@ -48,7 +48,7 @@
 /* Bit 11 means IRQ11 is available for this cs5530 INT input. */
 #define IRQ_BITMAP_LINK3 0x0800
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	.signature = PIRQ_SIGNATURE,	/* u32 signature */
 	.version = PIRQ_VERSION,	/* u16 version   */
 	.size = 32+16*CONFIG_IRQ_SLOT_COUNT,	/* There can be total 4 devices on the bus */
@@ -210,5 +210,5 @@ const struct irq_routing_table intel_irq_routing_table = {
  **/
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/iei/pcisa-lx-800-r10/irq_tables.c b/src/mainboard/iei/pcisa-lx-800-r10/irq_tables.c
index 641b188..e58923f 100644
--- a/src/mainboard/iei/pcisa-lx-800-r10/irq_tables.c
+++ b/src/mainboard/iei/pcisa-lx-800-r10/irq_tables.c
@@ -44,7 +44,7 @@
 
 #define EXCLUSIVE_PCI_IRQS (IRQ_BITMAP_LINKA | IRQ_BITMAP_LINKB | IRQ_BITMAP_LINKC | IRQ_BITMAP_LINKD)
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,		/* u32 signature */
 	PIRQ_VERSION,		/* u16 version   */
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,/* there can be total CONFIG_IRQ_SLOT_COUNT devices on the bus */
@@ -292,5 +292,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
 	/* Put the PIR table in memory and checksum. */
-	return 	copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/iei/pm-lx-800-r11/irq_tables.c b/src/mainboard/iei/pm-lx-800-r11/irq_tables.c
index e3c9f18..5670ddf 100644
--- a/src/mainboard/iei/pm-lx-800-r11/irq_tables.c
+++ b/src/mainboard/iei/pm-lx-800-r11/irq_tables.c
@@ -39,7 +39,7 @@
 #define B_LINK2 (1 << PIRQC)
 #define B_LINK3 (1 << PIRQD)
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,				/* u32 signature */
 	PIRQ_VERSION,				/* u16 version */
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,	/* Max. number of devices on the bus */
@@ -224,5 +224,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/iei/pm-lx2-800-r10/irq_tables.c b/src/mainboard/iei/pm-lx2-800-r10/irq_tables.c
index 2bbf218..8d061a6 100644
--- a/src/mainboard/iei/pm-lx2-800-r10/irq_tables.c
+++ b/src/mainboard/iei/pm-lx2-800-r10/irq_tables.c
@@ -41,7 +41,7 @@
 #define B_LINK2 (1 << PIRQC)
 #define B_LINK3 (1 << PIRQD)
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,				/* u32 signature */
 	PIRQ_VERSION,				/* u16 version */
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,	/* Max. number of devices on the bus */
@@ -130,5 +130,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/intel/d810e2cb/irq_tables.c b/src/mainboard/intel/d810e2cb/irq_tables.c
index c7c0d7b..9788143 100644
--- a/src/mainboard/intel/d810e2cb/irq_tables.c
+++ b/src/mainboard/intel/d810e2cb/irq_tables.c
@@ -20,7 +20,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,		/* u32 signature */
 	PIRQ_VERSION,		/* u16 version */
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT, /* Max. number of devices on the bus (7)*/
@@ -49,5 +49,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/intel/d945gclf/irq_tables.c b/src/mainboard/intel/d945gclf/irq_tables.c
index 7af114f..ce2a14a 100644
--- a/src/mainboard/intel/d945gclf/irq_tables.c
+++ b/src/mainboard/intel/d945gclf/irq_tables.c
@@ -19,7 +19,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,  /* u32 signature */
 	PIRQ_VERSION,    /* u16 version   */
 	32+16*18,	 /* There can be total 18 devices on the bus */
@@ -56,6 +56,6 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
 
diff --git a/src/mainboard/intel/eagleheights/irq_tables.c b/src/mainboard/intel/eagleheights/irq_tables.c
index 9942b8e..662ad20 100644
--- a/src/mainboard/intel/eagleheights/irq_tables.c
+++ b/src/mainboard/intel/eagleheights/irq_tables.c
@@ -20,7 +20,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,		/* u32 signature */
 	PIRQ_VERSION,		/* u16 version */
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,		/* Max. number of devices on the bus */
@@ -51,5 +51,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/intel/jarrell/irq_tables.c b/src/mainboard/intel/jarrell/irq_tables.c
index 70e3f3b..6e88d48 100644
--- a/src/mainboard/intel/jarrell/irq_tables.c
+++ b/src/mainboard/intel/jarrell/irq_tables.c
@@ -2,7 +2,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	0x52495024, /* u32 signature */
 	0x0100,     /* u16 version   */
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,        /* u16 Table size 32+(16*devices)  */
@@ -38,6 +38,6 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
 
diff --git a/src/mainboard/intel/mtarvon/irq_tables.c b/src/mainboard/intel/mtarvon/irq_tables.c
index ddf5d9f..723e0dd 100644
--- a/src/mainboard/intel/mtarvon/irq_tables.c
+++ b/src/mainboard/intel/mtarvon/irq_tables.c
@@ -20,7 +20,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE, /* u32 signature */
 	PIRQ_VERSION,   /* u16 version   */
 	32+16*CONFIG_IRQ_SLOT_COUNT, /* u16 Table size 32+(16*devices)  */
@@ -39,6 +39,6 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
 
diff --git a/src/mainboard/intel/truxton/irq_tables.c b/src/mainboard/intel/truxton/irq_tables.c
index f7ed1c5..59ebf51 100644
--- a/src/mainboard/intel/truxton/irq_tables.c
+++ b/src/mainboard/intel/truxton/irq_tables.c
@@ -20,7 +20,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE, /* u32 signature */
 	PIRQ_VERSION,   /* u16 version   */
 	32+16*CONFIG_IRQ_SLOT_COUNT, /* u16 Table size 32+(16*devices)  */
@@ -39,6 +39,6 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
 
diff --git a/src/mainboard/intel/xe7501devkit/irq_tables.c b/src/mainboard/intel/xe7501devkit/irq_tables.c
index f3c1c8e..7af7a9f 100644
--- a/src/mainboard/intel/xe7501devkit/irq_tables.c
+++ b/src/mainboard/intel/xe7501devkit/irq_tables.c
@@ -17,7 +17,7 @@
 #define PIRQ_G 0x6A
 #define PIRQ_H 0x6B
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,
 	PIRQ_VERSION,
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,		// Size of this struct in bytes
@@ -70,5 +70,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/iwave/iWRainbowG6/irq_tables.c b/src/mainboard/iwave/iWRainbowG6/irq_tables.c
index 3f11f16..940ff52 100644
--- a/src/mainboard/iwave/iWRainbowG6/irq_tables.c
+++ b/src/mainboard/iwave/iWRainbowG6/irq_tables.c
@@ -19,7 +19,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,         /* u32 signature */
 	PIRQ_VERSION,           /* u16 version */
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT, /* Max. number of devices on the bus */
@@ -51,5 +51,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/iwill/dk8s2/irq_tables.c b/src/mainboard/iwill/dk8s2/irq_tables.c
index 61ef418..3e1424c 100644
--- a/src/mainboard/iwill/dk8s2/irq_tables.c
+++ b/src/mainboard/iwill/dk8s2/irq_tables.c
@@ -7,7 +7,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,  /* u32 signature */
 	PIRQ_VERSION,    /* u16 version   */
 	32+16*CONFIG_IRQ_SLOT_COUNT,	 /* there can be total CONFIG_IRQ_SLOT_COUNT devices on the bus */
@@ -37,5 +37,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 };
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-        return copy_pirq_routing_table(addr);
+        return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/iwill/dk8x/irq_tables.c b/src/mainboard/iwill/dk8x/irq_tables.c
index 063408c..1b7b92b 100644
--- a/src/mainboard/iwill/dk8x/irq_tables.c
+++ b/src/mainboard/iwill/dk8x/irq_tables.c
@@ -15,7 +15,7 @@
  *  bus, devfn, {link, bitmap}, {link, bitmap}, {link, bitmap}, {link, bitmap}, slot, rfu
  */
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,		/* u32 signature */
 	PIRQ_VERSION,		/* u16 version   */
 	32+16*CONFIG_IRQ_SLOT_COUNT,	/* there can be total CONFIG_IRQ_SLOT_COUNT
@@ -52,5 +52,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 };
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-        return copy_pirq_routing_table(addr);
+        return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/jetway/j7f24/irq_tables.c b/src/mainboard/jetway/j7f24/irq_tables.c
index 9183aca..ec7ec7c 100644
--- a/src/mainboard/jetway/j7f24/irq_tables.c
+++ b/src/mainboard/jetway/j7f24/irq_tables.c
@@ -21,7 +21,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,
 	PIRQ_VERSION,
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,/* Max. number of devices on the bus */
@@ -50,5 +50,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/kontron/986lcd-m/irq_tables.c b/src/mainboard/kontron/986lcd-m/irq_tables.c
index 4d7f40f..ab1f2e5 100644
--- a/src/mainboard/kontron/986lcd-m/irq_tables.c
+++ b/src/mainboard/kontron/986lcd-m/irq_tables.c
@@ -19,7 +19,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,  /* u32 signature */
 	PIRQ_VERSION,    /* u16 version   */
 	32+16*CONFIG_IRQ_SLOT_COUNT,	 /* There can be total CONFIG_IRQ_SLOT_COUNT devices on the bus */
@@ -56,6 +56,6 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
 
diff --git a/src/mainboard/lanner/em8510/irq_tables.c b/src/mainboard/lanner/em8510/irq_tables.c
index 5b42952..f7e11f8 100644
--- a/src/mainboard/lanner/em8510/irq_tables.c
+++ b/src/mainboard/lanner/em8510/irq_tables.c
@@ -20,7 +20,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,		/* u32 signature */
 	PIRQ_VERSION,		/* u16 version */
 	32 + 16 * 10,		/* Max. number of devices on the bus */
@@ -52,5 +52,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/lenovo/t60/irq_tables.c b/src/mainboard/lenovo/t60/irq_tables.c
index ee4a0d9..8991d7f 100644
--- a/src/mainboard/lenovo/t60/irq_tables.c
+++ b/src/mainboard/lenovo/t60/irq_tables.c
@@ -21,7 +21,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,		/* u32 signature */
 	PIRQ_VERSION,		/* u16 version */
 	32 + 16 * 15,		/* Max. number of devices on the bus */
@@ -57,5 +57,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/lenovo/x60/irq_tables.c b/src/mainboard/lenovo/x60/irq_tables.c
index ee4a0d9..8991d7f 100644
--- a/src/mainboard/lenovo/x60/irq_tables.c
+++ b/src/mainboard/lenovo/x60/irq_tables.c
@@ -21,7 +21,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,		/* u32 signature */
 	PIRQ_VERSION,		/* u16 version */
 	32 + 16 * 15,		/* Max. number of devices on the bus */
@@ -57,5 +57,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/lippert/frontrunner/irq_tables.c b/src/mainboard/lippert/frontrunner/irq_tables.c
index 386e12e..5c045cc 100644
--- a/src/mainboard/lippert/frontrunner/irq_tables.c
+++ b/src/mainboard/lippert/frontrunner/irq_tables.c
@@ -25,7 +25,7 @@
 #define L_PIRQC	 3		/* Means Slot INTx# Connects To Chipset INTC# */
 #define L_PIRQD	 4		/* Means Slot INTx# Connects To Chipset INTD# */
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,  /* u32 signature */
 	PIRQ_VERSION,    /* u16 version   */
 	32+16*CONFIG_IRQ_SLOT_COUNT,	 /* there can be total CONFIG_IRQ_SLOT_COUNT devices on the bus */
@@ -45,5 +45,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 };
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-        return copy_pirq_routing_table(addr);
+        return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/lippert/hurricane-lx/irq_tables.c b/src/mainboard/lippert/hurricane-lx/irq_tables.c
index 86166b1..e098fc2 100644
--- a/src/mainboard/lippert/hurricane-lx/irq_tables.c
+++ b/src/mainboard/lippert/hurricane-lx/irq_tables.c
@@ -44,7 +44,7 @@
 #define L_PIRQC	 3		/* Means Slot INTx# Connects To Chipset INTC# */
 #define L_PIRQD	 4		/* Means Slot INTx# Connects To Chipset INTD# */
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,		/* u32 signature */
 	PIRQ_VERSION,		/* u16 version   */
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,/* There can be total CONFIG_IRQ_SLOT_COUNT devices on the bus */
@@ -72,5 +72,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/lippert/literunner-lx/irq_tables.c b/src/mainboard/lippert/literunner-lx/irq_tables.c
index 9b16074..7a2759a 100644
--- a/src/mainboard/lippert/literunner-lx/irq_tables.c
+++ b/src/mainboard/lippert/literunner-lx/irq_tables.c
@@ -44,7 +44,7 @@
 #define L_PIRQC	 3		/* Means Slot INTx# Connects To Chipset INTC# */
 #define L_PIRQD	 4		/* Means Slot INTx# Connects To Chipset INTD# */
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,		/* u32 signature */
 	PIRQ_VERSION,		/* u16 version   */
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,/* There can be total CONFIG_IRQ_SLOT_COUNT devices on the bus */
@@ -69,5 +69,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/lippert/roadrunner-lx/irq_tables.c b/src/mainboard/lippert/roadrunner-lx/irq_tables.c
index 77d181a..0a7ab41 100644
--- a/src/mainboard/lippert/roadrunner-lx/irq_tables.c
+++ b/src/mainboard/lippert/roadrunner-lx/irq_tables.c
@@ -44,7 +44,7 @@
 #define L_PIRQC	 3		/* Means Slot INTx# Connects To Chipset INTC# */
 #define L_PIRQD	 4		/* Means Slot INTx# Connects To Chipset INTD# */
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,		/* u32 signature */
 	PIRQ_VERSION,		/* u16 version   */
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,/* there can be total CONFIG_IRQ_SLOT_COUNT devices on the bus */
@@ -71,5 +71,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/lippert/spacerunner-lx/irq_tables.c b/src/mainboard/lippert/spacerunner-lx/irq_tables.c
index bd56af9..31ff57a 100644
--- a/src/mainboard/lippert/spacerunner-lx/irq_tables.c
+++ b/src/mainboard/lippert/spacerunner-lx/irq_tables.c
@@ -44,7 +44,7 @@
 #define L_PIRQC	 3		/* Means Slot INTx# Connects To Chipset INTC# */
 #define L_PIRQD	 4		/* Means Slot INTx# Connects To Chipset INTD# */
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,		/* u32 signature */
 	PIRQ_VERSION,		/* u16 version   */
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,/* There can be total CONFIG_IRQ_SLOT_COUNT devices on the bus */
@@ -71,5 +71,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/mitac/6513wu/irq_tables.c b/src/mainboard/mitac/6513wu/irq_tables.c
index 5df20ba..0d6ae3c 100644
--- a/src/mainboard/mitac/6513wu/irq_tables.c
+++ b/src/mainboard/mitac/6513wu/irq_tables.c
@@ -29,7 +29,7 @@
  * excluded from the masks, leaving 0xca28 (3,5,9,11,14,15).
  */
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,         /* u32 signature */
 	PIRQ_VERSION,           /* u16 version */
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,/* Max. number of devices on the bus */
@@ -59,5 +59,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/msi/ms6119/irq_tables.c b/src/mainboard/msi/ms6119/irq_tables.c
index cf1fdaf..db07dda 100644
--- a/src/mainboard/msi/ms6119/irq_tables.c
+++ b/src/mainboard/msi/ms6119/irq_tables.c
@@ -20,7 +20,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,
 	PIRQ_VERSION,
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,/* Max. number of devices on the bus */
@@ -46,5 +46,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/msi/ms6147/irq_tables.c b/src/mainboard/msi/ms6147/irq_tables.c
index 3715f3c..2f10c0e 100644
--- a/src/mainboard/msi/ms6147/irq_tables.c
+++ b/src/mainboard/msi/ms6147/irq_tables.c
@@ -20,7 +20,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,
 	PIRQ_VERSION,
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,/* Max. number of devices on the bus */
@@ -47,5 +47,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/msi/ms6156/irq_tables.c b/src/mainboard/msi/ms6156/irq_tables.c
index 1e7486b..82b76d4 100644
--- a/src/mainboard/msi/ms6156/irq_tables.c
+++ b/src/mainboard/msi/ms6156/irq_tables.c
@@ -20,7 +20,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,		/* u32 signature */
 	PIRQ_VERSION,		/* u16 version */
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,/* Max. number of devices on the bus */
@@ -46,5 +46,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/msi/ms6178/irq_tables.c b/src/mainboard/msi/ms6178/irq_tables.c
index 6bccd83..575d6d0 100644
--- a/src/mainboard/msi/ms6178/irq_tables.c
+++ b/src/mainboard/msi/ms6178/irq_tables.c
@@ -20,7 +20,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,
 	PIRQ_VERSION,
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,/* Max. number of devices on the bus */
@@ -43,5 +43,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/nec/powermate2000/irq_tables.c b/src/mainboard/nec/powermate2000/irq_tables.c
index 95f973b..beee039 100644
--- a/src/mainboard/nec/powermate2000/irq_tables.c
+++ b/src/mainboard/nec/powermate2000/irq_tables.c
@@ -20,7 +20,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,
 	PIRQ_VERSION,
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,/* Max. number of devices on the bus */
@@ -44,5 +44,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/newisys/khepri/irq_tables.c b/src/mainboard/newisys/khepri/irq_tables.c
index 346197c..bbdb7e6 100644
--- a/src/mainboard/newisys/khepri/irq_tables.c
+++ b/src/mainboard/newisys/khepri/irq_tables.c
@@ -1,6 +1,6 @@
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE, /* u32 signature */
 	PIRQ_VERSION,   /* u16 version   */
 	32+16*CONFIG_IRQ_SLOT_COUNT,        /* there can be total CONFIG_IRQ_SLOT_COUNT devices on the bus */
@@ -35,5 +35,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-        return copy_pirq_routing_table(addr);
+        return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/nokia/ip530/irq_tables.c b/src/mainboard/nokia/ip530/irq_tables.c
index 091a44f..8da9d92 100644
--- a/src/mainboard/nokia/ip530/irq_tables.c
+++ b/src/mainboard/nokia/ip530/irq_tables.c
@@ -22,7 +22,7 @@
 
 #define PIRQ_IRQ_MASK 0x0c60
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,		/* u32 signature */
 	PIRQ_VERSION,		/* u16 version */
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,/* Max. number of devices on the bus */
@@ -83,7 +83,7 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
 
 /**
diff --git a/src/mainboard/pcengines/alix1c/irq_tables.c b/src/mainboard/pcengines/alix1c/irq_tables.c
index 414a930..14a7960 100644
--- a/src/mainboard/pcengines/alix1c/irq_tables.c
+++ b/src/mainboard/pcengines/alix1c/irq_tables.c
@@ -70,7 +70,7 @@
  * The only swizzled interrupt is eth0, where INTA is wired to interrupt controller line B.
  */
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,
 	PIRQ_VERSION,
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,/* Max. number of devices on the bus */
@@ -106,5 +106,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/pcengines/alix2d/irq_tables.c b/src/mainboard/pcengines/alix2d/irq_tables.c
index 1e4f2d9..c70b94e 100644
--- a/src/mainboard/pcengines/alix2d/irq_tables.c
+++ b/src/mainboard/pcengines/alix2d/irq_tables.c
@@ -71,7 +71,7 @@
  * interrupt controller lines B, C and D.
  */
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,
 	PIRQ_VERSION,
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,/* Max. number of devices on the bus */
@@ -113,5 +113,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/rca/rm4100/irq_tables.c b/src/mainboard/rca/rm4100/irq_tables.c
index 3ecc549..2eb2fd8 100644
--- a/src/mainboard/rca/rm4100/irq_tables.c
+++ b/src/mainboard/rca/rm4100/irq_tables.c
@@ -20,7 +20,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,  /* u32 signature */
 	PIRQ_VERSION,    /* u16 version   */
 	32+16*CONFIG_IRQ_SLOT_COUNT,	 /* there can be total CONFIG_IRQ_SLOT_COUNT devices on the bus */
@@ -46,5 +46,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/roda/rk886ex/irq_tables.c b/src/mainboard/roda/rk886ex/irq_tables.c
index 6aa36bf..d2e4f78 100644
--- a/src/mainboard/roda/rk886ex/irq_tables.c
+++ b/src/mainboard/roda/rk886ex/irq_tables.c
@@ -21,7 +21,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,  /* u32 signature */
 	PIRQ_VERSION,    /* u16 version   */
 	32+16*18,	 /* There can be total 18 devices on the bus */
@@ -58,6 +58,6 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
 
diff --git a/src/mainboard/soyo/sy-6ba-plus-iii/irq_tables.c b/src/mainboard/soyo/sy-6ba-plus-iii/irq_tables.c
index 22f29e1..542d9e0 100644
--- a/src/mainboard/soyo/sy-6ba-plus-iii/irq_tables.c
+++ b/src/mainboard/soyo/sy-6ba-plus-iii/irq_tables.c
@@ -20,7 +20,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,		/* u32 signature */
 	PIRQ_VERSION,		/* u16 version */
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,/* Max. number of devices on the bus */
@@ -49,5 +49,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/supermicro/x6dai_g/irq_tables.c b/src/mainboard/supermicro/x6dai_g/irq_tables.c
index 656b4d8..0574f05 100644
--- a/src/mainboard/supermicro/x6dai_g/irq_tables.c
+++ b/src/mainboard/supermicro/x6dai_g/irq_tables.c
@@ -2,7 +2,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	0x52495024, /* u32 signature */
 	0x0100,     /* u16 version   */
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,        /* u16 Table size 32+(16*devices)  */
@@ -35,6 +35,6 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
 
diff --git a/src/mainboard/supermicro/x6dhe_g/irq_tables.c b/src/mainboard/supermicro/x6dhe_g/irq_tables.c
index e0d5f32..594d948 100644
--- a/src/mainboard/supermicro/x6dhe_g/irq_tables.c
+++ b/src/mainboard/supermicro/x6dhe_g/irq_tables.c
@@ -2,7 +2,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	0x52495024, /* u32 signature */
 	0x0100,     /* u16 version   */
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,        /* u16 Table size 32+(16*devices)  */
@@ -35,6 +35,6 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
 
diff --git a/src/mainboard/supermicro/x6dhe_g2/irq_tables.c b/src/mainboard/supermicro/x6dhe_g2/irq_tables.c
index e0d5f32..594d948 100644
--- a/src/mainboard/supermicro/x6dhe_g2/irq_tables.c
+++ b/src/mainboard/supermicro/x6dhe_g2/irq_tables.c
@@ -2,7 +2,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	0x52495024, /* u32 signature */
 	0x0100,     /* u16 version   */
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,        /* u16 Table size 32+(16*devices)  */
@@ -35,6 +35,6 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
 
diff --git a/src/mainboard/supermicro/x6dhr_ig/irq_tables.c b/src/mainboard/supermicro/x6dhr_ig/irq_tables.c
index 600f6c1..0988cb4 100644
--- a/src/mainboard/supermicro/x6dhr_ig/irq_tables.c
+++ b/src/mainboard/supermicro/x6dhr_ig/irq_tables.c
@@ -2,7 +2,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	0x52495024, /* u32 signature */
 	0x0100,     /* u16 version   */
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,        /* u16 Table size 32+(16*devices)  */
@@ -35,6 +35,6 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
 
diff --git a/src/mainboard/supermicro/x6dhr_ig2/irq_tables.c b/src/mainboard/supermicro/x6dhr_ig2/irq_tables.c
index 600f6c1..0988cb4 100644
--- a/src/mainboard/supermicro/x6dhr_ig2/irq_tables.c
+++ b/src/mainboard/supermicro/x6dhr_ig2/irq_tables.c
@@ -2,7 +2,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	0x52495024, /* u32 signature */
 	0x0100,     /* u16 version   */
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,        /* u16 Table size 32+(16*devices)  */
@@ -35,6 +35,6 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
 
diff --git a/src/mainboard/supermicro/x7db8/irq_tables.c b/src/mainboard/supermicro/x7db8/irq_tables.c
index 84f456a..6fb5ed9 100644
--- a/src/mainboard/supermicro/x7db8/irq_tables.c
+++ b/src/mainboard/supermicro/x7db8/irq_tables.c
@@ -20,7 +20,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,		/* u32 signature */
 	PIRQ_VERSION,		/* u16 version */
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,		/* Max. number of devices on the bus */
@@ -53,5 +53,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/technologic/ts5300/irq_tables.c b/src/mainboard/technologic/ts5300/irq_tables.c
index 232016b..15dcddd 100644
--- a/src/mainboard/technologic/ts5300/irq_tables.c
+++ b/src/mainboard/technologic/ts5300/irq_tables.c
@@ -7,7 +7,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,  /* u32 signature */
 	PIRQ_VERSION,    /* u16 version   */
 	32+16*CONFIG_IRQ_SLOT_COUNT,	 /* there can be total CONFIG_IRQ_SLOT_COUNT devices on the bus */
@@ -27,5 +27,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 };
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-        return copy_pirq_routing_table(addr);
+        return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/televideo/tc7020/irq_tables.c b/src/mainboard/televideo/tc7020/irq_tables.c
index bc56864..511cf88 100644
--- a/src/mainboard/televideo/tc7020/irq_tables.c
+++ b/src/mainboard/televideo/tc7020/irq_tables.c
@@ -45,7 +45,7 @@
 
 #define EXCLUSIVE_PCI_IRQS (IRQ_BITMAP_LINKA | IRQ_BITMAP_LINKB | IRQ_BITMAP_LINKC | IRQ_BITMAP_LINKD)
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,	 /* u32 signature */
 	PIRQ_VERSION,	 /* u16 version */
 	32+16*CONFIG_IRQ_SLOT_COUNT,	 /* There can be a total of CONFIG_IRQ_SLOT_COUNT devices on the bus */
@@ -144,5 +144,5 @@ const struct irq_routing_table intel_irq_routing_table = {
  */
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/thomson/ip1000/irq_tables.c b/src/mainboard/thomson/ip1000/irq_tables.c
index 3ecc549..2eb2fd8 100644
--- a/src/mainboard/thomson/ip1000/irq_tables.c
+++ b/src/mainboard/thomson/ip1000/irq_tables.c
@@ -20,7 +20,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,  /* u32 signature */
 	PIRQ_VERSION,    /* u16 version   */
 	32+16*CONFIG_IRQ_SLOT_COUNT,	 /* there can be total CONFIG_IRQ_SLOT_COUNT devices on the bus */
@@ -46,5 +46,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/traverse/geos/irq_tables.c b/src/mainboard/traverse/geos/irq_tables.c
index 104b4a4..fb86543 100644
--- a/src/mainboard/traverse/geos/irq_tables.c
+++ b/src/mainboard/traverse/geos/irq_tables.c
@@ -41,7 +41,7 @@
 #define L_PIRQC	 3		/* Means Slot INTx# Connects To Chipset INTC# */
 #define L_PIRQD	 4		/* Means Slot INTx# Connects To Chipset INTD# */
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,		/* u32 signature */
 	PIRQ_VERSION,		/* u16 version   */
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,	/* there can be total CONFIG_IRQ_SLOT_COUNT devices on the bus */
@@ -67,5 +67,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/tyan/s2735/irq_tables.c b/src/mainboard/tyan/s2735/irq_tables.c
index 8038d14..3d69b49 100644
--- a/src/mainboard/tyan/s2735/irq_tables.c
+++ b/src/mainboard/tyan/s2735/irq_tables.c
@@ -7,7 +7,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,  /* u32 signature */
 	PIRQ_VERSION,    /* u16 version   */
 	32+16*CONFIG_IRQ_SLOT_COUNT,	 /* there can be total CONFIG_IRQ_SLOT_COUNT devices on the bus */
@@ -41,5 +41,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-        return copy_pirq_routing_table(addr);
+        return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/tyan/s2850/irq_tables.c b/src/mainboard/tyan/s2850/irq_tables.c
index f56df8a..187981c 100644
--- a/src/mainboard/tyan/s2850/irq_tables.c
+++ b/src/mainboard/tyan/s2850/irq_tables.c
@@ -7,7 +7,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE, /* u32 signature */
 	PIRQ_VERSION,   /* u16 version   */
 	32+16*CONFIG_IRQ_SLOT_COUNT,        /* there can be total CONFIG_IRQ_SLOT_COUNT devices on the bus */
@@ -36,5 +36,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 };
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-        return copy_pirq_routing_table(addr);
+        return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/tyan/s2875/irq_tables.c b/src/mainboard/tyan/s2875/irq_tables.c
index 96f3a07..af8c385 100644
--- a/src/mainboard/tyan/s2875/irq_tables.c
+++ b/src/mainboard/tyan/s2875/irq_tables.c
@@ -7,7 +7,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE, /* u32 signature */
 	PIRQ_VERSION,   /* u16 version   */
 	32+16*CONFIG_IRQ_SLOT_COUNT,        /* there can be total CONFIG_IRQ_SLOT_COUNT devices on the bus */
@@ -37,5 +37,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 };
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-        return copy_pirq_routing_table(addr);
+        return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/tyan/s2880/irq_tables.c b/src/mainboard/tyan/s2880/irq_tables.c
index 85040df..d0c0d18 100644
--- a/src/mainboard/tyan/s2880/irq_tables.c
+++ b/src/mainboard/tyan/s2880/irq_tables.c
@@ -7,7 +7,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE, /* u32 signature */
 	PIRQ_VERSION,   /* u16 version   */
 	32+16*CONFIG_IRQ_SLOT_COUNT,        /* there can be total CONFIG_IRQ_SLOT_COUNT devices on the bus */
@@ -37,5 +37,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 };
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/tyan/s2882/irq_tables.c b/src/mainboard/tyan/s2882/irq_tables.c
index c071e8a..2e12291 100644
--- a/src/mainboard/tyan/s2882/irq_tables.c
+++ b/src/mainboard/tyan/s2882/irq_tables.c
@@ -10,7 +10,7 @@
 #include <stdint.h>
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
         PIRQ_SIGNATURE, /* u32 signature */
         PIRQ_VERSION,   /* u16 version   */
         32+16*CONFIG_IRQ_SLOT_COUNT,        /* there can be total CONFIG_IRQ_SLOT_COUNT devices on the bus */
diff --git a/src/mainboard/tyan/s4880/irq_tables.c b/src/mainboard/tyan/s4880/irq_tables.c
index 09aa6f4..defe03b 100644
--- a/src/mainboard/tyan/s4880/irq_tables.c
+++ b/src/mainboard/tyan/s4880/irq_tables.c
@@ -7,7 +7,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE, /* u32 signature */
 	PIRQ_VERSION,   /* u16 version   */
 	32+16*CONFIG_IRQ_SLOT_COUNT,        /* there can be total CONFIG_IRQ_SLOT_COUNT devices on the bus */
@@ -46,5 +46,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 };
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-        return copy_pirq_routing_table(addr);
+        return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/tyan/s4882/irq_tables.c b/src/mainboard/tyan/s4882/irq_tables.c
index 89ae35f..d89c034 100644
--- a/src/mainboard/tyan/s4882/irq_tables.c
+++ b/src/mainboard/tyan/s4882/irq_tables.c
@@ -7,7 +7,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE, /* u32 signature */
 	PIRQ_VERSION,   /* u16 version   */
 	32+16*CONFIG_IRQ_SLOT_COUNT,        /* there can be total CONFIG_IRQ_SLOT_COUNT devices on the bus */
@@ -46,5 +46,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 };
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-        return copy_pirq_routing_table(addr);
+        return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/via/epia-cn/irq_tables.c b/src/mainboard/via/epia-cn/irq_tables.c
index 1d21613..fa765aa 100644
--- a/src/mainboard/via/epia-cn/irq_tables.c
+++ b/src/mainboard/via/epia-cn/irq_tables.c
@@ -21,7 +21,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,
 	PIRQ_VERSION,
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,/* Max. number of devices on the bus */
@@ -49,5 +49,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/via/epia-m/irq_tables.c b/src/mainboard/via/epia-m/irq_tables.c
index ac21b06..1f2634e 100644
--- a/src/mainboard/via/epia-m/irq_tables.c
+++ b/src/mainboard/via/epia-m/irq_tables.c
@@ -7,7 +7,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,  /* u32 signature */
 	PIRQ_VERSION,    /* u16 version   */
 	32+16*CONFIG_IRQ_SLOT_COUNT,	 /* there can be total CONFIG_IRQ_SLOT_COUNT devices on the bus */
@@ -30,5 +30,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 };
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-        return copy_pirq_routing_table(addr);
+        return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/via/epia-m700/irq_tables.c b/src/mainboard/via/epia-m700/irq_tables.c
index 3e4b47e..147319d 100644
--- a/src/mainboard/via/epia-m700/irq_tables.c
+++ b/src/mainboard/via/epia-m700/irq_tables.c
@@ -20,7 +20,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,		/* u32 signature */
 	PIRQ_VERSION,		/* u16 version   */
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,/* Max. number of devices on the bus */
@@ -52,5 +52,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 inline unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/via/epia-n/irq_tables.c b/src/mainboard/via/epia-n/irq_tables.c
index 39dcbad..9c1ee4e 100644
--- a/src/mainboard/via/epia-n/irq_tables.c
+++ b/src/mainboard/via/epia-n/irq_tables.c
@@ -13,7 +13,7 @@
 #include <arch/pirq_routing.h>
 #endif
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,  /* u32 signature */
 	PIRQ_VERSION,    /* u16 version   */
 	32+16*CONFIG_IRQ_SLOT_COUNT,	 /* There can be total CONFIG_IRQ_SLOT_COUNT devices on the bus */
@@ -42,6 +42,6 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
 #endif
diff --git a/src/mainboard/via/epia/irq_tables.c b/src/mainboard/via/epia/irq_tables.c
index 03b2500..94adba1 100644
--- a/src/mainboard/via/epia/irq_tables.c
+++ b/src/mainboard/via/epia/irq_tables.c
@@ -7,7 +7,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE, /* u32 signature */
 	PIRQ_VERSION,   /* u16 version   */
 	32+16*CONFIG_IRQ_SLOT_COUNT,        /* there can be total CONFIG_IRQ_SLOT_COUNT devices on the bus */
@@ -32,5 +32,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 };
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-        return copy_pirq_routing_table(addr);
+        return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/via/pc2500e/irq_tables.c b/src/mainboard/via/pc2500e/irq_tables.c
index 702ebb0..72a8699 100644
--- a/src/mainboard/via/pc2500e/irq_tables.c
+++ b/src/mainboard/via/pc2500e/irq_tables.c
@@ -20,7 +20,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,
 	PIRQ_VERSION,
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,/* Max. number of devices on the bus */
@@ -49,5 +49,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/via/vt8454c/irq_tables.c b/src/mainboard/via/vt8454c/irq_tables.c
index fbd71dd..a4cb0b1 100644
--- a/src/mainboard/via/vt8454c/irq_tables.c
+++ b/src/mainboard/via/vt8454c/irq_tables.c
@@ -21,7 +21,7 @@
 
 #include <arch/pirq_routing.h>
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,		/* u32 signature */
 	PIRQ_VERSION,		/* u16 version   */
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,		/* There can be total CONFIG_IRQ_SLOT_COUNT devices on the bus */
@@ -57,5 +57,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 inline unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/winent/pl6064/irq_tables.c b/src/mainboard/winent/pl6064/irq_tables.c
index 48c26b0..06e1164 100644
--- a/src/mainboard/winent/pl6064/irq_tables.c
+++ b/src/mainboard/winent/pl6064/irq_tables.c
@@ -42,7 +42,7 @@
 #define L_PIRQC	 3		/* Means Slot INTx# Connects To Chipset INTC# */
 #define L_PIRQD	 4		/* Means Slot INTx# Connects To Chipset INTD# */
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,		/* u32 signature */
 	PIRQ_VERSION,		/* u16 version   */
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,	/* there can be total CONFIG_IRQ_SLOT_COUNT devices on the bus */
@@ -69,5 +69,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }
diff --git a/src/mainboard/wyse/s50/irq_tables.c b/src/mainboard/wyse/s50/irq_tables.c
index 2685964..d3736d6 100644
--- a/src/mainboard/wyse/s50/irq_tables.c
+++ b/src/mainboard/wyse/s50/irq_tables.c
@@ -38,7 +38,7 @@
 #define L_PIRQC	 3		/* Means Slot INTx# Connects To Chipset INTC# */
 #define L_PIRQD	 4		/* Means Slot INTx# Connects To Chipset INTD# */
 
-const struct irq_routing_table intel_irq_routing_table = {
+static const struct irq_routing_table intel_irq_routing_table = {
 	PIRQ_SIGNATURE,		/* u32 signature */
 	PIRQ_VERSION,		/* u16 version */
 	32 + 16 * CONFIG_IRQ_SLOT_COUNT,		/* there can be total CONFIG_IRQ_SLOT_COUNT devices on the bus */
@@ -63,5 +63,5 @@ const struct irq_routing_table intel_irq_routing_table = {
 
 unsigned long write_pirq_routing_table(unsigned long addr)
 {
-	return copy_pirq_routing_table(addr);
+	return copy_pirq_routing_table(addr, &intel_irq_routing_table);
 }




More information about the coreboot mailing list