From acb98efbbff1c51cd9a594af7daa4fe8b4560916 Mon Sep 17 00:00:00 2001 From: aurel32 Date: Tue, 22 Apr 2008 20:37:21 +0000 Subject: [PATCH] bios: add support to memory above the pci hole (Izik Eidus) git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4237 c046a42c-6fe2-441c-8c8c-71466251a162 --- pc-bios/bios.bin | Bin 131072 -> 131072 bytes pc-bios/bios.diff | 130 ++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 127 insertions(+), 3 deletions(-) diff --git a/pc-bios/bios.bin b/pc-bios/bios.bin index d437728ee8c306a908adca7ac9323c7c17a3e1de..6ba7ade3a1a0605c92050c30c7e428fe1527f159 100644 GIT binary patch delta 13231 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 delta 12489 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 diff --git a/pc-bios/bios.diff b/pc-bios/bios.diff index 16b98877..ce5f7032 100644 --- a/pc-bios/bios.diff +++ b/pc-bios/bios.diff @@ -1,10 +1,134 @@ +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"); + #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; + Bit16u DI; + Bit32u start; + Bit32u end; ++ Bit8u extra_start; ++ Bit8u extra_end; + Bit16u type; + { + write_word(ES, DI, start); + write_word(ES, DI+2, start >> 16); +- 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); + write_word(ES, DI+10, end >> 16); +- 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) + 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 + 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); ++ extra_lowbits_memory_size *= 64; ++ extra_lowbits_memory_size *= 1024; ++ extra_highbits_memory_size = inb_cmos(0x5d); ++ + switch(regs.u.r16.bx) + { + case 0: + set_e820_range(ES, regs.u.r16.di, +- 0x0000000L, 0x0009fc00L, 1); ++ 0x0000000L, 0x0009fc00L, 0, 0, 1); + regs.u.r32.ebx = 1; + regs.u.r32.eax = 0x534D4150; + regs.u.r32.ecx = 0x14; +@@ -4510,7 +4522,7 @@ ASM_END + break; + case 1: + set_e820_range(ES, regs.u.r16.di, +- 0x0009fc00L, 0x000a0000L, 2); ++ 0x0009fc00L, 0x000a0000L, 0, 0, 2); + regs.u.r32.ebx = 2; + regs.u.r32.eax = 0x534D4150; + regs.u.r32.ecx = 0x14; +@@ -4519,7 +4531,7 @@ ASM_END + break; + case 2: + set_e820_range(ES, regs.u.r16.di, +- 0x000e8000L, 0x00100000L, 2); ++ 0x000e8000L, 0x00100000L, 0, 0, 2); + regs.u.r32.ebx = 3; + regs.u.r32.eax = 0x534D4150; + regs.u.r32.ecx = 0x14; +@@ -4529,7 +4541,7 @@ ASM_END + case 3: + 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 + case 4: + set_e820_range(ES, regs.u.r16.di, + extended_memory_size - ACPI_DATA_SIZE, +- extended_memory_size, 3); // ACPI RAM ++ extended_memory_size ,0, 0, 3); // ACPI RAM + regs.u.r32.ebx = 5; + regs.u.r32.eax = 0x534D4150; + regs.u.r32.ecx = 0x14; +@@ -4549,7 +4561,20 @@ ASM_END + case 5: + /* 256KB BIOS area at the end of 4 GB */ + set_e820_range(ES, regs.u.r16.di, +- 0xfffc0000L, 0x00000000L, 2); ++ 0xfffc0000L, 0x00000000L ,0, 0, 2); ++ if (extra_highbits_memory_size || extra_lowbits_memory_size) ++ regs.u.r32.ebx = 6; ++ else ++ regs.u.r32.ebx = 0; ++ regs.u.r32.eax = 0x534D4150; ++ regs.u.r32.ecx = 0x14; ++ CLEAR_CF(); ++ return; ++ case 6: ++ /* Maping of memory above 4 GB */ ++ set_e820_range(ES, regs.u.r16.di, 0x00000000L, ++ extra_lowbits_memory_size, 1, extra_highbits_memory_size ++ + 1, 1); + regs.u.r32.ebx = 0; + regs.u.r32.eax = 0x534D4150; + regs.u.r32.ecx = 0x14; Index: rombios.h =================================================================== 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 28 Mar 2008 10:22:04 -0000 ++++ rombios.h 10 Apr 2008 09:47:48 -0000 @@ -19,7 +19,7 @@ // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA @@ -20,7 +144,7 @@ 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 28 Mar 2008 10:22:04 -0000 ++++ rombios32.c 10 Apr 2008 09:47:48 -0000 @@ -477,7 +477,12 @@ void smp_probe(void) sipi_vector = AP_BOOT_ADDR >> 12; writel(APIC_BASE + APIC_ICR_LOW, 0x000C4600 | sipi_vector); @@ -40,7 +164,7 @@ 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 28 Mar 2008 10:22:04 -0000 ++++ rombios32start.S 10 Apr 2008 09:47:48 -0000 @@ -42,7 +42,7 @@ _start: smp_ap_boot_code_start: xor %ax, %ax -- 2.39.5