summaryrefslogtreecommitdiff
path: root/Board/EM/Csm/csm.sdl
blob: 35261358edb3ba5dba8289ab853dd54221b5cdf4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
TOKEN
	Name  = "CSM_SUPPORT"
	Value  = "1"
	Help  = "Main switch to enable AMI CSM support in Project"
	TokenType = Boolean
	TargetEQU = Yes
	TargetMAK = Yes
	TargetH = Yes
	Master = Yes
End

TOKEN
	Name  = "CSM16_VERSION_MAJOR"
	Value  = "7"
	Help  = "CSM16 major version"
	TokenType = Integer
	TargetMAK = Yes
	TargetH = Yes
End

TOKEN
	Name  = "CSM16_VERSION_MINOR"
	Value  = "78"
	Help  = "CSM16 minor version"
	TokenType = Integer
	TargetMAK = Yes
	TargetH = Yes
End

TOKEN
	Name  = "CSM_VERSION_BUILD"
	Value  = "82"
	Help  = "CSM module build version"
	TokenType = Integer
	TargetMAK = Yes
	TargetH = Yes
End

TOKEN
	Name  = "PCI_ROMS_OUTSIDE_CSM"
	Value  = "0"
	Help  = "PCI ROMs for onboard PCI devices are not included in CSM.FFS; FindEmbeddedRom locates a protocol to find them.\NOTE: this is a temporary token, it will be needed until PCI ROM loading capability is included in the CORE label. After this checking can be replaced with checking for CORE version."
	TokenType = Boolean
	TargetMAK = Yes
	TargetH = Yes
End

TOKEN
	Name  = "AGGRESSIVELY_JOINED_E820_ENTRIES"
	Value  = "0"
	Help  = "Turning on this flag would allow only one Type2 memory region above 1MB.\This reduces the total number of E820 entries and could be critical for some OSes that do not tolerate too many E820 entries (FreeBSD 6.0).\Note: when flag is turned on, some memory regions that are available will be declared reserved so OS gets less memory."
	TokenType = Boolean
	TargetH = Yes
End

TOKEN
	Name  = "PMM_EBDA_LOMEM_SIZE"
	Value  = "0x60000"
	Help  = "Amount of memory below 1MB in bytes to be allocated for EBDA and PMM. This size should be a multiple of 32K.\Value should not exceed 512 KB, the remaining part of 640K will be given to IVT, BDA, non-BBS compliant OpROMs. It can also be allocated by other EFI drivers, used for PCI3.0 OpROM execution, etc.\Recommended value is 128 KB."
	TokenType = Integer
	TargetH = Yes
End

TOKEN
	Name  = "PMM_LOMEM_SIZE"
	Value  = "0x30000"
	Help  = "The total amount of memory below 1MB available for PMM allocations, in bytes. This size should be a multiple of 32K.\Value should not exceed PMM_EBDA_LOMEM_SIZE as the remaining part of it will be given for EBDA."
	TokenType = Integer
	TargetH = Yes
End

TOKEN
	Name  = "PMM_HIMEM_SIZE"
	Value  = "0x9600000"
	Help  = "PMM area size in bytes above 1MB to be allocated in bytes; this size should 64K aligned."
	TokenType = Integer
	TargetH = Yes
End

TOKEN
	Name  = "LEGACY_TO_EFI_DEFAULT"
	Value  = "0"
	Help  = "Default setting for legacy to EFI feature.\Enabled: legacy boot options can be mixed with UEFI. Disabled: if legacy boot fails, next boot attempts are limited to legacy devices only - no UEFI boot will be tried."
	TokenType = Boolean
	TargetH = Yes
End

TOKEN
	Name  = "LEGACY_TO_EFI_BOOT_BUFFER_SIZE"
	Value  = "0x300000"
	Help  = "Size of buffer used to save memory context before legacy boot."
	TokenType = Integer
	TargetEQU = Yes
	TargetH = Yes
End

TOKEN
	Name  = "OPROM_MAX_ADDRESS"
	Value  = "0xE7FFF"
	Help  = "The last address that can be used by Option ROM."
	TokenType = Integer
	TargetEQU = Yes
	TargetH = Yes
	Range  = "0xC7FFF...0xEBFFF"
End

TOKEN
	Name  = "SKIP_EARLY_BCV_DEVICES"
	Value  = "{0x3f20105a}"
	Help  = "List of VID/DIDs (combined to DWORD) that may affect POST if BCV is executed immediately after Option ROM initialization. Separate with commas.\To force skipping ALL BCVs put 0xFFFFFFFF in the beginning of the list."
	TokenType = Expression
	TargetH = Yes
End

TOKEN
	Name  = "INT15_D042_SWSMI"
	Value  = "0x44"
	Help  = "SW SMI value to be used in INT15 func D042"
	TokenType = Integer
	TargetH = Yes
	Range  = "0...0FFh"
End

TOKEN
	Name  = "USB_SWSMI"
	Value  = "0x31"
	Help  = "SW SMI value to be used in legacy USB"
	TokenType = Integer
	TargetH = Yes
	Range  = "0...0FFh"
End

TOKEN
	Name  = "CSM_SET_ZIP_EMULATION_TYPE"
	Value  = "0"
	Help  = "Enable this token to see the option of ZIP drive emulation selection in the Setup."
	TokenType = Boolean
	TargetH = Yes
End

TOKEN
	Name  = "FLEXBOOT"
	Value  = "0"
	Help  = "0 - Boot devices are grouped by the device type\1 - Flat list boot devices implementation."
	TokenType = Integer
	TargetH = Yes
End

TOKEN
	Name  = "CSM_CREATES_ATA_ATAPI_STRINGS"
	Value  = "1"
	Help  = "If set, CSM module will produce the names for ATA/ATAPI devices; if reset, names come from TSE."
	TokenType = Boolean
	TargetH = Yes
End

TOKEN
	Name  = "PXE_BASECODE_ROM"
	Value  = "0"
	Help  = "Enable/disable PXE base code.\Enable it for the projects that have splitted PXE ROMs. Note that the other part of the PXE - UNDI - will be included as PCI Option ROM.\"
	TokenType = Boolean
	TargetMAK = Yes
End

TOKEN
	Name  = "MAX_ADDITIONAL_P2P_BRIDGES"
	Value  = "32"
	Help  = "The number of P2P bridges that can be processed in addition to the ones defined in BusNumXlat.INC."
	TokenType = Integer
	TargetH = Yes
	Range  = "1...0FFh"
End

TOKEN
	Name  = "INTERRUPTS_TO_PRESERVE"
	Value  = "{0x13, 0x40, 0x08}"
	Help  = "List of interrupts to be saved after CSM Init call and restored before LegacyBoot.\The default list is defined in CSM.SDL and contains three interrups: int13, int15, and int40."
	TokenType = Expression
	TargetH = Yes
End

TOKEN
	Name  = "CSM_DEFAULT_VMODE_SWITCHING"
	Value  = "0"
	Help  = "0 - switch video mode from graphics to text before executing the Option ROM, switch back to graphics afterwards\1 - use text mode during all Option ROMs execution time, no video mode switching during this time frame."
	TokenType = Integer
	TargetH = Yes
	Range  = "0...1"
End

TOKEN
    Name  = "CSM_ALLOW_LARGE_OPROMS"
    Value  = "0"
    Help  = "Enabling this switch allows CSM to load and execute legacy Option ROMs larger than 128K. If enabled, the >128KB size will be taken from PCIR structure, not from ROM header."
    TokenType = Boolean
    TargetH = Yes
End

TOKEN
	Name  = "PXE_BASECODE_ROM_FILE"
	Value  = "AddOn\Pxebase.lom"
	Help  = "PXE base code ROM file."
	TokenType = File
	TargetMAK = Yes
	Token = "PXE_BASECODE_ROM" "=" "1"
End

TOKEN
	Name  = "AMILEGACY16_BIN"
	Value  = "addon\amilegacy16.bin"
	TokenType = Expression
	TargetMAK = Yes
End

PATH
	Name  = "CSMCORE_DIR"
	Path  = "core\em\csm"
	Help  = "AMI CSM Core files source directory"
End

PATH
	Name  = "CSMBOARD_DIR"
End

TOKEN
	Name  = "CSM_VGA_64BITBAR_WORKAROUND"
	Value  = "0"
	Help  = "VBE is limited to 32 bit for an address of Video Linear Buffer.\If this token is on, the code will attempt to build the correct 64-bit linear buffer address."
	TokenType = Boolean
	TargetH = Yes
End

PATH
	Name  = "X86THUNK_DIR"
	Path  = "core\em\csm\thunk\x86"
	Help  = "x86 thunk files source directory"
End

PATH
	Name  = "CSM_SETUP_DIR"
End

MODULE
	Help  = "Includes csm.mak into project"
	Path  = "$(CSMCORE_DIR)"
	File  = "csm.mak"
End

MODULE
	Help  = "Includes x86Thunk.mak into project"
	Path  = "$(X86THUNK_DIR)"
	File  = "x86thunk.mak"
End

ELINK
	Name  = "$(BUILD_DIR)\csm.sdb"
	Parent  = "SETUP_SDBS"
	Priority  = 30
	InvokeOrder = AfterParent
End

ELINK
	Name  = "$(CSM_SETUP_DIR)\csm.sd"
	Parent  = "SETUP_DEFINITIONS"
	Priority  = 30
	InvokeOrder = AfterParent
End

ELINK
	Name  = "$(BUILD_DIR)\csmcore.ffs"
	Parent  = "FV_MAIN"
	InvokeOrder = AfterParent
End

ELINK
	Name  = "$(BUILD_DIR)\x86thunk.ffs"
	Parent  = "FV_MAIN"
	InvokeOrder = AfterParent
End

ELINK
	Name  = "OEM_SERVICE_ROM_LIST"
	InvokeOrder = ReplaceParent
End

ELINK
	Name  = "CSM_CUSTOM_INFS"
	InvokeOrder = ReplaceParent
End

ELINK
	Name  = "InitCsmStrings,"
	Parent  = "SetupStringInit"
	InvokeOrder = AfterParent
End

ELINK
    Name = "CSM_GET_OPROM_VIDEO_SWITCHING_MODE_FUNCTIONS"
    InvokeOrder = ReplaceParent
End

ELINK
    Name = "CSM_GET_CUSTOM_PCI_PIRQ_MASK_FUNCTIONS"
    InvokeOrder = ReplaceParent
End

ELINK
    Name = "CSM_GET_GATE_A20_INFORMATION_FUNCTIONS"
    InvokeOrder = ReplaceParent
End

ELINK
    Name = "CSM_GET_NMI_INFORMATION_FUNCTIONS"
    InvokeOrder = ReplaceParent
End

ELINK
    Name = "CSM_GET_OEM_INT_DATA_FUNCTIONS"
    InvokeOrder = ReplaceParent
End

ELINK
    Name = "CSM_GET_PLATFORM_HANDLE_FUNCTIONS"
    InvokeOrder = ReplaceParent
End

ELINK
    Name = "CSM_GET_PLATFORM_PCI_EMBEDDED_ROM_FUNCTIONS"
    InvokeOrder = ReplaceParent
End

ELINK
    Name = "CSM_GET_PLATFORM_EMBEDDED_ROM_FUNCTIONS"
    InvokeOrder = ReplaceParent
End

ELINK
    Name = "CSM_CHECK_OEM_PCI_SIBLINGS_FUNCTIONS"
    InvokeOrder = ReplaceParent
End

ELINK
    Name = "CSM_ENABLE_OEM_PCI_SIBLINGS_FUNCTIONS"
    InvokeOrder = ReplaceParent
End

ELINK
    Name = "CSM_GET_ROUTING_TABLE_FUNCTIONS"
    InvokeOrder = ReplaceParent
End

ELINK
    Name = "CSM_BSP_UPDATE_PRT_FUNCTIONS"
    InvokeOrder = ReplaceParent
End

ELINK
    Name = "CSM_BSP_PREPARE_TO_BOOT_FUNCTIONS"
    InvokeOrder = ReplaceParent
End

ELINK
    Name = "CSM_INIT_LEGACY_MEMORY_FUNCTIONS"
    InvokeOrder = ReplaceParent
End

ELINK
	Name  = "CSM_16_CALL_COMPANION_FUNCTIONS"
	InvokeOrder = ReplaceParent
End

TOKEN
  Name  = "ACPI_TIMER_IN_LEGACY_SUPPORT"
  Value  = "0"
  Help  = "Enable this token if ACPI timer needs to be used in AmiLegacy16 instead of 8254 timer for delay.\ If disabled 8254 timer will be used for creating delay."
  TokenType = Boolean
  TargetH = Yes
  Token = "ACPI_SUPPORT" "=" "1"
End