BIOS patches from Sebastian
This commit is contained in:
parent
d41bbbc412
commit
79e08eb21e
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: rombios.c,v 1.237 2009-12-20 16:43:50 sshwarts Exp $
|
||||
// $Id: rombios.c,v 1.238 2009-12-21 08:08:24 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2002 MandrakeSoft S.A.
|
||||
@ -937,7 +937,7 @@ Bit16u cdrom_boot();
|
||||
|
||||
#endif // BX_ELTORITO_BOOT
|
||||
|
||||
static char bios_cvs_version_string[] = "$Revision: 1.237 $ $Date: 2009-12-20 16:43:50 $";
|
||||
static char bios_cvs_version_string[] = "$Revision: 1.238 $ $Date: 2009-12-21 08:08:24 $";
|
||||
|
||||
#define BIOS_COPYRIGHT_STRING "(c) 2002 MandrakeSoft S.A. Written by Kevin Lawton & the Bochs team."
|
||||
|
||||
@ -4653,42 +4653,42 @@ ASM_END
|
||||
{
|
||||
case 0:
|
||||
set_e820_range(ES, regs.u.r16.di,
|
||||
0x0000000L, 0x0009f000L, 0, 0, 1);
|
||||
0x0000000L, 0x0009f000L, 0, 0, E820_RAM);
|
||||
regs.u.r32.ebx = 1;
|
||||
break;
|
||||
case 1:
|
||||
set_e820_range(ES, regs.u.r16.di,
|
||||
0x0009f000L, 0x000a0000L, 0, 0, 2);
|
||||
0x0009f000L, 0x000a0000L, 0, 0, E820_RESERVED);
|
||||
regs.u.r32.ebx = 2;
|
||||
break;
|
||||
case 2:
|
||||
set_e820_range(ES, regs.u.r16.di,
|
||||
0x000e8000L, 0x00100000L, 0, 0, 2);
|
||||
0x000e8000L, 0x00100000L, 0, 0, E820_RESERVED);
|
||||
regs.u.r32.ebx = 3;
|
||||
break;
|
||||
case 3:
|
||||
#if BX_ROMBIOS32
|
||||
set_e820_range(ES, regs.u.r16.di,
|
||||
0x00100000L,
|
||||
extended_memory_size - ACPI_DATA_SIZE, 0, 0, 1);
|
||||
extended_memory_size - ACPI_DATA_SIZE, 0, 0, E820_RAM);
|
||||
regs.u.r32.ebx = 4;
|
||||
#else
|
||||
set_e820_range(ES, regs.u.r16.di,
|
||||
0x00100000L,
|
||||
extended_memory_size, 0, 0, 1);
|
||||
extended_memory_size, 0, 0, E820_RAM);
|
||||
regs.u.r32.ebx = 5;
|
||||
#endif
|
||||
break;
|
||||
case 4:
|
||||
set_e820_range(ES, regs.u.r16.di,
|
||||
extended_memory_size - ACPI_DATA_SIZE,
|
||||
extended_memory_size, 0, 0, 3); // ACPI RAM
|
||||
extended_memory_size, 0, 0, E820_ACPI);
|
||||
regs.u.r32.ebx = 5;
|
||||
break;
|
||||
case 5:
|
||||
/* 256KB BIOS area at the end of 4 GB */
|
||||
set_e820_range(ES, regs.u.r16.di,
|
||||
0xfffc0000L, 0x00000000L, 0, 0, 2);
|
||||
0xfffc0000L, 0x00000000L, 0, 0, E820_RESERVED);
|
||||
if (extra_highbits_memory_size || extra_lowbits_memory_size)
|
||||
regs.u.r32.ebx = 6;
|
||||
else
|
||||
@ -4698,7 +4698,7 @@ ASM_END
|
||||
/* 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);
|
||||
+ 1, E820_RAM);
|
||||
regs.u.r32.ebx = 0;
|
||||
break;
|
||||
default: /* AX=E820, DX=534D4150, BX unrecognized */
|
||||
|
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: rombios.h,v 1.9 2009-01-26 09:21:00 vruppert Exp $
|
||||
// $Id: rombios.h,v 1.10 2009-12-21 08:08:24 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2006 Volker Ruppert
|
||||
@ -61,8 +61,12 @@
|
||||
// Define the application NAME
|
||||
#if defined(BX_QEMU)
|
||||
# define BX_APPNAME "QEMU"
|
||||
#elif defined(PLEX86)
|
||||
# define BX_APPNAME "Plex86"
|
||||
#else
|
||||
# define BX_APPNAME "Bochs"
|
||||
#endif
|
||||
|
||||
#define E820_RAM 1
|
||||
#define E820_RESERVED 2
|
||||
#define E820_ACPI 3
|
||||
#define E820_NVS 4
|
||||
#define E820_UNUSABLE 5
|
||||
|
Loading…
x
Reference in New Issue
Block a user