diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2008-08-17 11:03:24 -0400 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2008-08-17 11:03:24 -0400 |
commit | 6cb8ba9cb3f8a71ac8e561f477dc2a51a2ecdb7a (patch) | |
tree | 2d0fd5ad121a5f8711e1dbc4e1eaaa78482207c1 /src | |
parent | 484270d5ec465d1b5c02d8d60df9e46578e408e7 (diff) | |
download | seabios-hppa-6cb8ba9cb3f8a71ac8e561f477dc2a51a2ecdb7a.zip seabios-hppa-6cb8ba9cb3f8a71ac8e561f477dc2a51a2ecdb7a.tar.gz seabios-hppa-6cb8ba9cb3f8a71ac8e561f477dc2a51a2ecdb7a.tar.bz2 |
Remove CONFIG_QEMU option - breakout into other options.
Define all the required app names in config.h directly.
Control UUID detection via new option - CONFIG_UUID_BACKDOOR.
Don't enable mptable on uniprocessor machines (check use to only be
done for qemu, but it is needed everywhere).
Also add new option CONFIG_SMBIOS.
Diffstat (limited to 'src')
-rw-r--r-- | src/acpi.c | 17 | ||||
-rw-r--r-- | src/config.h | 21 | ||||
-rw-r--r-- | src/mptable.c | 8 | ||||
-rw-r--r-- | src/smbios.c | 5 |
4 files changed, 23 insertions, 28 deletions
@@ -209,15 +209,9 @@ static void acpi_build_table_header(struct acpi_table_header *h, memcpy(h->signature, sig, 4); h->length = cpu_to_le32(len); h->revision = rev; - if (CONFIG_QEMU) { - memcpy(h->oem_id, "QEMU ", 6); - memcpy(h->oem_table_id, "QEMU", 4); - memcpy(h->asl_compiler_id, "QEMU", 4); - } else { - memcpy(h->oem_id, "BOCHS ", 6); - memcpy(h->oem_table_id, "BXPC", 4); - memcpy(h->asl_compiler_id, "BXPC", 4); - } + memcpy(h->oem_id, CONFIG_APPNAME6, 6); + memcpy(h->oem_table_id, CONFIG_APPNAME4, 4); + memcpy(h->asl_compiler_id, CONFIG_APPNAME4, 4); memcpy(h->oem_table_id + 4, sig, 4); h->oem_revision = cpu_to_le32(1); h->asl_compiler_revision = cpu_to_le32(1); @@ -348,10 +342,7 @@ void acpi_bios_init(void) /* RSDP */ memset(rsdp, 0, sizeof(*rsdp)); memcpy(rsdp->signature, "RSD PTR ", 8); - if (CONFIG_QEMU) - memcpy(rsdp->oem_id, "QEMU ", 6); - else - memcpy(rsdp->oem_id, "BOCHS ", 6); + memcpy(rsdp->oem_id, CONFIG_APPNAME6, 6); rsdp->rsdt_physical_address = cpu_to_le32(rsdt_addr); rsdp->checksum = -checksum((void *)rsdp, 20); diff --git a/src/config.h b/src/config.h index f7d058c..f877101 100644 --- a/src/config.h +++ b/src/config.h @@ -3,15 +3,14 @@ // Configuration definitions. -/* Dont support QEMU BIOS by default. - * Change CONFIG_QEMU to 1 to support QEMU. */ -#define CONFIG_QEMU 0 - -#if (QEMU_SUPPORT == 1) -#define CONFIG_APPNAME "QEMU" -#else -#define CONFIG_APPNAME "Bochs" -#endif +//#define CONFIG_APPNAME "QEMU" +//#define CONFIG_CPUNAME8 "QEMUCPU " +//#define CONFIG_APPNAME6 "QEMU " +//#define CONFIG_APPNAME4 "QEMU" +#define CONFIG_APPNAME "Bochs" +#define CONFIG_CPUNAME8 "BOCHSCPU" +#define CONFIG_APPNAME6 "BOCHS " +#define CONFIG_APPNAME4 "BXPC" // Configure as a coreboot payload. #define CONFIG_COREBOOT 0 @@ -55,6 +54,10 @@ #define CONFIG_PIRTABLE 1 // Support generation of MPTable (for emulators) #define CONFIG_MPTABLE 1 +// Support generation of SM BIOS tables (for emulators) +#define CONFIG_SMBIOS 1 +// Support finding a UUID (for smbios) via "magic" outl sequence. +#define CONFIG_UUID_BACKDOOR 1 // Support generation of ACPI tables (for emulators) #define CONFIG_ACPI 1 // Support bios callbacks specific to via vgabios. diff --git a/src/mptable.c b/src/mptable.c index 5550fd2..7d85399 100644 --- a/src/mptable.c +++ b/src/mptable.c @@ -57,7 +57,8 @@ mptable_init(void) int mp_config_table_size; int smp_cpus = smp_probe(); - if (CONFIG_QEMU && smp_cpus <= 1) + if (smp_cpus <= 1) + // Building an mptable on uniprocessor machines confuses some OSes. return; bios_table_cur_addr = ALIGN(bios_table_cur_addr, 16); @@ -67,10 +68,7 @@ mptable_init(void) putle16(&q, 0); /* table length (patched later) */ putb(&q, 4); /* spec rev */ putb(&q, 0); /* checksum (patched later) */ - if (CONFIG_QEMU) - putstr(&q, "QEMUCPU "); /* OEM id */ - else - putstr(&q, "BOCHSCPU"); + putstr(&q, CONFIG_CPUNAME8); /* OEM id */ putstr(&q, "0.1 "); /* vendor id */ putle32(&q, 0); /* OEM table ptr */ putle16(&q, 0); /* OEM table size */ diff --git a/src/smbios.c b/src/smbios.c index 020d7c4..8026279 100644 --- a/src/smbios.c +++ b/src/smbios.c @@ -20,7 +20,7 @@ uuid_probe(u8 *bios_uuid) // Default to UUID not set memset(bios_uuid, 0, 16); - if (! CONFIG_QEMU) + if (! CONFIG_UUID_BACKDOOR) return; // check if backdoor port exists @@ -506,6 +506,9 @@ smbios_type_127_init(void *start) void smbios_init(void) { + if (! CONFIG_SMBIOS) + return; + unsigned cpu_num, nr_structs = 0, max_struct_size = 0; char *start, *p, *q; int memsize = GET_EBDA(ram_size) / (1024 * 1024); |