}
static struct cb_memory *CBMemTable;
+const char *CBvendor, *CBpart;
// Populate max ram and e820 map info by scanning for a coreboot table.
static void
struct cb_mainboard *cbmb = find_cb_subtable(cbh, CB_TAG_MAINBOARD);
if (cbmb) {
- const char *vendor = &cbmb->strings[cbmb->vendor_idx];
- const char *part = &cbmb->strings[cbmb->part_idx];
- dprintf(1, "Found mainboard %s %s\n", vendor, part);
-
- vgahook_setup(vendor, part);
+ CBvendor = &cbmb->strings[cbmb->vendor_idx];
+ CBpart = &cbmb->strings[cbmb->part_idx];
+ dprintf(1, "Found mainboard %s %s\n", CBvendor, CBpart);
}
return;
copy_pir(p);
copy_mptable(p);
copy_acpi_rsdp(p);
+ copy_smbios(p);
}
}
scan_tables(m->start, m->size);
}
- // XXX - just create dummy smbios table for now - should detect if
- // smbios/dmi table is found from coreboot and use that instead.
- smbios_init();
+ // XXX - create a dummy smbios table for now.
+ if (!SMBiosAddr)
+ smbios_init();
}