summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKyösti Mälkki <kyosti.malkki@gmail.com>2013-09-09 09:23:19 +0300
committerKyösti Mälkki <kyosti.malkki@gmail.com>2013-09-11 07:05:25 +0200
commit9c7d73ca3f5b2985cb0f498038a746bcc0f2cac7 (patch)
tree3cac03ff8b7c0e224d5963ac77239538e04ebee9
parentc984f4f30333cde88fbd14a188c5ce599d0fc77c (diff)
downloadcoreboot-9c7d73ca3f5b2985cb0f498038a746bcc0f2cac7.tar.gz
coreboot-9c7d73ca3f5b2985cb0f498038a746bcc0f2cac7.tar.bz2
coreboot-9c7d73ca3f5b2985cb0f498038a746bcc0f2cac7.zip
AMD sb800 sb900: Fix corruption of a global ramstage variable
A late for loop may reference over the current array allocation and corrupt an unrelated global variable. As a quick fix bumb the size of the array allocation uniformly to 6. Change-Id: Ib067fdf077e091d13e32cc3a8e4a0b713d19bcc2 Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: http://review.coreboot.org/3914 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin <adurbin@google.com> Reviewed-by: Bruce Griffith <Bruce.Griffith@se-eng.com>
-rw-r--r--src/mainboard/advansus/a785e-i/get_bus_conf.c6
-rw-r--r--src/mainboard/advansus/a785e-i/irq_tables.c2
-rw-r--r--src/mainboard/advansus/a785e-i/mptable.c2
-rw-r--r--src/mainboard/amd/bimini_fam10/get_bus_conf.c7
-rw-r--r--src/mainboard/amd/bimini_fam10/irq_tables.c2
-rw-r--r--src/mainboard/amd/bimini_fam10/mptable.c2
-rw-r--r--src/mainboard/amd/inagua/get_bus_conf.c6
-rw-r--r--src/mainboard/amd/inagua/irq_tables.c2
-rw-r--r--src/mainboard/amd/inagua/mptable.c2
-rw-r--r--src/mainboard/amd/persimmon/get_bus_conf.c6
-rw-r--r--src/mainboard/amd/persimmon/irq_tables.c2
-rw-r--r--src/mainboard/amd/persimmon/mptable.c2
-rw-r--r--src/mainboard/amd/south_station/get_bus_conf.c6
-rw-r--r--src/mainboard/amd/south_station/irq_tables.c2
-rw-r--r--src/mainboard/amd/south_station/mptable.c2
-rw-r--r--src/mainboard/amd/torpedo/get_bus_conf.c6
-rw-r--r--src/mainboard/amd/torpedo/irq_tables.c2
-rw-r--r--src/mainboard/amd/torpedo/mptable.c2
-rw-r--r--src/mainboard/amd/union_station/get_bus_conf.c6
-rw-r--r--src/mainboard/amd/union_station/irq_tables.c2
-rw-r--r--src/mainboard/amd/union_station/mptable.c2
-rw-r--r--src/mainboard/asrock/e350m1/get_bus_conf.c6
-rw-r--r--src/mainboard/asrock/e350m1/irq_tables.c2
-rw-r--r--src/mainboard/asrock/e350m1/mptable.c2
-rw-r--r--src/mainboard/asus/m5a88-v/get_bus_conf.c7
-rw-r--r--src/mainboard/asus/m5a88-v/irq_tables.c2
-rw-r--r--src/mainboard/asus/m5a88-v/mptable.c2
-rw-r--r--src/mainboard/avalue/eax-785e/get_bus_conf.c7
-rw-r--r--src/mainboard/avalue/eax-785e/irq_tables.c2
-rw-r--r--src/mainboard/avalue/eax-785e/mptable.c2
-rw-r--r--src/mainboard/lippert/frontrunner-af/get_bus_conf.c6
-rw-r--r--src/mainboard/lippert/frontrunner-af/irq_tables.c2
-rw-r--r--src/mainboard/lippert/frontrunner-af/mptable.c2
-rw-r--r--src/mainboard/lippert/toucan-af/get_bus_conf.c6
-rw-r--r--src/mainboard/lippert/toucan-af/irq_tables.c2
-rw-r--r--src/mainboard/lippert/toucan-af/mptable.c2
36 files changed, 51 insertions, 72 deletions
diff --git a/src/mainboard/advansus/a785e-i/get_bus_conf.c b/src/mainboard/advansus/a785e-i/get_bus_conf.c
index c45364af07e3..0feeed51c1f6 100644
--- a/src/mainboard/advansus/a785e-i/get_bus_conf.c
+++ b/src/mainboard/advansus/a785e-i/get_bus_conf.c
@@ -36,7 +36,7 @@
*/
int bus_isa;
u8 bus_rs780[11];
-u8 bus_sb800[3];
+u8 bus_sb800[6];
u32 apicid_sb800;
/*
@@ -87,9 +87,7 @@ void get_bus_conf(void)
sbdn_rs780 = sysconf.sbdn;
sbdn_sb800 = 0;
- for (i = 0; i < 3; i++) {
- bus_sb800[i] = 0;
- }
+ memset(bus_sb800, 0, sizeof(bus_sb800));
for (i = 0; i < ARRAY_SIZE(bus_rs780); i++) {
bus_rs780[i] = 0;
}
diff --git a/src/mainboard/advansus/a785e-i/irq_tables.c b/src/mainboard/advansus/a785e-i/irq_tables.c
index 8592f0caff2e..d9b6db1de996 100644
--- a/src/mainboard/advansus/a785e-i/irq_tables.c
+++ b/src/mainboard/advansus/a785e-i/irq_tables.c
@@ -45,7 +45,7 @@ static void write_pirq_info(struct irq_info *pirq_info, u8 bus, u8 devfn,
extern u8 bus_isa;
extern u8 bus_rs780[8];
-extern u8 bus_sb800[2];
+extern u8 bus_sb800[6];
extern unsigned long sbdn_sb800;
unsigned long write_pirq_routing_table(unsigned long addr)
diff --git a/src/mainboard/advansus/a785e-i/mptable.c b/src/mainboard/advansus/a785e-i/mptable.c
index fbba61cf8f3f..73ada4dccef8 100644
--- a/src/mainboard/advansus/a785e-i/mptable.c
+++ b/src/mainboard/advansus/a785e-i/mptable.c
@@ -28,7 +28,7 @@
extern int bus_isa;
extern u8 bus_rs780[11];
-extern u8 bus_sb800[2];
+extern u8 bus_sb800[6];
extern u32 apicid_sb800;
extern u32 bus_type[256];
extern u32 sbdn_rs780;
diff --git a/src/mainboard/amd/bimini_fam10/get_bus_conf.c b/src/mainboard/amd/bimini_fam10/get_bus_conf.c
index 52edad104f3a..c4924d4c58b4 100644
--- a/src/mainboard/amd/bimini_fam10/get_bus_conf.c
+++ b/src/mainboard/amd/bimini_fam10/get_bus_conf.c
@@ -33,7 +33,7 @@
*/
int bus_isa;
u8 bus_rs780[11];
-u8 bus_sb800[3];
+u8 bus_sb800[6];
u32 apicid_sb800;
/*
@@ -84,9 +84,8 @@ void get_bus_conf(void)
sbdn_rs780 = sysconf.sbdn;
sbdn_sb800 = 0;
- for (i = 0; i < 3; i++) {
- bus_sb800[i] = 0;
- }
+ memset(bus_sb800, 0, sizeof(bus_sb800));
+
for (i = 0; i < ARRAY_SIZE(bus_rs780); i++) {
bus_rs780[i] = 0;
}
diff --git a/src/mainboard/amd/bimini_fam10/irq_tables.c b/src/mainboard/amd/bimini_fam10/irq_tables.c
index 18cb2432e3cd..0d5027d6eb01 100644
--- a/src/mainboard/amd/bimini_fam10/irq_tables.c
+++ b/src/mainboard/amd/bimini_fam10/irq_tables.c
@@ -45,7 +45,7 @@ static void write_pirq_info(struct irq_info *pirq_info, u8 bus, u8 devfn,
extern u8 bus_isa;
extern u8 bus_rs780[8];
-extern u8 bus_sb800[2];
+extern u8 bus_sb800[6];
extern unsigned long sbdn_sb800;
unsigned long write_pirq_routing_table(unsigned long addr)
diff --git a/src/mainboard/amd/bimini_fam10/mptable.c b/src/mainboard/amd/bimini_fam10/mptable.c
index 4ad4fd434f05..792fa41ffe7e 100644
--- a/src/mainboard/amd/bimini_fam10/mptable.c
+++ b/src/mainboard/amd/bimini_fam10/mptable.c
@@ -28,7 +28,7 @@
extern int bus_isa;
extern u8 bus_rs780[11];
-extern u8 bus_sb800[2];
+extern u8 bus_sb800[6];
extern u32 apicid_sb800;
extern u32 bus_type[256];
extern u32 sbdn_rs780;
diff --git a/src/mainboard/amd/inagua/get_bus_conf.c b/src/mainboard/amd/inagua/get_bus_conf.c
index 09e3b4ca02c3..be28105577b9 100644
--- a/src/mainboard/amd/inagua/get_bus_conf.c
+++ b/src/mainboard/amd/inagua/get_bus_conf.c
@@ -34,7 +34,7 @@
* and acpi_tables busnum is default.
*/
u8 bus_isa;
-u8 bus_sb800[3];
+u8 bus_sb800[6];
u32 apicid_sb800;
/*
@@ -87,9 +87,7 @@ void get_bus_conf(void)
sbdn_sb800 = 0;
- for (i = 0; i < 3; i++) {
- bus_sb800[i] = 0;
- }
+ memset(bus_sb800, 0, sizeof(bus_sb800));
for (i = 0; i < 256; i++) {
bus_type[i] = 0; /* default ISA bus. */
diff --git a/src/mainboard/amd/inagua/irq_tables.c b/src/mainboard/amd/inagua/irq_tables.c
index cab83fff22d4..85f85ef9fd9c 100644
--- a/src/mainboard/amd/inagua/irq_tables.c
+++ b/src/mainboard/amd/inagua/irq_tables.c
@@ -45,7 +45,7 @@ static void write_pirq_info(struct irq_info *pirq_info, u8 bus, u8 devfn,
pirq_info->rfu = rfu;
}
extern u8 bus_isa;
-extern u8 bus_sb800[2];
+extern u8 bus_sb800[6];
extern unsigned long sbdn_sb800;
unsigned long write_pirq_routing_table(unsigned long addr)
diff --git a/src/mainboard/amd/inagua/mptable.c b/src/mainboard/amd/inagua/mptable.c
index 952eddba7afd..73522050ff6b 100644
--- a/src/mainboard/amd/inagua/mptable.c
+++ b/src/mainboard/amd/inagua/mptable.c
@@ -27,7 +27,7 @@
#include <cpu/amd/amdfam14.h>
#include <SBPLATFORM.h>
-extern u8 bus_sb800[2];
+extern u8 bus_sb800[6];
extern u32 apicid_sb800;
diff --git a/src/mainboard/amd/persimmon/get_bus_conf.c b/src/mainboard/amd/persimmon/get_bus_conf.c
index 8872bb5a1c8b..258d895736e6 100644
--- a/src/mainboard/amd/persimmon/get_bus_conf.c
+++ b/src/mainboard/amd/persimmon/get_bus_conf.c
@@ -34,7 +34,7 @@
* and acpi_tables busnum is default.
*/
u8 bus_isa;
-u8 bus_sb800[3];
+u8 bus_sb800[6];
u32 apicid_sb800;
/*
@@ -99,9 +99,7 @@ void get_bus_conf(void)
#endif
sbdn_sb800 = 0;
- for (i = 0; i < 3; i++) {
- bus_sb800[i] = 0;
- }
+ memset(bus_sb800, 0, sizeof(bus_sb800));
for (i = 0; i < 256; i++) {
bus_type[i] = 0; /* default ISA bus. */
diff --git a/src/mainboard/amd/persimmon/irq_tables.c b/src/mainboard/amd/persimmon/irq_tables.c
index 5323d446ef74..b9577cfbaa9a 100644
--- a/src/mainboard/amd/persimmon/irq_tables.c
+++ b/src/mainboard/amd/persimmon/irq_tables.c
@@ -45,7 +45,7 @@ static void write_pirq_info(struct irq_info *pirq_info, u8 bus, u8 devfn,
pirq_info->rfu = rfu;
}
extern u8 bus_isa;
-extern u8 bus_sb800[2];
+extern u8 bus_sb800[6];
extern unsigned long sbdn_sb800;
unsigned long write_pirq_routing_table(unsigned long addr)
diff --git a/src/mainboard/amd/persimmon/mptable.c b/src/mainboard/amd/persimmon/mptable.c
index fd0305887ce7..6b8aaa6593bc 100644
--- a/src/mainboard/amd/persimmon/mptable.c
+++ b/src/mainboard/amd/persimmon/mptable.c
@@ -27,7 +27,7 @@
#include <cpu/amd/amdfam14.h>
#include <SBPLATFORM.h>
-extern u8 bus_sb800[2];
+extern u8 bus_sb800[6];
extern u32 apicid_sb800;
diff --git a/src/mainboard/amd/south_station/get_bus_conf.c b/src/mainboard/amd/south_station/get_bus_conf.c
index 165c683d86aa..df8ce6e51425 100644
--- a/src/mainboard/amd/south_station/get_bus_conf.c
+++ b/src/mainboard/amd/south_station/get_bus_conf.c
@@ -34,7 +34,7 @@
* and acpi_tables busnum is default.
*/
u8 bus_isa;
-u8 bus_sb800[3];
+u8 bus_sb800[6];
u32 apicid_sb800;
/*
@@ -87,9 +87,7 @@ void get_bus_conf(void)
sbdn_sb800 = 0;
- for (i = 0; i < 3; i++) {
- bus_sb800[i] = 0;
- }
+ memset(bus_sb800, 0, sizeof(bus_sb800));
for (i = 0; i < 256; i++) {
bus_type[i] = 0; /* default ISA bus. */
diff --git a/src/mainboard/amd/south_station/irq_tables.c b/src/mainboard/amd/south_station/irq_tables.c
index 5323d446ef74..b9577cfbaa9a 100644
--- a/src/mainboard/amd/south_station/irq_tables.c
+++ b/src/mainboard/amd/south_station/irq_tables.c
@@ -45,7 +45,7 @@ static void write_pirq_info(struct irq_info *pirq_info, u8 bus, u8 devfn,
pirq_info->rfu = rfu;
}
extern u8 bus_isa;
-extern u8 bus_sb800[2];
+extern u8 bus_sb800[6];
extern unsigned long sbdn_sb800;
unsigned long write_pirq_routing_table(unsigned long addr)
diff --git a/src/mainboard/amd/south_station/mptable.c b/src/mainboard/amd/south_station/mptable.c
index cd062f732891..e9175d8d26ad 100644
--- a/src/mainboard/amd/south_station/mptable.c
+++ b/src/mainboard/amd/south_station/mptable.c
@@ -27,7 +27,7 @@
#include <cpu/amd/amdfam14.h>
#include <SBPLATFORM.h>
-extern u8 bus_sb800[2];
+extern u8 bus_sb800[6];
extern u32 apicid_sb800;
diff --git a/src/mainboard/amd/torpedo/get_bus_conf.c b/src/mainboard/amd/torpedo/get_bus_conf.c
index 4444937d571b..5217321c0711 100644
--- a/src/mainboard/amd/torpedo/get_bus_conf.c
+++ b/src/mainboard/amd/torpedo/get_bus_conf.c
@@ -31,7 +31,7 @@
* and acpi_tables busnum is default.
*/
u8 bus_isa;
-u8 bus_sb900[3];
+u8 bus_sb900[6];
/*
* Here you only need to set value in pci1234 for HT-IO that could be installed or not
@@ -94,9 +94,7 @@ void get_bus_conf(void)
sbdn_sb900 = 0;
- for (i = 0; i < 3; i++) {
- bus_sb900[i] = 0;
- }
+ memset(bus_sb900, 0, sizeof(bus_sb900));
for (i = 0; i < 256; i++) {
bus_type[i] = 0; /* default ISA bus. */
diff --git a/src/mainboard/amd/torpedo/irq_tables.c b/src/mainboard/amd/torpedo/irq_tables.c
index 1b2cea5076a2..1a26f1c37e6a 100644
--- a/src/mainboard/amd/torpedo/irq_tables.c
+++ b/src/mainboard/amd/torpedo/irq_tables.c
@@ -46,7 +46,7 @@ static void write_pirq_info(struct irq_info *pirq_info, u8 bus, u8 devfn,
pirq_info->rfu = rfu;
}
extern u8 bus_isa;
-extern u8 bus_sb900[2];
+extern u8 bus_sb900[6];
extern unsigned long sbdn_sb900;
unsigned long write_pirq_routing_table(unsigned long addr)
diff --git a/src/mainboard/amd/torpedo/mptable.c b/src/mainboard/amd/torpedo/mptable.c
index 81bccc30a7ed..da97d6a7b387 100644
--- a/src/mainboard/amd/torpedo/mptable.c
+++ b/src/mainboard/amd/torpedo/mptable.c
@@ -31,7 +31,7 @@
//-#define IO_APIC_ID CONFIG_MAX_PHYSICAL_CPUS + 1
#define IO_APIC_ID CONFIG_MAX_CPUS
-extern u8 bus_sb900[2];
+extern u8 bus_sb900[6];
extern u32 bus_type[256];
diff --git a/src/mainboard/amd/union_station/get_bus_conf.c b/src/mainboard/amd/union_station/get_bus_conf.c
index 165c683d86aa..df8ce6e51425 100644
--- a/src/mainboard/amd/union_station/get_bus_conf.c
+++ b/src/mainboard/amd/union_station/get_bus_conf.c
@@ -34,7 +34,7 @@
* and acpi_tables busnum is default.
*/
u8 bus_isa;
-u8 bus_sb800[3];
+u8 bus_sb800[6];
u32 apicid_sb800;
/*
@@ -87,9 +87,7 @@ void get_bus_conf(void)
sbdn_sb800 = 0;
- for (i = 0; i < 3; i++) {
- bus_sb800[i] = 0;
- }
+ memset(bus_sb800, 0, sizeof(bus_sb800));
for (i = 0; i < 256; i++) {
bus_type[i] = 0; /* default ISA bus. */
diff --git a/src/mainboard/amd/union_station/irq_tables.c b/src/mainboard/amd/union_station/irq_tables.c
index 5323d446ef74..b9577cfbaa9a 100644
--- a/src/mainboard/amd/union_station/irq_tables.c
+++ b/src/mainboard/amd/union_station/irq_tables.c
@@ -45,7 +45,7 @@ static void write_pirq_info(struct irq_info *pirq_info, u8 bus, u8 devfn,
pirq_info->rfu = rfu;
}
extern u8 bus_isa;
-extern u8 bus_sb800[2];
+extern u8 bus_sb800[6];
extern unsigned long sbdn_sb800;
unsigned long write_pirq_routing_table(unsigned long addr)
diff --git a/src/mainboard/amd/union_station/mptable.c b/src/mainboard/amd/union_station/mptable.c
index cd062f732891..e9175d8d26ad 100644
--- a/src/mainboard/amd/union_station/mptable.c
+++ b/src/mainboard/amd/union_station/mptable.c
@@ -27,7 +27,7 @@
#include <cpu/amd/amdfam14.h>
#include <SBPLATFORM.h>
-extern u8 bus_sb800[2];
+extern u8 bus_sb800[6];
extern u32 apicid_sb800;
diff --git a/src/mainboard/asrock/e350m1/get_bus_conf.c b/src/mainboard/asrock/e350m1/get_bus_conf.c
index 165c683d86aa..df8ce6e51425 100644
--- a/src/mainboard/asrock/e350m1/get_bus_conf.c
+++ b/src/mainboard/asrock/e350m1/get_bus_conf.c
@@ -34,7 +34,7 @@
* and acpi_tables busnum is default.
*/
u8 bus_isa;
-u8 bus_sb800[3];
+u8 bus_sb800[6];
u32 apicid_sb800;
/*
@@ -87,9 +87,7 @@ void get_bus_conf(void)
sbdn_sb800 = 0;
- for (i = 0; i < 3; i++) {
- bus_sb800[i] = 0;
- }
+ memset(bus_sb800, 0, sizeof(bus_sb800));
for (i = 0; i < 256; i++) {
bus_type[i] = 0; /* default ISA bus. */
diff --git a/src/mainboard/asrock/e350m1/irq_tables.c b/src/mainboard/asrock/e350m1/irq_tables.c
index 5323d446ef74..b9577cfbaa9a 100644
--- a/src/mainboard/asrock/e350m1/irq_tables.c
+++ b/src/mainboard/asrock/e350m1/irq_tables.c
@@ -45,7 +45,7 @@ static void write_pirq_info(struct irq_info *pirq_info, u8 bus, u8 devfn,
pirq_info->rfu = rfu;
}
extern u8 bus_isa;
-extern u8 bus_sb800[2];
+extern u8 bus_sb800[6];
extern unsigned long sbdn_sb800;
unsigned long write_pirq_routing_table(unsigned long addr)
diff --git a/src/mainboard/asrock/e350m1/mptable.c b/src/mainboard/asrock/e350m1/mptable.c
index 258b39aa2e0f..95df2a6b3172 100644
--- a/src/mainboard/asrock/e350m1/mptable.c
+++ b/src/mainboard/asrock/e350m1/mptable.c
@@ -27,7 +27,7 @@
#include <cpu/amd/amdfam14.h>
#include <SBPLATFORM.h>
-extern u8 bus_sb800[2];
+extern u8 bus_sb800[6];
extern u32 apicid_sb800;
diff --git a/src/mainboard/asus/m5a88-v/get_bus_conf.c b/src/mainboard/asus/m5a88-v/get_bus_conf.c
index c45364af07e3..9bb26e6d7612 100644
--- a/src/mainboard/asus/m5a88-v/get_bus_conf.c
+++ b/src/mainboard/asus/m5a88-v/get_bus_conf.c
@@ -36,7 +36,7 @@
*/
int bus_isa;
u8 bus_rs780[11];
-u8 bus_sb800[3];
+u8 bus_sb800[6];
u32 apicid_sb800;
/*
@@ -87,9 +87,8 @@ void get_bus_conf(void)
sbdn_rs780 = sysconf.sbdn;
sbdn_sb800 = 0;
- for (i = 0; i < 3; i++) {
- bus_sb800[i] = 0;
- }
+ memset(bus_sb800, 0, sizeof(bus_sb800));
+
for (i = 0; i < ARRAY_SIZE(bus_rs780); i++) {
bus_rs780[i] = 0;
}
diff --git a/src/mainboard/asus/m5a88-v/irq_tables.c b/src/mainboard/asus/m5a88-v/irq_tables.c
index 8592f0caff2e..d9b6db1de996 100644
--- a/src/mainboard/asus/m5a88-v/irq_tables.c
+++ b/src/mainboard/asus/m5a88-v/irq_tables.c
@@ -45,7 +45,7 @@ static void write_pirq_info(struct irq_info *pirq_info, u8 bus, u8 devfn,
extern u8 bus_isa;
extern u8 bus_rs780[8];
-extern u8 bus_sb800[2];
+extern u8 bus_sb800[6];
extern unsigned long sbdn_sb800;
unsigned long write_pirq_routing_table(unsigned long addr)
diff --git a/src/mainboard/asus/m5a88-v/mptable.c b/src/mainboard/asus/m5a88-v/mptable.c
index 6438a68c0e45..cb7aeee202f9 100644
--- a/src/mainboard/asus/m5a88-v/mptable.c
+++ b/src/mainboard/asus/m5a88-v/mptable.c
@@ -28,7 +28,7 @@
extern int bus_isa;
extern u8 bus_rs780[11];
-extern u8 bus_sb800[2];
+extern u8 bus_sb800[6];
extern u32 apicid_sb800;
extern u32 bus_type[256];
extern u32 sbdn_rs780;
diff --git a/src/mainboard/avalue/eax-785e/get_bus_conf.c b/src/mainboard/avalue/eax-785e/get_bus_conf.c
index c45364af07e3..9bb26e6d7612 100644
--- a/src/mainboard/avalue/eax-785e/get_bus_conf.c
+++ b/src/mainboard/avalue/eax-785e/get_bus_conf.c
@@ -36,7 +36,7 @@
*/
int bus_isa;
u8 bus_rs780[11];
-u8 bus_sb800[3];
+u8 bus_sb800[6];
u32 apicid_sb800;
/*
@@ -87,9 +87,8 @@ void get_bus_conf(void)
sbdn_rs780 = sysconf.sbdn;
sbdn_sb800 = 0;
- for (i = 0; i < 3; i++) {
- bus_sb800[i] = 0;
- }
+ memset(bus_sb800, 0, sizeof(bus_sb800));
+
for (i = 0; i < ARRAY_SIZE(bus_rs780); i++) {
bus_rs780[i] = 0;
}
diff --git a/src/mainboard/avalue/eax-785e/irq_tables.c b/src/mainboard/avalue/eax-785e/irq_tables.c
index 8592f0caff2e..d9b6db1de996 100644
--- a/src/mainboard/avalue/eax-785e/irq_tables.c
+++ b/src/mainboard/avalue/eax-785e/irq_tables.c
@@ -45,7 +45,7 @@ static void write_pirq_info(struct irq_info *pirq_info, u8 bus, u8 devfn,
extern u8 bus_isa;
extern u8 bus_rs780[8];
-extern u8 bus_sb800[2];
+extern u8 bus_sb800[6];
extern unsigned long sbdn_sb800;
unsigned long write_pirq_routing_table(unsigned long addr)
diff --git a/src/mainboard/avalue/eax-785e/mptable.c b/src/mainboard/avalue/eax-785e/mptable.c
index eab2e029b0e2..1889e0268d8c 100644
--- a/src/mainboard/avalue/eax-785e/mptable.c
+++ b/src/mainboard/avalue/eax-785e/mptable.c
@@ -28,7 +28,7 @@
extern int bus_isa;
extern u8 bus_rs780[11];
-extern u8 bus_sb800[2];
+extern u8 bus_sb800[6];
extern u32 apicid_sb800;
extern u32 bus_type[256];
extern u32 sbdn_rs780;
diff --git a/src/mainboard/lippert/frontrunner-af/get_bus_conf.c b/src/mainboard/lippert/frontrunner-af/get_bus_conf.c
index 8872bb5a1c8b..258d895736e6 100644
--- a/src/mainboard/lippert/frontrunner-af/get_bus_conf.c
+++ b/src/mainboard/lippert/frontrunner-af/get_bus_conf.c
@@ -34,7 +34,7 @@
* and acpi_tables busnum is default.
*/
u8 bus_isa;
-u8 bus_sb800[3];
+u8 bus_sb800[6];
u32 apicid_sb800;
/*
@@ -99,9 +99,7 @@ void get_bus_conf(void)
#endif
sbdn_sb800 = 0;
- for (i = 0; i < 3; i++) {
- bus_sb800[i] = 0;
- }
+ memset(bus_sb800, 0, sizeof(bus_sb800));
for (i = 0; i < 256; i++) {
bus_type[i] = 0; /* default ISA bus. */
diff --git a/src/mainboard/lippert/frontrunner-af/irq_tables.c b/src/mainboard/lippert/frontrunner-af/irq_tables.c
index 5323d446ef74..b9577cfbaa9a 100644
--- a/src/mainboard/lippert/frontrunner-af/irq_tables.c
+++ b/src/mainboard/lippert/frontrunner-af/irq_tables.c
@@ -45,7 +45,7 @@ static void write_pirq_info(struct irq_info *pirq_info, u8 bus, u8 devfn,
pirq_info->rfu = rfu;
}
extern u8 bus_isa;
-extern u8 bus_sb800[2];
+extern u8 bus_sb800[6];
extern unsigned long sbdn_sb800;
unsigned long write_pirq_routing_table(unsigned long addr)
diff --git a/src/mainboard/lippert/frontrunner-af/mptable.c b/src/mainboard/lippert/frontrunner-af/mptable.c
index fd0305887ce7..6b8aaa6593bc 100644
--- a/src/mainboard/lippert/frontrunner-af/mptable.c
+++ b/src/mainboard/lippert/frontrunner-af/mptable.c
@@ -27,7 +27,7 @@
#include <cpu/amd/amdfam14.h>
#include <SBPLATFORM.h>
-extern u8 bus_sb800[2];
+extern u8 bus_sb800[6];
extern u32 apicid_sb800;
diff --git a/src/mainboard/lippert/toucan-af/get_bus_conf.c b/src/mainboard/lippert/toucan-af/get_bus_conf.c
index 8872bb5a1c8b..258d895736e6 100644
--- a/src/mainboard/lippert/toucan-af/get_bus_conf.c
+++ b/src/mainboard/lippert/toucan-af/get_bus_conf.c
@@ -34,7 +34,7 @@
* and acpi_tables busnum is default.
*/
u8 bus_isa;
-u8 bus_sb800[3];
+u8 bus_sb800[6];
u32 apicid_sb800;
/*
@@ -99,9 +99,7 @@ void get_bus_conf(void)
#endif
sbdn_sb800 = 0;
- for (i = 0; i < 3; i++) {
- bus_sb800[i] = 0;
- }
+ memset(bus_sb800, 0, sizeof(bus_sb800));
for (i = 0; i < 256; i++) {
bus_type[i] = 0; /* default ISA bus. */
diff --git a/src/mainboard/lippert/toucan-af/irq_tables.c b/src/mainboard/lippert/toucan-af/irq_tables.c
index 5323d446ef74..b9577cfbaa9a 100644
--- a/src/mainboard/lippert/toucan-af/irq_tables.c
+++ b/src/mainboard/lippert/toucan-af/irq_tables.c
@@ -45,7 +45,7 @@ static void write_pirq_info(struct irq_info *pirq_info, u8 bus, u8 devfn,
pirq_info->rfu = rfu;
}
extern u8 bus_isa;
-extern u8 bus_sb800[2];
+extern u8 bus_sb800[6];
extern unsigned long sbdn_sb800;
unsigned long write_pirq_routing_table(unsigned long addr)
diff --git a/src/mainboard/lippert/toucan-af/mptable.c b/src/mainboard/lippert/toucan-af/mptable.c
index fd0305887ce7..6b8aaa6593bc 100644
--- a/src/mainboard/lippert/toucan-af/mptable.c
+++ b/src/mainboard/lippert/toucan-af/mptable.c
@@ -27,7 +27,7 @@
#include <cpu/amd/amdfam14.h>
#include <SBPLATFORM.h>
-extern u8 bus_sb800[2];
+extern u8 bus_sb800[6];
extern u32 apicid_sb800;