diff options
author | Patrick Georgi <patrick@georgi-clan.de> | 2010-11-21 14:40:09 +0000 |
---|---|---|
committer | Patrick Georgi <patrick.georgi@coresystems.de> | 2010-11-21 14:40:09 +0000 |
commit | 8cda9699d4a2fea8ed2c5e4a7e66e8e1e0f831df (patch) | |
tree | 34e4f2c370bd2d7977a6cc3756aeeadd7ef4e6c0 /src/mainboard/asrock | |
parent | d8a789f6dfa6a8215ee3f737111e19c265af8f92 (diff) | |
download | coreboot-8cda9699d4a2fea8ed2c5e4a7e66e8e1e0f831df.tar.xz |
Convert boards to use mptable_write_buses.
Signed-off-by: Patrick Georgi <patrick@georgi-clan.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@6105 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'src/mainboard/asrock')
-rw-r--r-- | src/mainboard/asrock/939a785gmh/get_bus_conf.c | 23 | ||||
-rw-r--r-- | src/mainboard/asrock/939a785gmh/irq_tables.c | 1 | ||||
-rw-r--r-- | src/mainboard/asrock/939a785gmh/mptable.c | 11 |
3 files changed, 3 insertions, 32 deletions
diff --git a/src/mainboard/asrock/939a785gmh/get_bus_conf.c b/src/mainboard/asrock/939a785gmh/get_bus_conf.c index 43558ac984..bed760618e 100644 --- a/src/mainboard/asrock/939a785gmh/get_bus_conf.c +++ b/src/mainboard/asrock/939a785gmh/get_bus_conf.c @@ -32,7 +32,6 @@ /* Global variables for MB layouts and these will be shared by irqtable mptable * and acpi_tables busnum is default. */ -u8 bus_isa; u8 bus_rs780[11]; u8 bus_sb700[2]; u32 apicid_sb700; @@ -54,8 +53,6 @@ u32 hcdnx[] = { 0x20202020, }; -u32 bus_type[256]; - u32 sbdn_rs780; u32 sbdn_sb700; @@ -67,7 +64,7 @@ void get_bus_conf(void) { u32 apicid_base; device_t dev; - int i, j; + int i; if (get_bus_conf_done == 1) return; /* do it only once */ @@ -92,25 +89,13 @@ void get_bus_conf(void) bus_rs780[i] = 0; } - for (i = 0; i < 256; i++) { - bus_type[i] = 0; /* default ISA bus. */ - } - - bus_type[0] = 1; /* pci */ - bus_rs780[0] = (sysconf.pci1234[0] >> 16) & 0xff; bus_sb700[0] = bus_rs780[0]; - bus_type[bus_rs780[0]] = 1; - /* sb700 */ dev = dev_find_slot(bus_sb700[0], PCI_DEVFN(sbdn_sb700 + 0x14, 4)); if (dev) { bus_sb700[1] = pci_read_config8(dev, PCI_SECONDARY_BUS); - bus_isa = pci_read_config8(dev, PCI_SUBORDINATE_BUS); - bus_isa++; - for (j = bus_sb700[1]; j < bus_isa; j++) - bus_type[j] = 1; } /* rs780 */ @@ -118,16 +103,10 @@ void get_bus_conf(void) dev = dev_find_slot(bus_rs780[0], PCI_DEVFN(sbdn_rs780 + i, 0)); if (dev) { bus_rs780[i] = pci_read_config8(dev, PCI_SECONDARY_BUS); - if(255 != bus_rs780[i]) { - bus_isa = pci_read_config8(dev, PCI_SUBORDINATE_BUS); - bus_isa++; - bus_type[bus_rs780[i]] = 1; /* PCI bus. */ - } } } /* I/O APICs: APIC ID Version State Address */ - bus_isa = 10; #if CONFIG_LOGICAL_CPUS==1 apicid_base = get_apicid_base(1); #else diff --git a/src/mainboard/asrock/939a785gmh/irq_tables.c b/src/mainboard/asrock/939a785gmh/irq_tables.c index 800a415357..8719226b31 100644 --- a/src/mainboard/asrock/939a785gmh/irq_tables.c +++ b/src/mainboard/asrock/939a785gmh/irq_tables.c @@ -51,7 +51,6 @@ static void write_pirq_info(struct irq_info *pirq_info, u8 bus, u8 devfn, pirq_info->slot = slot; pirq_info->rfu = rfu; } -extern u8 bus_isa; extern u8 bus_rs780[8]; extern u8 bus_sb700[2]; extern unsigned long sbdn_sb700; diff --git a/src/mainboard/asrock/939a785gmh/mptable.c b/src/mainboard/asrock/939a785gmh/mptable.c index 6c57840bc7..3c43e3cc85 100644 --- a/src/mainboard/asrock/939a785gmh/mptable.c +++ b/src/mainboard/asrock/939a785gmh/mptable.c @@ -25,20 +25,18 @@ #include <stdint.h> #include <cpu/amd/amdk8_sysconf.h> -extern u8 bus_isa; extern u8 bus_rs780[11]; extern u8 bus_sb700[2]; extern u32 apicid_sb700; -extern u32 bus_type[256]; extern u32 sbdn_rs780; extern u32 sbdn_sb700; static void *smp_write_config_table(void *v) { struct mp_config_table *mc; - int j; + int bus_isa; mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN); @@ -48,12 +46,7 @@ static void *smp_write_config_table(void *v) get_bus_conf(); - /* Bus: Bus ID Type */ - /* define bus and isa numbers */ - for (j = 0; j < bus_isa; j++) { - smp_write_bus(mc, j, (char *)"PCI "); - } - smp_write_bus(mc, bus_isa, (char *)"ISA "); + mptable_write_buses(mc, NULL, &bus_isa); /* I/O APICs: APIC ID Version State Address */ { |