From 9c7d73ca3f5b2985cb0f498038a746bcc0f2cac7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ky=C3=B6sti=20M=C3=A4lkki?= Date: Mon, 9 Sep 2013 09:23:19 +0300 Subject: [PATCH] AMD sb800 sb900: Fix corruption of a global ramstage variable MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Reviewed-on: http://review.coreboot.org/3914 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin Reviewed-by: Bruce Griffith --- src/mainboard/advansus/a785e-i/get_bus_conf.c | 6 ++---- src/mainboard/advansus/a785e-i/irq_tables.c | 2 +- src/mainboard/advansus/a785e-i/mptable.c | 2 +- src/mainboard/amd/bimini_fam10/get_bus_conf.c | 7 +++---- src/mainboard/amd/bimini_fam10/irq_tables.c | 2 +- src/mainboard/amd/bimini_fam10/mptable.c | 2 +- src/mainboard/amd/inagua/get_bus_conf.c | 6 ++---- src/mainboard/amd/inagua/irq_tables.c | 2 +- src/mainboard/amd/inagua/mptable.c | 2 +- src/mainboard/amd/persimmon/get_bus_conf.c | 6 ++---- src/mainboard/amd/persimmon/irq_tables.c | 2 +- src/mainboard/amd/persimmon/mptable.c | 2 +- src/mainboard/amd/south_station/get_bus_conf.c | 6 ++---- src/mainboard/amd/south_station/irq_tables.c | 2 +- src/mainboard/amd/south_station/mptable.c | 2 +- src/mainboard/amd/torpedo/get_bus_conf.c | 6 ++---- src/mainboard/amd/torpedo/irq_tables.c | 2 +- src/mainboard/amd/torpedo/mptable.c | 2 +- src/mainboard/amd/union_station/get_bus_conf.c | 6 ++---- src/mainboard/amd/union_station/irq_tables.c | 2 +- src/mainboard/amd/union_station/mptable.c | 2 +- src/mainboard/asrock/e350m1/get_bus_conf.c | 6 ++---- src/mainboard/asrock/e350m1/irq_tables.c | 2 +- src/mainboard/asrock/e350m1/mptable.c | 2 +- src/mainboard/asus/m5a88-v/get_bus_conf.c | 7 +++---- src/mainboard/asus/m5a88-v/irq_tables.c | 2 +- src/mainboard/asus/m5a88-v/mptable.c | 2 +- src/mainboard/avalue/eax-785e/get_bus_conf.c | 7 +++---- src/mainboard/avalue/eax-785e/irq_tables.c | 2 +- src/mainboard/avalue/eax-785e/mptable.c | 2 +- src/mainboard/lippert/frontrunner-af/get_bus_conf.c | 6 ++---- src/mainboard/lippert/frontrunner-af/irq_tables.c | 2 +- src/mainboard/lippert/frontrunner-af/mptable.c | 2 +- src/mainboard/lippert/toucan-af/get_bus_conf.c | 6 ++---- src/mainboard/lippert/toucan-af/irq_tables.c | 2 +- src/mainboard/lippert/toucan-af/mptable.c | 2 +- 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 c45364af07..0feeed51c1 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 8592f0caff..d9b6db1de9 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 fbba61cf8f..73ada4dcce 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 52edad104f..c4924d4c58 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 18cb2432e3..0d5027d6eb 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 4ad4fd434f..792fa41ffe 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 09e3b4ca02..be28105577 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 cab83fff22..85f85ef9fd 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 952eddba7a..73522050ff 100644 --- a/src/mainboard/amd/inagua/mptable.c +++ b/src/mainboard/amd/inagua/mptable.c @@ -27,7 +27,7 @@ #include #include -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 8872bb5a1c..258d895736 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 5323d446ef..b9577cfbaa 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 fd0305887c..6b8aaa6593 100644 --- a/src/mainboard/amd/persimmon/mptable.c +++ b/src/mainboard/amd/persimmon/mptable.c @@ -27,7 +27,7 @@ #include #include -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 165c683d86..df8ce6e514 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 5323d446ef..b9577cfbaa 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 cd062f7328..e9175d8d26 100644 --- a/src/mainboard/amd/south_station/mptable.c +++ b/src/mainboard/amd/south_station/mptable.c @@ -27,7 +27,7 @@ #include #include -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 4444937d57..5217321c07 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 1b2cea5076..1a26f1c37e 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 81bccc30a7..da97d6a7b3 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 165c683d86..df8ce6e514 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 5323d446ef..b9577cfbaa 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 cd062f7328..e9175d8d26 100644 --- a/src/mainboard/amd/union_station/mptable.c +++ b/src/mainboard/amd/union_station/mptable.c @@ -27,7 +27,7 @@ #include #include -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 165c683d86..df8ce6e514 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 5323d446ef..b9577cfbaa 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 258b39aa2e..95df2a6b31 100644 --- a/src/mainboard/asrock/e350m1/mptable.c +++ b/src/mainboard/asrock/e350m1/mptable.c @@ -27,7 +27,7 @@ #include #include -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 c45364af07..9bb26e6d76 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 8592f0caff..d9b6db1de9 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 6438a68c0e..cb7aeee202 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 c45364af07..9bb26e6d76 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 8592f0caff..d9b6db1de9 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 eab2e029b0..1889e0268d 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 8872bb5a1c..258d895736 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 5323d446ef..b9577cfbaa 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 fd0305887c..6b8aaa6593 100644 --- a/src/mainboard/lippert/frontrunner-af/mptable.c +++ b/src/mainboard/lippert/frontrunner-af/mptable.c @@ -27,7 +27,7 @@ #include #include -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 8872bb5a1c..258d895736 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 5323d446ef..b9577cfbaa 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 fd0305887c..6b8aaa6593 100644 --- a/src/mainboard/lippert/toucan-af/mptable.c +++ b/src/mainboard/lippert/toucan-af/mptable.c @@ -27,7 +27,7 @@ #include #include -extern u8 bus_sb800[2]; +extern u8 bus_sb800[6]; extern u32 apicid_sb800;