X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=src%2Fmainboard%2Fasus%2Fm4a785-m%2Fmptable.c;h=4a276fb0c3c8ee60f8d858f9d4fd561feb42861e;hb=c8feeddf343e8fd0ddd6be7e42101ab4f1866ed0;hp=6cfe88e3bf9621eb2ec12c90f439e85ee4294541;hpb=b907d321a5d0957f5cbb03d8f9c8d0ff0c23523b;p=coreboot.git diff --git a/src/mainboard/asus/m4a785-m/mptable.c b/src/mainboard/asus/m4a785-m/mptable.c index 6cfe88e3b..4a276fb0c 100644 --- a/src/mainboard/asus/m4a785-m/mptable.c +++ b/src/mainboard/asus/m4a785-m/mptable.c @@ -25,35 +25,28 @@ #include #include -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); - mptable_init(mc, "M4A785-M ", LAPIC_ADDR); + mptable_init(mc, LOCAL_APIC_ADDR); smp_write_processors(mc); 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 */ { @@ -167,17 +160,12 @@ static void *smp_write_config_table(void *v) /* There is no extension information... */ /* Compute the checksums */ - mc->mpe_checksum = - smp_compute_checksum(smp_next_mpc_entry(mc), mc->mpe_length); - mc->mpc_checksum = smp_compute_checksum(mc, mc->mpc_length); - printk(BIOS_DEBUG, "Wrote the mp table end at: %p - %p\n", - mc, smp_next_mpe_entry(mc)); - return smp_next_mpe_entry(mc); + return mptable_finalize(mc); } unsigned long write_smp_table(unsigned long addr) { void *v; - v = smp_write_floating_table(addr); + v = smp_write_floating_table(addr, 0); return (unsigned long)smp_write_config_table(v); }