BIOS updates by Sebastian
This commit is contained in:
parent
26c7abf988
commit
9070f65d32
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: rombios.c,v 1.244 2010-01-18 20:04:44 sshwarts Exp $
|
||||
// $Id: rombios.c,v 1.245 2010-02-01 21:05:42 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2002 MandrakeSoft S.A.
|
||||
@ -124,65 +124,6 @@
|
||||
|
||||
#include "rombios.h"
|
||||
|
||||
#define DEBUG_ATA 0
|
||||
#define DEBUG_INT13_HD 0
|
||||
#define DEBUG_INT13_CD 0
|
||||
#define DEBUG_INT13_ET 0
|
||||
#define DEBUG_INT13_FL 0
|
||||
#define DEBUG_INT15 0
|
||||
#define DEBUG_INT16 0
|
||||
#define DEBUG_INT1A 0
|
||||
#define DEBUG_INT74 0
|
||||
#define DEBUG_APM 0
|
||||
|
||||
#define BX_CPU 3
|
||||
#define BX_USE_PS2_MOUSE 1
|
||||
#define BX_CALL_INT15_4F 1
|
||||
#define BX_USE_EBDA 1
|
||||
#define BX_SUPPORT_FLOPPY 1
|
||||
#define BX_FLOPPY_ON_CNT 37 /* 2 seconds */
|
||||
#define BX_PCIBIOS 1
|
||||
#define BX_APM 1
|
||||
#define BX_PNPBIOS 1
|
||||
|
||||
#define BX_USE_ATADRV 1
|
||||
#define BX_ELTORITO_BOOT 1
|
||||
|
||||
#define BX_MAX_ATA_INTERFACES 4
|
||||
#define BX_MAX_ATA_DEVICES (BX_MAX_ATA_INTERFACES*2)
|
||||
|
||||
#define BX_VIRTUAL_PORTS 1 /* normal output to Bochs ports */
|
||||
#define BX_DEBUG_SERIAL 0 /* output to COM1 */
|
||||
|
||||
/* model byte 0xFC = AT */
|
||||
#define SYS_MODEL_ID 0xFC
|
||||
#define SYS_SUBMODEL_ID 0x00
|
||||
#define BIOS_REVISION 1
|
||||
#define BIOS_CONFIG_TABLE 0xe6f5
|
||||
|
||||
#ifndef BIOS_BUILD_DATE
|
||||
# define BIOS_BUILD_DATE "06/23/99"
|
||||
#endif
|
||||
|
||||
// 1K of base memory used for Extended Bios Data Area (EBDA)
|
||||
// EBDA is used for PS/2 mouse support, and IDE BIOS, etc.
|
||||
#define EBDA_SEG 0x9FC0
|
||||
#define EBDA_SIZE 1 // In KiB
|
||||
#define BASE_MEM_IN_K (640 - EBDA_SIZE)
|
||||
|
||||
/* IPL_SIZE bytes at 0x9ff00 are used for the IPL boot table. */
|
||||
#define IPL_SEG 0x9ff0
|
||||
#define IPL_TABLE_OFFSET 0x0000
|
||||
#define IPL_TABLE_ENTRIES 8
|
||||
#define IPL_COUNT_OFFSET 0x0080 /* u16: number of valid table entries */
|
||||
#define IPL_SEQUENCE_OFFSET 0x0082 /* u16: next boot device */
|
||||
#define IPL_BOOTFIRST_OFFSET 0x0084 /* u16: user selected device */
|
||||
#define IPL_SIZE 0x86
|
||||
#define IPL_TYPE_FLOPPY 0x01
|
||||
#define IPL_TYPE_HARDDISK 0x02
|
||||
#define IPL_TYPE_CDROM 0x03
|
||||
#define IPL_TYPE_BEV 0x80
|
||||
|
||||
// Sanity Checks
|
||||
#if BX_CPU<3
|
||||
# error Only 386+ cpu supported
|
||||
@ -928,7 +869,7 @@ Bit16u cdrom_boot();
|
||||
|
||||
#endif // BX_ELTORITO_BOOT
|
||||
|
||||
static char bios_cvs_version_string[] = "$Revision: 1.244 $ $Date: 2010-01-18 20:04:44 $";
|
||||
static char bios_cvs_version_string[] = "$Revision: 1.245 $ $Date: 2010-02-01 21:05:42 $";
|
||||
|
||||
#define BIOS_COPYRIGHT_STRING "(c) 2002 MandrakeSoft S.A. Written by Kevin Lawton & the Bochs team."
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: rombios.h,v 1.13 2010-01-29 20:57:07 sshwarts Exp $
|
||||
// $Id: rombios.h,v 1.14 2010-02-01 21:05:42 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2006 Volker Ruppert
|
||||
@ -26,7 +26,18 @@
|
||||
#else
|
||||
# define BX_ROMBIOS32 0
|
||||
#endif
|
||||
|
||||
#define DEBUG_ROMBIOS 0
|
||||
#define DEBUG_ATA 0
|
||||
#define DEBUG_INT13_HD 0
|
||||
#define DEBUG_INT13_CD 0
|
||||
#define DEBUG_INT13_ET 0
|
||||
#define DEBUG_INT13_FL 0
|
||||
#define DEBUG_INT15 0
|
||||
#define DEBUG_INT16 0
|
||||
#define DEBUG_INT1A 0
|
||||
#define DEBUG_INT74 0
|
||||
#define DEBUG_APM 0
|
||||
|
||||
#define PANIC_PORT 0x400
|
||||
#define PANIC_PORT2 0x401
|
||||
@ -77,3 +88,51 @@
|
||||
#define E820_ACPI 3
|
||||
#define E820_NVS 4
|
||||
#define E820_UNUSABLE 5
|
||||
|
||||
#define BX_CPU 3
|
||||
#define BX_USE_PS2_MOUSE 1
|
||||
#define BX_CALL_INT15_4F 1
|
||||
#define BX_USE_EBDA 1
|
||||
#define BX_SUPPORT_FLOPPY 1
|
||||
#define BX_FLOPPY_ON_CNT 37 /* 2 seconds */
|
||||
#define BX_PCIBIOS 1
|
||||
#define BX_APM 1
|
||||
#define BX_PNPBIOS 1
|
||||
|
||||
#define BX_USE_ATADRV 1
|
||||
#define BX_ELTORITO_BOOT 1
|
||||
|
||||
#define BX_MAX_ATA_INTERFACES 4
|
||||
#define BX_MAX_ATA_DEVICES (BX_MAX_ATA_INTERFACES*2)
|
||||
|
||||
#define BX_VIRTUAL_PORTS 1 /* normal output to Bochs ports */
|
||||
#define BX_DEBUG_SERIAL 0 /* output to COM1 */
|
||||
|
||||
/* model byte 0xFC = AT */
|
||||
#define SYS_MODEL_ID 0xFC
|
||||
#define SYS_SUBMODEL_ID 0x00
|
||||
#define BIOS_REVISION 1
|
||||
#define BIOS_CONFIG_TABLE 0xe6f5
|
||||
|
||||
#ifndef BIOS_BUILD_DATE
|
||||
# define BIOS_BUILD_DATE "06/23/99"
|
||||
#endif
|
||||
|
||||
// 1K of base memory used for Extended Bios Data Area (EBDA)
|
||||
// EBDA is used for PS/2 mouse support, and IDE BIOS, etc.
|
||||
#define EBDA_SEG 0x9FC0
|
||||
#define EBDA_SIZE 1 // In KiB
|
||||
#define BASE_MEM_IN_K (640 - EBDA_SIZE)
|
||||
|
||||
/* IPL_SIZE bytes at 0x9ff00 are used for the IPL boot table. */
|
||||
#define IPL_SEG 0x9ff0
|
||||
#define IPL_TABLE_OFFSET 0x0000
|
||||
#define IPL_TABLE_ENTRIES 8
|
||||
#define IPL_COUNT_OFFSET 0x0080 /* u16: number of valid table entries */
|
||||
#define IPL_SEQUENCE_OFFSET 0x0082 /* u16: next boot device */
|
||||
#define IPL_BOOTFIRST_OFFSET 0x0084 /* u16: user selected device */
|
||||
#define IPL_SIZE 0x86
|
||||
#define IPL_TYPE_FLOPPY 0x01
|
||||
#define IPL_TYPE_HARDDISK 0x02
|
||||
#define IPL_TYPE_CDROM 0x03
|
||||
#define IPL_TYPE_BEV 0x80
|
||||
|
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: rombios32.c,v 1.66 2010-01-29 21:09:38 sshwarts Exp $
|
||||
// $Id: rombios32.c,v 1.67 2010-02-01 21:05:42 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// 32 bit Bochs BIOS init code
|
||||
@ -1958,8 +1958,32 @@ smbios_type_0_init(void *start)
|
||||
p->bios_rom_size = 1; /* 128 kB */
|
||||
|
||||
memset(p->bios_characteristics, 0, 8);
|
||||
p->bios_characteristics[0] = 0x08; /* BIOS characteristics not supported */
|
||||
p->bios_characteristics_extension_bytes[0] = 0;
|
||||
p->bios_characteristics[0] |= 1 << 4; /* Bit 4 - ISA is supported */
|
||||
#if BX_PCIBIOS
|
||||
p->bios_characteristics[0] |= 1 << 7; /* Bit 7 - PCI is supported */
|
||||
#endif
|
||||
#if BX_APM
|
||||
p->bios_characteristics[1] |= 1 << 2; /* Bit 10 - APM is supported */
|
||||
#endif
|
||||
p->bios_characteristics[1] |= 1 << 3; /* Bit 11 - BIOS is Upgradeable (Flash) */
|
||||
p->bios_characteristics[1] |= 1 << 4; /* Bit 12 - BIOS shadowing is allowed */
|
||||
#if BX_ELTORITO_BOOT && BX_USE_ATADRV
|
||||
p->bios_characteristics[1] |= 1 << 7; /* Bit 15 - Boot from CD is supported */
|
||||
p->bios_characteristics[2] |= 1 << 0; /* Bit 16 - Selectable Boot is supported */
|
||||
#endif
|
||||
#if BX_USE_ATADRV
|
||||
p->bios_characteristics[2] |= 1 << 3; /* Bit 19 - EDD (Enhanced Disk Drive) Specification is supported */
|
||||
#endif
|
||||
#if BX_SUPPORT_FLOPPY
|
||||
p->bios_characteristics[2] |= 1 << 6; /* Bit 22 - Int 13h - 5.25" / 360 KB Floppy Services are supported */
|
||||
p->bios_characteristics[2] |= 1 << 7; /* Bit 23 - Int 13h - 5.25" / 1.2 MB Floppy Services are supported */
|
||||
p->bios_characteristics[3] |= 1 << 0; /* Bit 24 - Int 13h - 3.5" / 720 KB Floppy Services are supported */
|
||||
p->bios_characteristics[3] |= 1 << 1; /* Bit 25 - Int 13h - 3.5" / 2.88 MB Floppy Services are supported */
|
||||
#endif
|
||||
p->bios_characteristics[3] |= 1 << 3; /* Bit 27 - Int 9h, 8042 Keyboard services are supported */
|
||||
p->bios_characteristics[3] |= 1 << 4; /* Bit 28 - Int 14h, Serial Services are supported */
|
||||
p->bios_characteristics[3] |= 1 << 5; /* Bit 29 - Int 17h, Printer Services are supported */
|
||||
p->bios_characteristics_extension_bytes[0] = 1; /* Bit 0 - ACPI supported */
|
||||
p->bios_characteristics_extension_bytes[1] = 0;
|
||||
|
||||
p->system_bios_major_release = 1;
|
||||
|
Loading…
x
Reference in New Issue
Block a user