]>
Commit | Line | Data |
---|---|---|
bcecde14 | 1 | //// @file\r |
2 | //\r | |
3 | // Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>\r | |
4 | //\r | |
5 | // This program and the accompanying materials\r | |
6 | // are licensed and made available under the terms and conditions\r | |
7 | // of the BSD License which accompanies this distribution. The\r | |
8 | // full text of the license may be found at\r | |
9 | // http://opensource.org/licenses/bsd-license.php\r | |
10 | //\r | |
11 | // THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r | |
12 | // WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r | |
13 | //\r | |
14 | ////\r | |
15 | \r | |
16 | #define NUM_REAL_GDT_ENTRIES 3\r | |
17 | #define LOW_STACK_SIZE (8*1024) // 8k?\r | |
18 | \r | |
19 | //\r | |
20 | // Low memory Thunk Structure\r | |
21 | //\r | |
22 | #define Code 0\r | |
23 | #define LowReverseThunkStart Code + 4096\r | |
24 | #define GdtDesc LowReverseThunkStart + 4\r | |
25 | #define IdtDesc GdtDesc + 6\r | |
26 | #define FlatSs IdtDesc + 6\r | |
27 | #define FlatEsp FlatSs + 4\r | |
28 | #define LowCodeSelector FlatEsp + 4\r | |
29 | #define LowDataSelector LowCodeSelector + 4\r | |
30 | #define LowStack LowDataSelector + 4\r | |
31 | #define RealModeIdtDesc LowStack + 4\r | |
32 | #define RealModeGdt RealModeIdtDesc + 6\r | |
33 | #define RealModeGdtDesc RealModeGdt + (8 * NUM_REAL_GDT_ENTRIES)\r | |
34 | #define RevRealDs RealModeGdtDesc + 6\r | |
35 | #define RevRealSs RevRealDs + 2\r | |
36 | #define RevRealEsp RevRealSs + 2\r | |
37 | #define RevRealIdtDesc RevRealEsp + 4\r | |
38 | #define RevFlatDataSelector RevRealIdtDesc + 6\r | |
39 | #define RevFlatStack RevFlatDataSelector + 2\r | |
40 | #define Stack RevFlatStack + 4\r | |
41 | #define RevThunkStack Stack + LOW_STACK_SIZE\r | |
42 | \r | |
43 | #define EfiToLegacy16InitTable RevThunkStack + LOW_STACK_SIZE\r | |
44 | #define InitTableBiosLessThan1MB EfiToLegacy16InitTable\r | |
45 | #define InitTableHiPmmMemory InitTableBiosLessThan1MB + 4\r | |
46 | #define InitTablePmmMemorySizeInBytes InitTableHiPmmMemory + 4\r | |
47 | #define InitTableReverseThunkCallSegment InitTablePmmMemorySizeInBytes + 4\r | |
48 | #define InitTableReverseThunkCallOffset InitTableReverseThunkCallSegment + 2\r | |
49 | #define InitTableNumberE820Entries InitTableReverseThunkCallOffset + 2\r | |
50 | #define InitTableOsMemoryAbove1Mb InitTableNumberE820Entries + 4\r | |
51 | #define InitTableThunkStart InitTableOsMemoryAbove1Mb + 4\r | |
52 | #define InitTableThunkSizeInBytes InitTableThunkStart + 4\r | |
53 | #define InitTable16InitTableEnd InitTableThunkSizeInBytes + 4\r | |
54 | \r | |
55 | #define EfiToLegacy16BootTable InitTable16InitTableEnd\r | |
56 | #define BootTableBiosLessThan1MB EfiToLegacy16BootTable\r | |
57 | #define BootTableHiPmmMemory BootTableBiosLessThan1MB + 4\r | |
58 | #define BootTablePmmMemorySizeInBytes BootTableHiPmmMemory + 4\r | |
59 | #define BootTableReverseThunkCallSegment BootTablePmmMemorySizeInBytes + 4\r | |
60 | #define BootTableReverseThunkCallOffset BootTableReverseThunkCallSegment + 2\r | |
61 | #define BootTableNumberE820Entries BootTableReverseThunkCallOffset + 2\r | |
62 | #define BootTableOsMemoryAbove1Mb BootTableNumberE820Entries + 4\r | |
63 | #define BootTableThunkStart BootTableOsMemoryAbove1Mb + 4\r | |
64 | #define BootTableThunkSizeInBytes BootTableThunkStart + 4\r | |
65 | #define EfiToLegacy16BootTableEnd BootTableThunkSizeInBytes + 4\r | |
66 | \r | |
67 | #define InterruptRedirectionCode EfiToLegacy16BootTableEnd\r | |
68 | #define PciHandler InterruptRedirectionCode + 32\r | |
69 | \r | |
70 | \r | |
71 | //\r | |
72 | // Register Sets (16 Bit)\r | |
73 | //\r | |
74 | \r | |
75 | #define AX 0\r | |
76 | #define BX 2\r | |
77 | #define CX 4\r | |
78 | #define DX 6\r | |
79 | #define SI 8\r | |
80 | #define DI 10\r | |
81 | #define Flags 12\r | |
82 | #define ES 14\r | |
83 | #define CS 16\r | |
84 | #define SS 18\r | |
85 | #define DS 20\r | |
86 | #define BP 22\r | |
87 | \r | |
88 | \r | |
89 | \r |