Merged BIOS patches from @SF tracker

This commit is contained in:
Stanislav Shwartsman 2008-04-08 16:41:18 +00:00
parent a33d8c6008
commit dcb392311f
2 changed files with 14 additions and 6 deletions

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////
// $Id: rombios.c,v 1.205 2008-03-21 19:06:31 sshwarts Exp $
// $Id: rombios.c,v 1.206 2008-04-08 16:41:18 sshwarts Exp $
/////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2002 MandrakeSoft S.A.
@ -939,7 +939,7 @@ Bit16u cdrom_boot();
#endif // BX_ELTORITO_BOOT
static char bios_cvs_version_string[] = "$Revision: 1.205 $ $Date: 2008-03-21 19:06:31 $";
static char bios_cvs_version_string[] = "$Revision: 1.206 $ $Date: 2008-04-08 16:41:18 $";
#define BIOS_COPYRIGHT_STRING "(c) 2002 MandrakeSoft S.A. Written by Kevin Lawton & the Bochs team."
@ -4527,10 +4527,17 @@ ASM_END
return;
break;
case 3:
#if BX_ROMBIOS32
set_e820_range(ES, regs.u.r16.di,
0x00100000L,
extended_memory_size - ACPI_DATA_SIZE, 1);
regs.u.r32.ebx = 4;
#else
set_e820_range(ES, regs.u.r16.di,
0x00100000L,
extended_memory_size, 1);
regs.u.r32.ebx = 5;
#endif
regs.u.r32.eax = 0x534D4150;
regs.u.r32.ecx = 0x14;
CLEAR_CF();

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////
// $Id: rombios32.c,v 1.25 2008-03-26 16:21:46 sshwarts Exp $
// $Id: rombios32.c,v 1.26 2008-04-08 16:41:18 sshwarts Exp $
/////////////////////////////////////////////////////////////////////////
//
// 32 bit Bochs BIOS init code
@ -441,7 +441,8 @@ void ram_probe(void)
ram_size = (cmos_readb(0x34) | (cmos_readb(0x35) << 8)) * 65536 +
16 * 1024 * 1024;
else
ram_size = (cmos_readb(0x17) | (cmos_readb(0x18) << 8)) * 1024;
ram_size = (cmos_readb(0x30) | (cmos_readb(0x31) << 8)) * 1024 +
1 * 1024 * 1024;
#ifdef BX_USE_EBDA_TABLES
ebda_cur_addr = ((*(uint16_t *)(0x40e)) << 4) + 0x380;
#endif
@ -1987,14 +1988,14 @@ void rombios32_init(void)
smp_probe();
uuid_probe();
pci_bios_init();
if (bios_table_cur_addr != 0) {
mptable_init();
uuid_probe();
smbios_init();
if (acpi_enabled)