From e6e514c529446824c638d47286338db8da7edf0e Mon Sep 17 00:00:00 2001 From: aurel32 Date: Sun, 27 Apr 2008 23:46:00 +0000 Subject: [PATCH] bios: disable processor SSDT generation. Fixes high idle load on x86/x86-64. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4270 c046a42c-6fe2-441c-8c8c-71466251a162 --- pc-bios/bios.bin | Bin 131072 -> 131072 bytes pc-bios/bios.diff | 111 ++++++++++++++++++++++++++++------------------ 2 files changed, 67 insertions(+), 44 deletions(-) diff --git a/pc-bios/bios.bin b/pc-bios/bios.bin index 6ba7ade3a1a0605c92050c30c7e428fe1527f159..408dc7737eb9e1478646e23eb615e4cc39329284 100644 GIT binary patch delta 25957 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 ZSlNMgw5E-?%z)(bpza+5x^q>({U00>rn&$C delta 26100 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 J>cQ0<`hPw+t6l&A diff --git a/pc-bios/bios.diff b/pc-bios/bios.diff index ce5f7032baf..7fe42ad3552 100644 --- a/pc-bios/bios.diff +++ b/pc-bios/bios.diff @@ -1,14 +1,14 @@ Index: rombios.c =================================================================== RCS file: /cvsroot/bochs/bochs/bios/rombios.c,v -retrieving revision 1.205 -diff -u -d -p -r1.205 rombios.c ---- rombios.c 21 Mar 2008 19:06:31 -0000 1.205 -+++ rombios.c 10 Apr 2008 09:47:48 -0000 -@@ -4395,22 +4395,25 @@ BX_DEBUG_INT15("case default:\n"); +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 +@@ -4404,22 +4404,25 @@ BX_DEBUG_INT15("case default:\n"); #endif // BX_USE_PS2_MOUSE - - + + -void set_e820_range(ES, DI, start, end, type) +void set_e820_range(ES, DI, start, end, extra_start, extra_end, type) Bit16u ES; @@ -24,7 +24,7 @@ diff -u -d -p -r1.205 rombios.c - write_word(ES, DI+4, 0x00); + write_word(ES, DI+4, extra_start); write_word(ES, DI+6, 0x00); - + end -= start; + extra_end -= extra_start; write_word(ES, DI+8, end); @@ -32,22 +32,22 @@ diff -u -d -p -r1.205 rombios.c - write_word(ES, DI+12, 0x0000); + write_word(ES, DI+12, extra_end); write_word(ES, DI+14, 0x0000); - + write_word(ES, DI+16, type); -@@ -4423,7 +4426,9 @@ int15_function32(regs, ES, DS, FLAGS) +@@ -4432,7 +4435,9 @@ int15_function32(regs, ES, DS, FLAGS) Bit16u ES, DS, FLAGS; { Bit32u extended_memory_size=0; // 64bits long + Bit32u extra_lowbits_memory_size=0; Bit16u CX,DX; + Bit8u extra_highbits_memory_size=0; - + BX_DEBUG_INT15("int15 AX=%04x\n",regs.u.r16.ax); - -@@ -4497,11 +4502,18 @@ ASM_END + +@@ -4506,11 +4511,18 @@ ASM_END extended_memory_size += (1L * 1024 * 1024); } - + + extra_lowbits_memory_size = inb_cmos(0x5c); + extra_lowbits_memory_size <<= 8; + extra_lowbits_memory_size |= inb_cmos(0x5b); @@ -64,7 +64,7 @@ diff -u -d -p -r1.205 rombios.c regs.u.r32.ebx = 1; regs.u.r32.eax = 0x534D4150; regs.u.r32.ecx = 0x14; -@@ -4510,7 +4522,7 @@ ASM_END +@@ -4519,7 +4531,7 @@ ASM_END break; case 1: set_e820_range(ES, regs.u.r16.di, @@ -73,7 +73,7 @@ diff -u -d -p -r1.205 rombios.c regs.u.r32.ebx = 2; regs.u.r32.eax = 0x534D4150; regs.u.r32.ecx = 0x14; -@@ -4519,7 +4531,7 @@ ASM_END +@@ -4528,7 +4540,7 @@ ASM_END break; case 2: set_e820_range(ES, regs.u.r16.di, @@ -82,16 +82,16 @@ diff -u -d -p -r1.205 rombios.c regs.u.r32.ebx = 3; regs.u.r32.eax = 0x534D4150; regs.u.r32.ecx = 0x14; -@@ -4529,7 +4541,7 @@ ASM_END - case 3: +@@ -4539,7 +4551,7 @@ ASM_END + #if BX_ROMBIOS32 set_e820_range(ES, regs.u.r16.di, 0x00100000L, - extended_memory_size - ACPI_DATA_SIZE, 1); + extended_memory_size - ACPI_DATA_SIZE ,0, 0, 1); regs.u.r32.ebx = 4; - regs.u.r32.eax = 0x534D4150; - regs.u.r32.ecx = 0x14; -@@ -4539,7 +4551,7 @@ ASM_END + #else + set_e820_range(ES, regs.u.r16.di, +@@ -4555,7 +4567,7 @@ ASM_END case 4: set_e820_range(ES, regs.u.r16.di, extended_memory_size - ACPI_DATA_SIZE, @@ -100,7 +100,7 @@ diff -u -d -p -r1.205 rombios.c regs.u.r32.ebx = 5; regs.u.r32.eax = 0x534D4150; regs.u.r32.ecx = 0x14; -@@ -4549,7 +4561,20 @@ ASM_END +@@ -4565,7 +4577,20 @@ ASM_END case 5: /* 256KB BIOS area at the end of 4 GB */ set_e820_range(ES, regs.u.r16.di, @@ -128,7 +128,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 10 Apr 2008 09:47:48 -0000 ++++ rombios.h 27 Apr 2008 23:40:19 -0000 @@ -19,7 +19,7 @@ // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA @@ -141,11 +141,11 @@ diff -u -d -p -r1.6 rombios.h Index: rombios32.c =================================================================== RCS file: /cvsroot/bochs/bochs/bios/rombios32.c,v -retrieving revision 1.24 -diff -u -d -p -r1.24 rombios32.c ---- rombios32.c 6 Mar 2008 20:18:20 -0000 1.24 -+++ rombios32.c 10 Apr 2008 09:47:48 -0000 -@@ -477,7 +477,12 @@ void smp_probe(void) +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 +@@ -478,7 +478,12 @@ void smp_probe(void) sipi_vector = AP_BOOT_ADDR >> 12; writel(APIC_BASE + APIC_ICR_LOW, 0x000C4600 | sipi_vector); @@ -158,19 +158,42 @@ diff -u -d -p -r1.24 rombios32.c smp_cpus = readw((void *)CPU_COUNT_ADDR); } -Index: rombios32start.S -=================================================================== -RCS file: /cvsroot/bochs/bochs/bios/rombios32start.S,v -retrieving revision 1.4 -diff -u -d -p -r1.4 rombios32start.S ---- rombios32start.S 26 Jan 2008 09:15:27 -0000 1.4 -+++ rombios32start.S 10 Apr 2008 09:47:48 -0000 -@@ -42,7 +42,7 @@ _start: - smp_ap_boot_code_start: - xor %ax, %ax - mov %ax, %ds -- incw CPU_COUNT_ADDR -+ lock incw CPU_COUNT_ADDR - 1: - hlt - jmp 1b +@@ -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); + -- 2.47.3