|
|
1.1 root 1: /******************************************************************************
2: * Copyright (c) 2004, 2008 IBM Corporation
3: * All rights reserved.
4: * This program and the accompanying materials
5: * are made available under the terms of the BSD License
6: * which accompanies this distribution, and is available at
7: * http://www.opensource.org/licenses/bsd-license.php
8: *
9: * Contributors:
10: * IBM Corporation - initial implementation
11: *****************************************************************************/
12:
13: #ifndef _BIOSEMU_BIOSEMU_H_
14: #define _BIOSEMU_BIOSEMU_H_
15:
16: #define MIN_REQUIRED_VMEM_SIZE 0x100000 // 1MB
17:
18: //define default segments for different components
19: #define STACK_SEGMENT 0x1000 //1000:xxxx
20: #define STACK_START_OFFSET 0xfffe
21:
22: #define DATA_SEGMENT 0x2000
23: #define VBE_SEGMENT 0x3000
24:
25: #define PMM_CONV_SEGMENT 0x4000 // 4000:xxxx is PMM conventional memory area, extended memory area
26: // will be anything beyound MIN_REQUIRED_MEMORY_SIZE
27: #define PNP_DATA_SEGMENT 0x5000
28:
29: #define OPTION_ROM_CODE_SEGMENT 0xc000
30:
31: #define BIOS_DATA_SEGMENT 0xF000
32: // both EBDA values are _initial_ values, they may (and will be) changed at runtime by option ROMs!!
33: #define INITIAL_EBDA_SEGMENT 0xF600 // segment of the Extended BIOS Data Area
34: #define INITIAL_EBDA_SIZE 0x400 // size of the EBDA (at least 1KB!! since size is stored in KB!)
35:
36: #define PMM_INT_NUM 0xFC // we misuse INT FC for PMM functionality, at the PMM Entry Point
37: // Address, there will only be a call to this INT and a RETF
38: #define PNP_INT_NUM 0xFD
39:
40: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.