diff --git a/src/mainboard/advansus/a785e-i/get_bus_conf.c b/src/mainboard/advansus/a785e-i/get_bus_conf.c index a7645a8da4..1738bf878e 100644 --- a/src/mainboard/advansus/a785e-i/get_bus_conf.c +++ b/src/mainboard/advansus/a785e-i/get_bus_conf.c @@ -48,18 +48,12 @@ u32 hcdnx[] = { u32 sbdn_rs780; u32 sbdn_sb800; -static u32 get_bus_conf_done = 0; - void get_bus_conf(void) { u32 apicid_base; struct device *dev; int i; - if (get_bus_conf_done == 1) - return; /* do it only once */ - get_bus_conf_done = 1; - sysconf.hc_possible_num = ARRAY_SIZE(pci1234x); for (i = 0; i < sysconf.hc_possible_num; i++) { sysconf.pci1234[i] = pci1234x[i]; diff --git a/src/mainboard/advansus/a785e-i/irq_tables.c b/src/mainboard/advansus/a785e-i/irq_tables.c index fc5edca3e0..b0b8af88eb 100644 --- a/src/mainboard/advansus/a785e-i/irq_tables.c +++ b/src/mainboard/advansus/a785e-i/irq_tables.c @@ -53,8 +53,6 @@ unsigned long write_pirq_routing_table(unsigned long addr) u8 sum = 0; int i; - get_bus_conf(); /* it will find out all bus num and apic that share with mptable.c and mptable.c and acpi_tables.c */ - /* Align the table to be 16 byte aligned. */ addr += 15; addr &= ~15; diff --git a/src/mainboard/advansus/a785e-i/mptable.c b/src/mainboard/advansus/a785e-i/mptable.c index 3952a45d33..5d0650305e 100644 --- a/src/mainboard/advansus/a785e-i/mptable.c +++ b/src/mainboard/advansus/a785e-i/mptable.c @@ -49,8 +49,6 @@ static void *smp_write_config_table(void *v) smp_write_processors(mc); - get_bus_conf(); - mptable_write_buses(mc, NULL, &bus_isa); /* I/O APICs: APIC ID Version State Address */ diff --git a/src/mainboard/amd/bimini_fam10/get_bus_conf.c b/src/mainboard/amd/bimini_fam10/get_bus_conf.c index b03567c747..2b25770b3b 100644 --- a/src/mainboard/amd/bimini_fam10/get_bus_conf.c +++ b/src/mainboard/amd/bimini_fam10/get_bus_conf.c @@ -48,18 +48,12 @@ u32 hcdnx[] = { u32 sbdn_rs780; u32 sbdn_sb800; -static u32 get_bus_conf_done = 0; - void get_bus_conf(void) { u32 apicid_base; struct device *dev; int i; - if (get_bus_conf_done == 1) - return; /* do it only once */ - get_bus_conf_done = 1; - sysconf.hc_possible_num = ARRAY_SIZE(pci1234x); for (i = 0; i < sysconf.hc_possible_num; i++) { sysconf.pci1234[i] = pci1234x[i]; diff --git a/src/mainboard/amd/bimini_fam10/irq_tables.c b/src/mainboard/amd/bimini_fam10/irq_tables.c index 1125e1f1b3..3b5faabbcb 100644 --- a/src/mainboard/amd/bimini_fam10/irq_tables.c +++ b/src/mainboard/amd/bimini_fam10/irq_tables.c @@ -53,8 +53,6 @@ unsigned long write_pirq_routing_table(unsigned long addr) u8 sum = 0; int i; - get_bus_conf(); /* it will find out all bus num and apic that share with mptable.c and mptable.c and acpi_tables.c */ - /* Align the table to be 16 byte aligned. */ addr += 15; addr &= ~15; diff --git a/src/mainboard/amd/bimini_fam10/mptable.c b/src/mainboard/amd/bimini_fam10/mptable.c index 861327aeb8..07df03a349 100644 --- a/src/mainboard/amd/bimini_fam10/mptable.c +++ b/src/mainboard/amd/bimini_fam10/mptable.c @@ -50,8 +50,6 @@ static void *smp_write_config_table(void *v) smp_write_processors(mc); - get_bus_conf(); - mptable_write_buses(mc, NULL, &bus_isa); /* I/O APICs: APIC ID Version State Address */ diff --git a/src/mainboard/amd/mahogany_fam10/get_bus_conf.c b/src/mainboard/amd/mahogany_fam10/get_bus_conf.c index d7ca975a5d..3c4894085a 100644 --- a/src/mainboard/amd/mahogany_fam10/get_bus_conf.c +++ b/src/mainboard/amd/mahogany_fam10/get_bus_conf.c @@ -48,18 +48,12 @@ u32 hcdnx[] = { u32 sbdn_rs780; u32 sbdn_sb700; -static u32 get_bus_conf_done = 0; - void get_bus_conf(void) { u32 apicid_base; struct device *dev; int i; - if (get_bus_conf_done == 1) - return; /* do it only once */ - get_bus_conf_done = 1; - sysconf.hc_possible_num = ARRAY_SIZE(pci1234x); for (i = 0; i < sysconf.hc_possible_num; i++) { sysconf.pci1234[i] = pci1234x[i]; diff --git a/src/mainboard/amd/mahogany_fam10/irq_tables.c b/src/mainboard/amd/mahogany_fam10/irq_tables.c index aff85b63ee..526be4f4cd 100644 --- a/src/mainboard/amd/mahogany_fam10/irq_tables.c +++ b/src/mainboard/amd/mahogany_fam10/irq_tables.c @@ -54,8 +54,6 @@ unsigned long write_pirq_routing_table(unsigned long addr) u8 sum = 0; int i; - get_bus_conf(); /* it will find out all bus num and apic that share with mptable.c and mptable.c and acpi_tables.c */ - /* Align the table to be 16 byte aligned. */ addr += 15; addr &= ~15; diff --git a/src/mainboard/amd/mahogany_fam10/mptable.c b/src/mainboard/amd/mahogany_fam10/mptable.c index 458c6146bc..e2b28900fa 100644 --- a/src/mainboard/amd/mahogany_fam10/mptable.c +++ b/src/mainboard/amd/mahogany_fam10/mptable.c @@ -39,8 +39,6 @@ static void *smp_write_config_table(void *v) smp_write_processors(mc); - get_bus_conf(); - mptable_write_buses(mc, NULL, &bus_isa); /* I/O APICs: APIC ID Version State Address */ diff --git a/src/mainboard/amd/serengeti_cheetah_fam10/acpi_tables.c b/src/mainboard/amd/serengeti_cheetah_fam10/acpi_tables.c index bf8ef2a824..3b3ad5b9f3 100644 --- a/src/mainboard/amd/serengeti_cheetah_fam10/acpi_tables.c +++ b/src/mainboard/amd/serengeti_cheetah_fam10/acpi_tables.c @@ -129,8 +129,6 @@ unsigned long mainboard_write_acpi_tables(struct device *device, int i; - get_bus_conf(); /* it will get sblk, pci1234, hcdn, and sbdn */ - /* same htio, but different possition? We may have to copy, * change HCIN, and recalculate the checknum and add_table */ diff --git a/src/mainboard/amd/serengeti_cheetah_fam10/get_bus_conf.c b/src/mainboard/amd/serengeti_cheetah_fam10/get_bus_conf.c index 2a83d43a61..279a14658a 100644 --- a/src/mainboard/amd/serengeti_cheetah_fam10/get_bus_conf.c +++ b/src/mainboard/amd/serengeti_cheetah_fam10/get_bus_conf.c @@ -57,8 +57,6 @@ static unsigned hcdnx[] = { -static u32 get_bus_conf_done = 0; - static u32 get_hcid(u32 i) { u32 id = 0; @@ -92,11 +90,6 @@ void get_bus_conf(void) int i, j; struct mb_sysconf_t *m; - if (get_bus_conf_done == 1) - return; /* do it only once */ - - get_bus_conf_done = 1; - sysconf.mb = &mb_sysconf; m = sysconf.mb; diff --git a/src/mainboard/amd/serengeti_cheetah_fam10/irq_tables.c b/src/mainboard/amd/serengeti_cheetah_fam10/irq_tables.c index 1ca7f3dc9b..4ce52854b3 100644 --- a/src/mainboard/amd/serengeti_cheetah_fam10/irq_tables.c +++ b/src/mainboard/amd/serengeti_cheetah_fam10/irq_tables.c @@ -54,8 +54,6 @@ unsigned long write_pirq_routing_table(unsigned long addr) struct mb_sysconf_t *m; - get_bus_conf(); /* it will find out all bus num and apic that share with mptable.c and mptable.c and acpi_tables.c */ - m = sysconf.mb; /* Align the table to be 16 byte aligned. */ diff --git a/src/mainboard/amd/serengeti_cheetah_fam10/mptable.c b/src/mainboard/amd/serengeti_cheetah_fam10/mptable.c index fb9473f008..1ab3ad2e6d 100644 --- a/src/mainboard/amd/serengeti_cheetah_fam10/mptable.c +++ b/src/mainboard/amd/serengeti_cheetah_fam10/mptable.c @@ -36,8 +36,6 @@ static void *smp_write_config_table(void *v) smp_write_processors(mc); - get_bus_conf(); - m = sysconf.mb; mptable_write_buses(mc, NULL, &bus_isa); diff --git a/src/mainboard/amd/tilapia_fam10/get_bus_conf.c b/src/mainboard/amd/tilapia_fam10/get_bus_conf.c index d7ca975a5d..3c4894085a 100644 --- a/src/mainboard/amd/tilapia_fam10/get_bus_conf.c +++ b/src/mainboard/amd/tilapia_fam10/get_bus_conf.c @@ -48,18 +48,12 @@ u32 hcdnx[] = { u32 sbdn_rs780; u32 sbdn_sb700; -static u32 get_bus_conf_done = 0; - void get_bus_conf(void) { u32 apicid_base; struct device *dev; int i; - if (get_bus_conf_done == 1) - return; /* do it only once */ - get_bus_conf_done = 1; - sysconf.hc_possible_num = ARRAY_SIZE(pci1234x); for (i = 0; i < sysconf.hc_possible_num; i++) { sysconf.pci1234[i] = pci1234x[i]; diff --git a/src/mainboard/amd/tilapia_fam10/irq_tables.c b/src/mainboard/amd/tilapia_fam10/irq_tables.c index aff85b63ee..526be4f4cd 100644 --- a/src/mainboard/amd/tilapia_fam10/irq_tables.c +++ b/src/mainboard/amd/tilapia_fam10/irq_tables.c @@ -54,8 +54,6 @@ unsigned long write_pirq_routing_table(unsigned long addr) u8 sum = 0; int i; - get_bus_conf(); /* it will find out all bus num and apic that share with mptable.c and mptable.c and acpi_tables.c */ - /* Align the table to be 16 byte aligned. */ addr += 15; addr &= ~15; diff --git a/src/mainboard/amd/tilapia_fam10/mptable.c b/src/mainboard/amd/tilapia_fam10/mptable.c index 458c6146bc..e2b28900fa 100644 --- a/src/mainboard/amd/tilapia_fam10/mptable.c +++ b/src/mainboard/amd/tilapia_fam10/mptable.c @@ -39,8 +39,6 @@ static void *smp_write_config_table(void *v) smp_write_processors(mc); - get_bus_conf(); - mptable_write_buses(mc, NULL, &bus_isa); /* I/O APICs: APIC ID Version State Address */ diff --git a/src/mainboard/asus/kcma-d8/get_bus_conf.c b/src/mainboard/asus/kcma-d8/get_bus_conf.c index 7f1da1b8cb..c6cce56095 100644 --- a/src/mainboard/asus/kcma-d8/get_bus_conf.c +++ b/src/mainboard/asus/kcma-d8/get_bus_conf.c @@ -50,18 +50,12 @@ u32 hcdnx[] = { u32 sbdn_sr5650; u32 sbdn_sp5100; -static u32 get_bus_conf_done = 0; - void get_bus_conf(void) { u32 apicid_base; struct device *dev; int i; - if (get_bus_conf_done == 1) - return; /* do it only once */ - get_bus_conf_done = 1; - sysconf.hc_possible_num = ARRAY_SIZE(pci1234x); for (i = 0; i < sysconf.hc_possible_num; i++) { sysconf.pci1234[i] = pci1234x[i]; diff --git a/src/mainboard/asus/kcma-d8/irq_tables.c b/src/mainboard/asus/kcma-d8/irq_tables.c index 2ff8a7ad7a..f5e005a627 100644 --- a/src/mainboard/asus/kcma-d8/irq_tables.c +++ b/src/mainboard/asus/kcma-d8/irq_tables.c @@ -75,8 +75,6 @@ unsigned long write_pirq_routing_table(unsigned long addr) u8 sum = 0; int i; - get_bus_conf(); /* it will find out all bus num and apic that share with mptable.c and mptable.c and acpi_tables.c */ - /* Align the table to be 16 byte aligned. */ addr += 15; addr &= ~15; diff --git a/src/mainboard/asus/kcma-d8/mptable.c b/src/mainboard/asus/kcma-d8/mptable.c index 5caadc70f3..786f0b3746 100644 --- a/src/mainboard/asus/kcma-d8/mptable.c +++ b/src/mainboard/asus/kcma-d8/mptable.c @@ -44,8 +44,6 @@ static void *smp_write_config_table(void *v) smp_write_processors(mc); - get_bus_conf(); - if (IS_ENABLED(CONFIG_ENABLE_APIC_EXT_ID) && (CONFIG_APIC_ID_OFFSET > 0)) apicid_sp5100 = 0x0; else diff --git a/src/mainboard/asus/kfsn4-dre/get_bus_conf.c b/src/mainboard/asus/kfsn4-dre/get_bus_conf.c index 180f6292c7..4971314d7a 100644 --- a/src/mainboard/asus/kfsn4-dre/get_bus_conf.c +++ b/src/mainboard/asus/kfsn4-dre/get_bus_conf.c @@ -60,18 +60,12 @@ static unsigned hcdnx[] = { 0x20202020, 0x20202020, }; -static unsigned get_bus_conf_done = 0; - void get_bus_conf(void) { unsigned apicid_base, sbdn; struct device *dev; int i; - if (get_bus_conf_done == 1) - return; /* Do it only once. */ - - get_bus_conf_done = 1; sysconf.hc_possible_num = ARRAY_SIZE(pci1234x); for (i = 0; i < sysconf.hc_possible_num; i++) { diff --git a/src/mainboard/asus/kfsn4-dre/irq_tables.c b/src/mainboard/asus/kfsn4-dre/irq_tables.c index 139b400a0a..a5dc9658dd 100644 --- a/src/mainboard/asus/kfsn4-dre/irq_tables.c +++ b/src/mainboard/asus/kfsn4-dre/irq_tables.c @@ -68,10 +68,6 @@ unsigned long write_pirq_routing_table(unsigned long addr) uint8_t *v, sum = 0; int i; - /* get_bus_conf() will find out all bus num and APIC that share with - * mptable.c and mptable.c. - */ - get_bus_conf(); sbdn = sysconf.sbdn; /* Align the table to be 16 byte aligned. */ diff --git a/src/mainboard/asus/kfsn4-dre/mptable.c b/src/mainboard/asus/kfsn4-dre/mptable.c index 4109306378..387baa4f25 100644 --- a/src/mainboard/asus/kfsn4-dre/mptable.c +++ b/src/mainboard/asus/kfsn4-dre/mptable.c @@ -43,7 +43,6 @@ static void *smp_write_config_table(void *v) smp_write_processors(mc); - get_bus_conf(); sbdn = sysconf.sbdn; mptable_write_buses(mc, NULL, &bus_isa); diff --git a/src/mainboard/asus/kgpe-d16/get_bus_conf.c b/src/mainboard/asus/kgpe-d16/get_bus_conf.c index 7f1da1b8cb..c6cce56095 100644 --- a/src/mainboard/asus/kgpe-d16/get_bus_conf.c +++ b/src/mainboard/asus/kgpe-d16/get_bus_conf.c @@ -50,18 +50,12 @@ u32 hcdnx[] = { u32 sbdn_sr5650; u32 sbdn_sp5100; -static u32 get_bus_conf_done = 0; - void get_bus_conf(void) { u32 apicid_base; struct device *dev; int i; - if (get_bus_conf_done == 1) - return; /* do it only once */ - get_bus_conf_done = 1; - sysconf.hc_possible_num = ARRAY_SIZE(pci1234x); for (i = 0; i < sysconf.hc_possible_num; i++) { sysconf.pci1234[i] = pci1234x[i]; diff --git a/src/mainboard/asus/kgpe-d16/irq_tables.c b/src/mainboard/asus/kgpe-d16/irq_tables.c index 2ff8a7ad7a..f5e005a627 100644 --- a/src/mainboard/asus/kgpe-d16/irq_tables.c +++ b/src/mainboard/asus/kgpe-d16/irq_tables.c @@ -75,8 +75,6 @@ unsigned long write_pirq_routing_table(unsigned long addr) u8 sum = 0; int i; - get_bus_conf(); /* it will find out all bus num and apic that share with mptable.c and mptable.c and acpi_tables.c */ - /* Align the table to be 16 byte aligned. */ addr += 15; addr &= ~15; diff --git a/src/mainboard/asus/kgpe-d16/mptable.c b/src/mainboard/asus/kgpe-d16/mptable.c index bf468807f0..706a66bcbb 100644 --- a/src/mainboard/asus/kgpe-d16/mptable.c +++ b/src/mainboard/asus/kgpe-d16/mptable.c @@ -44,8 +44,6 @@ static void *smp_write_config_table(void *v) smp_write_processors(mc); - get_bus_conf(); - if (IS_ENABLED(CONFIG_ENABLE_APIC_EXT_ID) && (CONFIG_APIC_ID_OFFSET > 0)) apicid_sp5100 = 0x0; else diff --git a/src/mainboard/asus/m4a78-em/get_bus_conf.c b/src/mainboard/asus/m4a78-em/get_bus_conf.c index d7ca975a5d..3c4894085a 100644 --- a/src/mainboard/asus/m4a78-em/get_bus_conf.c +++ b/src/mainboard/asus/m4a78-em/get_bus_conf.c @@ -48,18 +48,12 @@ u32 hcdnx[] = { u32 sbdn_rs780; u32 sbdn_sb700; -static u32 get_bus_conf_done = 0; - void get_bus_conf(void) { u32 apicid_base; struct device *dev; int i; - if (get_bus_conf_done == 1) - return; /* do it only once */ - get_bus_conf_done = 1; - sysconf.hc_possible_num = ARRAY_SIZE(pci1234x); for (i = 0; i < sysconf.hc_possible_num; i++) { sysconf.pci1234[i] = pci1234x[i]; diff --git a/src/mainboard/asus/m4a78-em/mptable.c b/src/mainboard/asus/m4a78-em/mptable.c index 458c6146bc..e2b28900fa 100644 --- a/src/mainboard/asus/m4a78-em/mptable.c +++ b/src/mainboard/asus/m4a78-em/mptable.c @@ -39,8 +39,6 @@ static void *smp_write_config_table(void *v) smp_write_processors(mc); - get_bus_conf(); - mptable_write_buses(mc, NULL, &bus_isa); /* I/O APICs: APIC ID Version State Address */ diff --git a/src/mainboard/asus/m4a785-m/get_bus_conf.c b/src/mainboard/asus/m4a785-m/get_bus_conf.c index d7ca975a5d..3c4894085a 100644 --- a/src/mainboard/asus/m4a785-m/get_bus_conf.c +++ b/src/mainboard/asus/m4a785-m/get_bus_conf.c @@ -48,18 +48,12 @@ u32 hcdnx[] = { u32 sbdn_rs780; u32 sbdn_sb700; -static u32 get_bus_conf_done = 0; - void get_bus_conf(void) { u32 apicid_base; struct device *dev; int i; - if (get_bus_conf_done == 1) - return; /* do it only once */ - get_bus_conf_done = 1; - sysconf.hc_possible_num = ARRAY_SIZE(pci1234x); for (i = 0; i < sysconf.hc_possible_num; i++) { sysconf.pci1234[i] = pci1234x[i]; diff --git a/src/mainboard/asus/m4a785-m/mptable.c b/src/mainboard/asus/m4a785-m/mptable.c index 458c6146bc..e2b28900fa 100644 --- a/src/mainboard/asus/m4a785-m/mptable.c +++ b/src/mainboard/asus/m4a785-m/mptable.c @@ -39,8 +39,6 @@ static void *smp_write_config_table(void *v) smp_write_processors(mc); - get_bus_conf(); - mptable_write_buses(mc, NULL, &bus_isa); /* I/O APICs: APIC ID Version State Address */ diff --git a/src/mainboard/asus/m5a88-v/get_bus_conf.c b/src/mainboard/asus/m5a88-v/get_bus_conf.c index c7268c6030..ce663a52b2 100644 --- a/src/mainboard/asus/m5a88-v/get_bus_conf.c +++ b/src/mainboard/asus/m5a88-v/get_bus_conf.c @@ -48,18 +48,12 @@ u32 hcdnx[] = { u32 sbdn_rs780; u32 sbdn_sb800; -static u32 get_bus_conf_done = 0; - void get_bus_conf(void) { u32 apicid_base; struct device *dev; int i; - if (get_bus_conf_done == 1) - return; /* do it only once */ - get_bus_conf_done = 1; - sysconf.hc_possible_num = ARRAY_SIZE(pci1234x); for (i = 0; i < sysconf.hc_possible_num; i++) { sysconf.pci1234[i] = pci1234x[i]; diff --git a/src/mainboard/asus/m5a88-v/irq_tables.c b/src/mainboard/asus/m5a88-v/irq_tables.c index fc5edca3e0..b0b8af88eb 100644 --- a/src/mainboard/asus/m5a88-v/irq_tables.c +++ b/src/mainboard/asus/m5a88-v/irq_tables.c @@ -53,8 +53,6 @@ unsigned long write_pirq_routing_table(unsigned long addr) u8 sum = 0; int i; - get_bus_conf(); /* it will find out all bus num and apic that share with mptable.c and mptable.c and acpi_tables.c */ - /* Align the table to be 16 byte aligned. */ addr += 15; addr &= ~15; diff --git a/src/mainboard/asus/m5a88-v/mptable.c b/src/mainboard/asus/m5a88-v/mptable.c index a5a6b4e825..1d6adc6409 100644 --- a/src/mainboard/asus/m5a88-v/mptable.c +++ b/src/mainboard/asus/m5a88-v/mptable.c @@ -49,8 +49,6 @@ static void *smp_write_config_table(void *v) smp_write_processors(mc); - get_bus_conf(); - mptable_write_buses(mc, NULL, &bus_isa); /* I/O APICs: APIC ID Version State Address */ diff --git a/src/mainboard/avalue/eax-785e/get_bus_conf.c b/src/mainboard/avalue/eax-785e/get_bus_conf.c index c7268c6030..ce663a52b2 100644 --- a/src/mainboard/avalue/eax-785e/get_bus_conf.c +++ b/src/mainboard/avalue/eax-785e/get_bus_conf.c @@ -48,18 +48,12 @@ u32 hcdnx[] = { u32 sbdn_rs780; u32 sbdn_sb800; -static u32 get_bus_conf_done = 0; - void get_bus_conf(void) { u32 apicid_base; struct device *dev; int i; - if (get_bus_conf_done == 1) - return; /* do it only once */ - get_bus_conf_done = 1; - sysconf.hc_possible_num = ARRAY_SIZE(pci1234x); for (i = 0; i < sysconf.hc_possible_num; i++) { sysconf.pci1234[i] = pci1234x[i]; diff --git a/src/mainboard/avalue/eax-785e/irq_tables.c b/src/mainboard/avalue/eax-785e/irq_tables.c index fc5edca3e0..b0b8af88eb 100644 --- a/src/mainboard/avalue/eax-785e/irq_tables.c +++ b/src/mainboard/avalue/eax-785e/irq_tables.c @@ -53,8 +53,6 @@ unsigned long write_pirq_routing_table(unsigned long addr) u8 sum = 0; int i; - get_bus_conf(); /* it will find out all bus num and apic that share with mptable.c and mptable.c and acpi_tables.c */ - /* Align the table to be 16 byte aligned. */ addr += 15; addr &= ~15; diff --git a/src/mainboard/avalue/eax-785e/mptable.c b/src/mainboard/avalue/eax-785e/mptable.c index cbaf06b927..2d39f1cb78 100644 --- a/src/mainboard/avalue/eax-785e/mptable.c +++ b/src/mainboard/avalue/eax-785e/mptable.c @@ -49,8 +49,6 @@ static void *smp_write_config_table(void *v) smp_write_processors(mc); - get_bus_conf(); - mptable_write_buses(mc, NULL, &bus_isa); /* I/O APICs: APIC ID Version State Address */ diff --git a/src/mainboard/gigabyte/ma785gm/get_bus_conf.c b/src/mainboard/gigabyte/ma785gm/get_bus_conf.c index d7ca975a5d..3c4894085a 100644 --- a/src/mainboard/gigabyte/ma785gm/get_bus_conf.c +++ b/src/mainboard/gigabyte/ma785gm/get_bus_conf.c @@ -48,18 +48,12 @@ u32 hcdnx[] = { u32 sbdn_rs780; u32 sbdn_sb700; -static u32 get_bus_conf_done = 0; - void get_bus_conf(void) { u32 apicid_base; struct device *dev; int i; - if (get_bus_conf_done == 1) - return; /* do it only once */ - get_bus_conf_done = 1; - sysconf.hc_possible_num = ARRAY_SIZE(pci1234x); for (i = 0; i < sysconf.hc_possible_num; i++) { sysconf.pci1234[i] = pci1234x[i]; diff --git a/src/mainboard/gigabyte/ma785gm/irq_tables.c b/src/mainboard/gigabyte/ma785gm/irq_tables.c index aff85b63ee..526be4f4cd 100644 --- a/src/mainboard/gigabyte/ma785gm/irq_tables.c +++ b/src/mainboard/gigabyte/ma785gm/irq_tables.c @@ -54,8 +54,6 @@ unsigned long write_pirq_routing_table(unsigned long addr) u8 sum = 0; int i; - get_bus_conf(); /* it will find out all bus num and apic that share with mptable.c and mptable.c and acpi_tables.c */ - /* Align the table to be 16 byte aligned. */ addr += 15; addr &= ~15; diff --git a/src/mainboard/gigabyte/ma785gm/mptable.c b/src/mainboard/gigabyte/ma785gm/mptable.c index 458c6146bc..e2b28900fa 100644 --- a/src/mainboard/gigabyte/ma785gm/mptable.c +++ b/src/mainboard/gigabyte/ma785gm/mptable.c @@ -39,8 +39,6 @@ static void *smp_write_config_table(void *v) smp_write_processors(mc); - get_bus_conf(); - mptable_write_buses(mc, NULL, &bus_isa); /* I/O APICs: APIC ID Version State Address */ diff --git a/src/mainboard/gigabyte/ma785gmt/get_bus_conf.c b/src/mainboard/gigabyte/ma785gmt/get_bus_conf.c index d7ca975a5d..3c4894085a 100644 --- a/src/mainboard/gigabyte/ma785gmt/get_bus_conf.c +++ b/src/mainboard/gigabyte/ma785gmt/get_bus_conf.c @@ -48,18 +48,12 @@ u32 hcdnx[] = { u32 sbdn_rs780; u32 sbdn_sb700; -static u32 get_bus_conf_done = 0; - void get_bus_conf(void) { u32 apicid_base; struct device *dev; int i; - if (get_bus_conf_done == 1) - return; /* do it only once */ - get_bus_conf_done = 1; - sysconf.hc_possible_num = ARRAY_SIZE(pci1234x); for (i = 0; i < sysconf.hc_possible_num; i++) { sysconf.pci1234[i] = pci1234x[i]; diff --git a/src/mainboard/gigabyte/ma785gmt/irq_tables.c b/src/mainboard/gigabyte/ma785gmt/irq_tables.c index aff85b63ee..526be4f4cd 100644 --- a/src/mainboard/gigabyte/ma785gmt/irq_tables.c +++ b/src/mainboard/gigabyte/ma785gmt/irq_tables.c @@ -54,8 +54,6 @@ unsigned long write_pirq_routing_table(unsigned long addr) u8 sum = 0; int i; - get_bus_conf(); /* it will find out all bus num and apic that share with mptable.c and mptable.c and acpi_tables.c */ - /* Align the table to be 16 byte aligned. */ addr += 15; addr &= ~15; diff --git a/src/mainboard/gigabyte/ma785gmt/mptable.c b/src/mainboard/gigabyte/ma785gmt/mptable.c index 458c6146bc..e2b28900fa 100644 --- a/src/mainboard/gigabyte/ma785gmt/mptable.c +++ b/src/mainboard/gigabyte/ma785gmt/mptable.c @@ -39,8 +39,6 @@ static void *smp_write_config_table(void *v) smp_write_processors(mc); - get_bus_conf(); - mptable_write_buses(mc, NULL, &bus_isa); /* I/O APICs: APIC ID Version State Address */ diff --git a/src/mainboard/gigabyte/ma78gm/get_bus_conf.c b/src/mainboard/gigabyte/ma78gm/get_bus_conf.c index d7ca975a5d..3c4894085a 100644 --- a/src/mainboard/gigabyte/ma78gm/get_bus_conf.c +++ b/src/mainboard/gigabyte/ma78gm/get_bus_conf.c @@ -48,18 +48,12 @@ u32 hcdnx[] = { u32 sbdn_rs780; u32 sbdn_sb700; -static u32 get_bus_conf_done = 0; - void get_bus_conf(void) { u32 apicid_base; struct device *dev; int i; - if (get_bus_conf_done == 1) - return; /* do it only once */ - get_bus_conf_done = 1; - sysconf.hc_possible_num = ARRAY_SIZE(pci1234x); for (i = 0; i < sysconf.hc_possible_num; i++) { sysconf.pci1234[i] = pci1234x[i]; diff --git a/src/mainboard/gigabyte/ma78gm/irq_tables.c b/src/mainboard/gigabyte/ma78gm/irq_tables.c index aff85b63ee..526be4f4cd 100644 --- a/src/mainboard/gigabyte/ma78gm/irq_tables.c +++ b/src/mainboard/gigabyte/ma78gm/irq_tables.c @@ -54,8 +54,6 @@ unsigned long write_pirq_routing_table(unsigned long addr) u8 sum = 0; int i; - get_bus_conf(); /* it will find out all bus num and apic that share with mptable.c and mptable.c and acpi_tables.c */ - /* Align the table to be 16 byte aligned. */ addr += 15; addr &= ~15; diff --git a/src/mainboard/gigabyte/ma78gm/mptable.c b/src/mainboard/gigabyte/ma78gm/mptable.c index 458c6146bc..e2b28900fa 100644 --- a/src/mainboard/gigabyte/ma78gm/mptable.c +++ b/src/mainboard/gigabyte/ma78gm/mptable.c @@ -39,8 +39,6 @@ static void *smp_write_config_table(void *v) smp_write_processors(mc); - get_bus_conf(); - mptable_write_buses(mc, NULL, &bus_isa); /* I/O APICs: APIC ID Version State Address */ diff --git a/src/mainboard/hp/dl165_g6_fam10/get_bus_conf.c b/src/mainboard/hp/dl165_g6_fam10/get_bus_conf.c index 65a4d8582d..44066e9253 100644 --- a/src/mainboard/hp/dl165_g6_fam10/get_bus_conf.c +++ b/src/mainboard/hp/dl165_g6_fam10/get_bus_conf.c @@ -55,8 +55,6 @@ static unsigned hcdnx[] = { 0x20202020, 0x20202020, }; -static unsigned get_bus_conf_done = 0; - void get_bus_conf(void) { @@ -66,10 +64,6 @@ void get_bus_conf(void) int i; struct mb_sysconf_t *m; - if (get_bus_conf_done == 1) - return; //do it only once - - get_bus_conf_done = 1; sysconf.mb = &mb_sysconf; diff --git a/src/mainboard/hp/dl165_g6_fam10/mptable.c b/src/mainboard/hp/dl165_g6_fam10/mptable.c index b65f12ca8c..9e5976feba 100644 --- a/src/mainboard/hp/dl165_g6_fam10/mptable.c +++ b/src/mainboard/hp/dl165_g6_fam10/mptable.c @@ -48,7 +48,6 @@ static void *smp_write_config_table(void *v) smp_write_processors(mc); - get_bus_conf(); m = sysconf.mb; mptable_write_buses(mc, NULL, &isa_bus); diff --git a/src/mainboard/iei/kino-780am2-fam10/get_bus_conf.c b/src/mainboard/iei/kino-780am2-fam10/get_bus_conf.c index d7ca975a5d..3c4894085a 100644 --- a/src/mainboard/iei/kino-780am2-fam10/get_bus_conf.c +++ b/src/mainboard/iei/kino-780am2-fam10/get_bus_conf.c @@ -48,18 +48,12 @@ u32 hcdnx[] = { u32 sbdn_rs780; u32 sbdn_sb700; -static u32 get_bus_conf_done = 0; - void get_bus_conf(void) { u32 apicid_base; struct device *dev; int i; - if (get_bus_conf_done == 1) - return; /* do it only once */ - get_bus_conf_done = 1; - sysconf.hc_possible_num = ARRAY_SIZE(pci1234x); for (i = 0; i < sysconf.hc_possible_num; i++) { sysconf.pci1234[i] = pci1234x[i]; diff --git a/src/mainboard/iei/kino-780am2-fam10/irq_tables.c b/src/mainboard/iei/kino-780am2-fam10/irq_tables.c index aff85b63ee..526be4f4cd 100644 --- a/src/mainboard/iei/kino-780am2-fam10/irq_tables.c +++ b/src/mainboard/iei/kino-780am2-fam10/irq_tables.c @@ -54,8 +54,6 @@ unsigned long write_pirq_routing_table(unsigned long addr) u8 sum = 0; int i; - get_bus_conf(); /* it will find out all bus num and apic that share with mptable.c and mptable.c and acpi_tables.c */ - /* Align the table to be 16 byte aligned. */ addr += 15; addr &= ~15; diff --git a/src/mainboard/iei/kino-780am2-fam10/mptable.c b/src/mainboard/iei/kino-780am2-fam10/mptable.c index 458c6146bc..e2b28900fa 100644 --- a/src/mainboard/iei/kino-780am2-fam10/mptable.c +++ b/src/mainboard/iei/kino-780am2-fam10/mptable.c @@ -39,8 +39,6 @@ static void *smp_write_config_table(void *v) smp_write_processors(mc); - get_bus_conf(); - mptable_write_buses(mc, NULL, &bus_isa); /* I/O APICs: APIC ID Version State Address */ diff --git a/src/mainboard/jetway/pa78vm5/get_bus_conf.c b/src/mainboard/jetway/pa78vm5/get_bus_conf.c index d7ca975a5d..3c4894085a 100644 --- a/src/mainboard/jetway/pa78vm5/get_bus_conf.c +++ b/src/mainboard/jetway/pa78vm5/get_bus_conf.c @@ -48,18 +48,12 @@ u32 hcdnx[] = { u32 sbdn_rs780; u32 sbdn_sb700; -static u32 get_bus_conf_done = 0; - void get_bus_conf(void) { u32 apicid_base; struct device *dev; int i; - if (get_bus_conf_done == 1) - return; /* do it only once */ - get_bus_conf_done = 1; - sysconf.hc_possible_num = ARRAY_SIZE(pci1234x); for (i = 0; i < sysconf.hc_possible_num; i++) { sysconf.pci1234[i] = pci1234x[i]; diff --git a/src/mainboard/jetway/pa78vm5/irq_tables.c b/src/mainboard/jetway/pa78vm5/irq_tables.c index aff85b63ee..526be4f4cd 100644 --- a/src/mainboard/jetway/pa78vm5/irq_tables.c +++ b/src/mainboard/jetway/pa78vm5/irq_tables.c @@ -54,8 +54,6 @@ unsigned long write_pirq_routing_table(unsigned long addr) u8 sum = 0; int i; - get_bus_conf(); /* it will find out all bus num and apic that share with mptable.c and mptable.c and acpi_tables.c */ - /* Align the table to be 16 byte aligned. */ addr += 15; addr &= ~15; diff --git a/src/mainboard/jetway/pa78vm5/mptable.c b/src/mainboard/jetway/pa78vm5/mptable.c index 215128735d..40340877f0 100644 --- a/src/mainboard/jetway/pa78vm5/mptable.c +++ b/src/mainboard/jetway/pa78vm5/mptable.c @@ -40,8 +40,6 @@ static void *smp_write_config_table(void *v) smp_write_processors(mc); - get_bus_conf(); - mptable_write_buses(mc, NULL, &bus_isa); /* I/O APICs: APIC ID Version State Address */ diff --git a/src/mainboard/msi/ms9652_fam10/acpi_tables.c b/src/mainboard/msi/ms9652_fam10/acpi_tables.c index 5b00374abc..6e759739c9 100644 --- a/src/mainboard/msi/ms9652_fam10/acpi_tables.c +++ b/src/mainboard/msi/ms9652_fam10/acpi_tables.c @@ -39,7 +39,6 @@ unsigned long acpi_fill_madt(unsigned long current) struct resource *res; struct device *dev; - get_bus_conf(); sbdn = sysconf.sbdn; m = sysconf.mb; diff --git a/src/mainboard/msi/ms9652_fam10/get_bus_conf.c b/src/mainboard/msi/ms9652_fam10/get_bus_conf.c index 887110f717..c2183a3b0f 100644 --- a/src/mainboard/msi/ms9652_fam10/get_bus_conf.c +++ b/src/mainboard/msi/ms9652_fam10/get_bus_conf.c @@ -55,8 +55,6 @@ static unsigned hcdnx[] = { 0x20202020, 0x20202020, }; -static unsigned get_bus_conf_done = 0; - void get_bus_conf(void) { unsigned apicid_base; @@ -65,12 +63,6 @@ void get_bus_conf(void) struct device *dev; int i; - printk(BIOS_SPEW, "get_bus_conf()\n"); - - if (get_bus_conf_done == 1) - return; //do it only once - - get_bus_conf_done = 1; sysconf.mb = &mb_sysconf; diff --git a/src/mainboard/msi/ms9652_fam10/irq_tables.c b/src/mainboard/msi/ms9652_fam10/irq_tables.c index 513fd57c58..97245ec292 100644 --- a/src/mainboard/msi/ms9652_fam10/irq_tables.c +++ b/src/mainboard/msi/ms9652_fam10/irq_tables.c @@ -57,7 +57,6 @@ unsigned long write_pirq_routing_table(unsigned long addr) uint8_t sum = 0; int i; - get_bus_conf(); // it will find out all bus num and apic that share with mptable.c and mptable.c and acpi_tables.c sbdn = sysconf.sbdn; m = sysconf.mb; diff --git a/src/mainboard/msi/ms9652_fam10/mptable.c b/src/mainboard/msi/ms9652_fam10/mptable.c index a4362f40de..8cf5b3d507 100644 --- a/src/mainboard/msi/ms9652_fam10/mptable.c +++ b/src/mainboard/msi/ms9652_fam10/mptable.c @@ -36,7 +36,6 @@ static void *smp_write_config_table(void *v) smp_write_processors(mc); - get_bus_conf(); sbdn = sysconf.sbdn; m = sysconf.mb; diff --git a/src/mainboard/supermicro/h8dmr_fam10/get_bus_conf.c b/src/mainboard/supermicro/h8dmr_fam10/get_bus_conf.c index b122073f1b..6ceb21d6f3 100644 --- a/src/mainboard/supermicro/h8dmr_fam10/get_bus_conf.c +++ b/src/mainboard/supermicro/h8dmr_fam10/get_bus_conf.c @@ -55,8 +55,6 @@ static unsigned hcdnx[] = { 0x20202020, 0x20202020, }; -static unsigned get_bus_conf_done = 0; - void get_bus_conf(void) { @@ -66,10 +64,6 @@ void get_bus_conf(void) struct device *dev; int i; - if(get_bus_conf_done == 1) return; //do it only once - - get_bus_conf_done = 1; - sysconf.mb = &mb_sysconf; m = sysconf.mb; diff --git a/src/mainboard/supermicro/h8dmr_fam10/irq_tables.c b/src/mainboard/supermicro/h8dmr_fam10/irq_tables.c index 513fd57c58..97245ec292 100644 --- a/src/mainboard/supermicro/h8dmr_fam10/irq_tables.c +++ b/src/mainboard/supermicro/h8dmr_fam10/irq_tables.c @@ -57,7 +57,6 @@ unsigned long write_pirq_routing_table(unsigned long addr) uint8_t sum = 0; int i; - get_bus_conf(); // it will find out all bus num and apic that share with mptable.c and mptable.c and acpi_tables.c sbdn = sysconf.sbdn; m = sysconf.mb; diff --git a/src/mainboard/supermicro/h8dmr_fam10/mptable.c b/src/mainboard/supermicro/h8dmr_fam10/mptable.c index 52066d0333..16a342069f 100644 --- a/src/mainboard/supermicro/h8dmr_fam10/mptable.c +++ b/src/mainboard/supermicro/h8dmr_fam10/mptable.c @@ -35,7 +35,6 @@ static void *smp_write_config_table(void *v) smp_write_processors(mc); - get_bus_conf(); sbdn = sysconf.sbdn; m = sysconf.mb; diff --git a/src/mainboard/supermicro/h8qme_fam10/get_bus_conf.c b/src/mainboard/supermicro/h8qme_fam10/get_bus_conf.c index 9643417250..4b24943f5b 100644 --- a/src/mainboard/supermicro/h8qme_fam10/get_bus_conf.c +++ b/src/mainboard/supermicro/h8qme_fam10/get_bus_conf.c @@ -57,8 +57,6 @@ static unsigned hcdnx[] = { unsigned sbdn3; -static unsigned get_bus_conf_done = 0; - void get_bus_conf(void) { @@ -68,10 +66,6 @@ void get_bus_conf(void) struct device *dev; int i; - if(get_bus_conf_done == 1) return; //do it only once - - get_bus_conf_done = 1; - sysconf.mb = &mb_sysconf; m = sysconf.mb; diff --git a/src/mainboard/supermicro/h8qme_fam10/irq_tables.c b/src/mainboard/supermicro/h8qme_fam10/irq_tables.c index 82023f9b10..b5ea2c2ea1 100644 --- a/src/mainboard/supermicro/h8qme_fam10/irq_tables.c +++ b/src/mainboard/supermicro/h8qme_fam10/irq_tables.c @@ -57,7 +57,6 @@ unsigned long write_pirq_routing_table(unsigned long addr) uint8_t sum = 0; int i; - get_bus_conf(); // it will find out all bus num and apic that share with mptable.c and mptable.c and acpi_tables.c sbdn = sysconf.sbdn; m = sysconf.mb; diff --git a/src/mainboard/supermicro/h8qme_fam10/mptable.c b/src/mainboard/supermicro/h8qme_fam10/mptable.c index 0d7c22786e..616e6a8898 100644 --- a/src/mainboard/supermicro/h8qme_fam10/mptable.c +++ b/src/mainboard/supermicro/h8qme_fam10/mptable.c @@ -37,7 +37,6 @@ static void *smp_write_config_table(void *v) smp_write_processors(mc); - get_bus_conf(); sbdn = sysconf.sbdn; m = sysconf.mb; diff --git a/src/mainboard/supermicro/h8scm_fam10/get_bus_conf.c b/src/mainboard/supermicro/h8scm_fam10/get_bus_conf.c index b242a81a1f..cfa646b575 100644 --- a/src/mainboard/supermicro/h8scm_fam10/get_bus_conf.c +++ b/src/mainboard/supermicro/h8scm_fam10/get_bus_conf.c @@ -49,18 +49,12 @@ u32 hcdnx[] = { u32 sbdn_sr5650; u32 sbdn_sp5100; -static u32 get_bus_conf_done = 0; - void get_bus_conf(void) { u32 apicid_base; struct device *dev; int i; - if (get_bus_conf_done == 1) - return; /* do it only once */ - get_bus_conf_done = 1; - sysconf.hc_possible_num = ARRAY_SIZE(pci1234x); for (i = 0; i < sysconf.hc_possible_num; i++) { sysconf.pci1234[i] = pci1234x[i]; diff --git a/src/mainboard/supermicro/h8scm_fam10/irq_tables.c b/src/mainboard/supermicro/h8scm_fam10/irq_tables.c index aa78b45d67..39c68db66d 100644 --- a/src/mainboard/supermicro/h8scm_fam10/irq_tables.c +++ b/src/mainboard/supermicro/h8scm_fam10/irq_tables.c @@ -54,8 +54,6 @@ unsigned long write_pirq_routing_table(unsigned long addr) u8 sum = 0; int i; - get_bus_conf(); /* it will find out all bus num and apic that share with mptable.c and mptable.c and acpi_tables.c */ - /* Align the table to be 16 byte aligned. */ addr += 15; addr &= ~15; diff --git a/src/mainboard/supermicro/h8scm_fam10/mptable.c b/src/mainboard/supermicro/h8scm_fam10/mptable.c index c8c7119676..db4dea7492 100644 --- a/src/mainboard/supermicro/h8scm_fam10/mptable.c +++ b/src/mainboard/supermicro/h8scm_fam10/mptable.c @@ -41,8 +41,6 @@ static void *smp_write_config_table(void *v) smp_write_processors(mc); - get_bus_conf(); - apicid_sp5100 = 0x20; apicid_sr5650 = apicid_sp5100 + 1; diff --git a/src/mainboard/tyan/s2912_fam10/get_bus_conf.c b/src/mainboard/tyan/s2912_fam10/get_bus_conf.c index ed3dfb701e..c3775b9336 100644 --- a/src/mainboard/tyan/s2912_fam10/get_bus_conf.c +++ b/src/mainboard/tyan/s2912_fam10/get_bus_conf.c @@ -55,8 +55,6 @@ static unsigned hcdnx[] = { 0x20202020, 0x20202020, }; -static unsigned get_bus_conf_done = 0; - void get_bus_conf(void) { unsigned apicid_base; @@ -65,10 +63,6 @@ void get_bus_conf(void) struct device *dev; int i; - if(get_bus_conf_done == 1) return; //do it only once - - get_bus_conf_done = 1; - sysconf.mb = &mb_sysconf; m = sysconf.mb; diff --git a/src/mainboard/tyan/s2912_fam10/irq_tables.c b/src/mainboard/tyan/s2912_fam10/irq_tables.c index 513fd57c58..97245ec292 100644 --- a/src/mainboard/tyan/s2912_fam10/irq_tables.c +++ b/src/mainboard/tyan/s2912_fam10/irq_tables.c @@ -57,7 +57,6 @@ unsigned long write_pirq_routing_table(unsigned long addr) uint8_t sum = 0; int i; - get_bus_conf(); // it will find out all bus num and apic that share with mptable.c and mptable.c and acpi_tables.c sbdn = sysconf.sbdn; m = sysconf.mb; diff --git a/src/mainboard/tyan/s2912_fam10/mptable.c b/src/mainboard/tyan/s2912_fam10/mptable.c index e6f2e5ca1f..3b77689338 100644 --- a/src/mainboard/tyan/s2912_fam10/mptable.c +++ b/src/mainboard/tyan/s2912_fam10/mptable.c @@ -35,7 +35,6 @@ static void *smp_write_config_table(void *v) smp_write_processors(mc); - get_bus_conf(); sbdn = sysconf.sbdn; m = sysconf.mb; diff --git a/src/northbridge/amd/amdfam10/acpi.c b/src/northbridge/amd/amdfam10/acpi.c index eaea725360..dc139adb87 100644 --- a/src/northbridge/amd/amdfam10/acpi.c +++ b/src/northbridge/amd/amdfam10/acpi.c @@ -215,8 +215,6 @@ void northbridge_acpi_write_vars(struct device *device) char pscope[] = "\\_SB.PCI0"; int i; - get_bus_conf(); /* it will get sblk, pci1234, hcdn, and sbdn */ - acpigen_write_scope(pscope); acpigen_write_name("BUSN"); @@ -333,8 +331,6 @@ unsigned long northbridge_write_acpi_tables(struct device *device, acpi_srat_t *srat; acpi_slit_t *slit; - get_bus_conf(); /* it will get sblk, pci1234, hcdn, and sbdn */ - /* SRAT */ current = ALIGN(current, 8); printk(BIOS_DEBUG, "ACPI: * SRAT at %lx\n", current); diff --git a/src/northbridge/amd/amdfam10/get_pci1234.c b/src/northbridge/amd/amdfam10/get_pci1234.c index d9dd2ced8b..71772b3feb 100644 --- a/src/northbridge/amd/amdfam10/get_pci1234.c +++ b/src/northbridge/amd/amdfam10/get_pci1234.c @@ -13,6 +13,7 @@ * GNU General Public License for more details. */ +#include #include #include #include @@ -108,3 +109,13 @@ void get_pci1234(void) sysconf.hcid[i] = 0; } } + +static void amd_bs_sysconf(void *arg) +{ + /* Prepare sysconf structures, which are used to generate IRQ, + * MP and ACPI table entries. + */ + get_bus_conf(); +} + +BOOT_STATE_INIT_ENTRY(BS_WRITE_TABLES, BS_ON_ENTRY, amd_bs_sysconf, NULL);