aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoraurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162>2008-04-28 08:54:51 +0000
committeraurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162>2008-04-28 08:54:51 +0000
commit3ea8749da4a479441563b5edb9d5ad20c690311a (patch)
tree71eed0a45fddd1e58b477b1a3338ebdc4015aee3 /pc-bios
parentFactorize code in translate.c (diff)
downloadqemu-kvm-3ea8749da4a479441563b5edb9d5ad20c690311a.tar.gz
qemu-kvm-3ea8749da4a479441563b5edb9d5ad20c690311a.tar.bz2
qemu-kvm-3ea8749da4a479441563b5edb9d5ad20c690311a.zip
BIOS: Reenable processor SSDT generation. Don't advertise ACPI C2 or C3
support. Thanks to Avi Kivity for the pointer. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4275 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'pc-bios')
-rw-r--r--pc-bios/bios.binbin131072 -> 131072 bytes
-rw-r--r--pc-bios/bios.diff81
2 files changed, 39 insertions, 42 deletions
diff --git a/pc-bios/bios.bin b/pc-bios/bios.bin
index 408dc7737..e34914661 100644
--- a/pc-bios/bios.bin
+++ b/pc-bios/bios.bin
Binary files differ
diff --git a/pc-bios/bios.diff b/pc-bios/bios.diff
index 7fe42ad35..4f40d7a7a 100644
--- a/pc-bios/bios.diff
+++ b/pc-bios/bios.diff
@@ -1,10 +1,34 @@
+? _rombios_.c
+? _rombiosl_.c
+? biossums
+? rombios.s
+? rombios.sym
+? rombios.txt
+? rombios16.bin
+? rombios32.bin
+? rombios32.out
+? rombiosl.s
+? rombiosl.sym
+? rombiosl.txt
+Index: BIOS-bochs-latest
+===================================================================
+RCS file: /cvsroot/bochs/bochs/bios/BIOS-bochs-latest,v
+retrieving revision 1.173
+diff -u -d -p -r1.173 BIOS-bochs-latest
+Binary files /tmp/cvsItPJ31 and BIOS-bochs-latest differ
+Index: BIOS-bochs-legacy
+===================================================================
+RCS file: /cvsroot/bochs/bochs/bios/BIOS-bochs-legacy,v
+retrieving revision 1.33
+diff -u -d -p -r1.33 BIOS-bochs-legacy
+Binary files /tmp/cvsMYE2Kz and BIOS-bochs-legacy differ
Index: rombios.c
===================================================================
RCS file: /cvsroot/bochs/bochs/bios/rombios.c,v
retrieving revision 1.207
diff -u -d -p -r1.207 rombios.c
--- rombios.c 21 Apr 2008 14:22:01 -0000 1.207
-+++ rombios.c 27 Apr 2008 23:40:19 -0000
++++ rombios.c 28 Apr 2008 07:53:57 -0000
@@ -4404,22 +4404,25 @@ BX_DEBUG_INT15("case default:\n");
#endif // BX_USE_PS2_MOUSE
@@ -128,7 +152,7 @@ RCS file: /cvsroot/bochs/bochs/bios/rombios.h,v
retrieving revision 1.6
diff -u -d -p -r1.6 rombios.h
--- rombios.h 26 Jan 2008 09:15:27 -0000 1.6
-+++ rombios.h 27 Apr 2008 23:40:19 -0000
++++ rombios.h 28 Apr 2008 07:53:57 -0000
@@ -19,7 +19,7 @@
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
@@ -144,7 +168,7 @@ RCS file: /cvsroot/bochs/bochs/bios/rombios32.c,v
retrieving revision 1.26
diff -u -d -p -r1.26 rombios32.c
--- rombios32.c 8 Apr 2008 16:41:18 -0000 1.26
-+++ rombios32.c 27 Apr 2008 23:40:19 -0000
++++ rombios32.c 28 Apr 2008 07:53:58 -0000
@@ -478,7 +478,12 @@ void smp_probe(void)
sipi_vector = AP_BOOT_ADDR >> 12;
writel(APIC_BASE + APIC_ICR_LOW, 0x000C4600 | sipi_vector);
@@ -158,42 +182,15 @@ diff -u -d -p -r1.26 rombios32.c
smp_cpus = readw((void *)CPU_COUNT_ADDR);
}
-@@ -1081,7 +1086,7 @@ struct rsdp_descriptor /* Root S
- struct rsdt_descriptor_rev1
- {
- ACPI_TABLE_HEADER_DEF /* ACPI common table header */
-- uint32_t table_offset_entry [3]; /* Array of pointers to other */
-+ uint32_t table_offset_entry [2]; /* Array of pointers to other */
- /* ACPI tables */
- };
-
-@@ -1335,8 +1340,8 @@ void acpi_bios_init(void)
- struct fadt_descriptor_rev1 *fadt;
- struct facs_descriptor_rev1 *facs;
- struct multiple_apic_table *madt;
-- uint8_t *dsdt, *ssdt;
-- uint32_t base_addr, rsdt_addr, fadt_addr, addr, facs_addr, dsdt_addr, ssdt_addr;
-+ uint8_t *dsdt;
-+ uint32_t base_addr, rsdt_addr, fadt_addr, addr, facs_addr, dsdt_addr;
- uint32_t acpi_tables_size, madt_addr, madt_size;
- int i;
-
-@@ -1370,10 +1375,6 @@ void acpi_bios_init(void)
- dsdt = (void *)(addr);
- addr += sizeof(AmlCode);
-
-- ssdt_addr = addr;
-- ssdt = (void *)(addr);
-- addr += acpi_build_processor_ssdt(ssdt);
--
- addr = (addr + 7) & ~7;
- madt_addr = addr;
- madt_size = sizeof(*madt) +
-@@ -1403,7 +1404,6 @@ void acpi_bios_init(void)
- memset(rsdt, 0, sizeof(*rsdt));
- rsdt->table_offset_entry[0] = cpu_to_le32(fadt_addr);
- rsdt->table_offset_entry[1] = cpu_to_le32(madt_addr);
-- rsdt->table_offset_entry[2] = cpu_to_le32(ssdt_addr);
- acpi_build_table_header((struct acpi_table_header *)rsdt,
- "RSDT", sizeof(*rsdt), 1);
-
+@@ -1423,9 +1428,8 @@ void acpi_bios_init(void)
+ fadt->pm1_evt_len = 4;
+ fadt->pm1_cnt_len = 2;
+ fadt->pm_tmr_len = 4;
+- fadt->plvl2_lat = cpu_to_le16(50);
+- fadt->plvl3_lat = cpu_to_le16(50);
+- fadt->plvl3_lat = cpu_to_le16(50);
++ fadt->plvl2_lat = cpu_to_le16(0x0fff); // C2 state not supported
++ fadt->plvl3_lat = cpu_to_le16(0x0fff); // C3 state not supported
+ /* WBINVD + PROC_C1 + PWR_BUTTON + SLP_BUTTON + FIX_RTC */
+ fadt->flags = cpu_to_le32((1 << 0) | (1 << 2) | (1 << 4) | (1 << 5) | (1 << 6));
+ acpi_build_table_header((struct acpi_table_header *)fadt, "FACP",