summaryrefslogtreecommitdiff
path: root/Board/EM/SMBIOS/SMBiosStaticData/Smbhdr.equ
blob: 979a0d98e990b500714266859e817bc7177a6fc4 (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
	ECHO	--Including: SMBHDR.EQU

; Inclusion guard
IFNDEF	_smbhdr_equ_
_smbhdr_equ_	EQU	1

;----------------------------------------------------------------------------
; Do not change any structure definition unless otherwise specified
;----------------------------------------------------------------------------

;****************************************************************************
;****************************************************************************
;**                                                                        **
;**           (C)Copyright 1985-2009, American Megatrends, Inc.            **
;**                                                                        **
;**                          All Rights Reserved.                          **
;**                                                                        **
;**            5555 Oakbrook Pkwy, Suite 200, Norcross, GA 30093           **
;**                                                                        **
;**                          Phone: (770)-246-8600                         **
;**                                                                        **
;****************************************************************************
;****************************************************************************

;****************************************************************************
; $Header: /Alaska/BIN/Modules/SMBIOS/SmbiosStaticData/Smbhdr.equ 4     6/02/09 4:47p Davidd $
;
; $Revision: 4 $
;
; $Date: 6/02/09 4:47p $
;****************************************************************************
; Revision History
; ----------------
; $Log: /Alaska/BIN/Modules/SMBIOS/SmbiosStaticData/Smbhdr.equ $
; 
; 4     6/02/09 4:47p Davidd
; Updated AMI headers (EIP 22180)
; 
; 3     4/13/07 11:33a Davidd
; Updated the year in the top and bottom copyright headers.
; 
; 2     12/15/06 5:34p Davidd
; Code cleanup and reformatted to coding  standard.
;
; 1     4/29/05 2:15p Davidd
; Initial checkin.
;
;****************************************************************************

;----------------------------------------------------------------------------
;               This release implements SMBIOS 2.4 specification
;----------------------------------------------------------------------------
SMBIOS_VERSION          EQU     24h     ; 2.4
SMBIOS_MAJOR_VERSION    EQU     02h     ; Major Version 2
SMBIOS_MINOR_VERSION    EQU     04h     ; Minor Version 4

;----------------------------------------------------------------------------
;			OEM GPNV STRUCTURE INFORMATION
;----------------------------------------------------------------------------
MAX_MEMORY_GPNV_DATAID	EQU	08h	; max #of dataid in memory mapped GPNV
MAX_IO_GPNV_DATAID	EQU	08h	; max #of dataid in io mapped GPNV

;----------------------------------------------------------------------------
;			EVENT LOG INFORMATION
;----------------------------------------------------------------------------
IFDEF	MKF_EVENTLOG_VERSION
        NO_OF_SUPPORTED_EVENTS          EQU MKF_NO_OF_SUPPORTED_EVENTS
ELSE
        NO_OF_SUPPORTED_EVENTS          EQU 06h
        LENGTH_OF_EACH_LOG_TYPE_DESC    EQU 02h
ENDIF	; MKF_EVENTLOG_VERSION
;----------------------------------------------------------------------------

;----------------------------------------------------------------------------
;	HEADER OF SMBIOS DATA MODULE
;----------------------------------------------------------------------------
SMBDataModuleHeaderSTRUC	STRUC
        bSignature              BYTE 8 DUP(?)   ; _AMIDMI_ signature
        wSMBIOSVer              WORD    ?       ; SMBIOS Spec Ver#
        wAMIImplementationVer   WORD    ?       ; AMI Implementation Ver#
        bConfigurationInfo      BYTE    ?       ; total #of configuration supported (1-based)
        wLength                 WORD    ?       ; length of data module
        bReserved               BYTE    ?       ; reserved
SMBDataModuleHeaderSTRUC	ENDS

;----------------------------------------------------------------------------
;	SMBIOSInfo Details
;----------------------------------------------------------------------------
smbios_runtime_bit		EQU	00000001b; 0 = SMBIOS POST active
						 ; 1 = SMBIOS Runtime active
smbios_gpnv_data_bit		EQU	00000010b; 0 = SMBIOS data in GPNV not changed
						 ; 1 = SMBIOS data in GPNV modified
						 ; bit15-2....NOT USED

;----------------------------------------------------------------------------
;	SMBIOS INTERNAL DATA STRUCTURE
;----------------------------------------------------------------------------
SMBInternalDataSTRUC                    STRUC
        dSMBStorageBase                 DWORD   ?       ; memory mapped storage base
        dSMBStorageSize                 DWORD   ?       ; memory mapped storage size
        wSMBNumRuntimeStruc             WORD    ?       ; #of valid runtime structures
        wSMBNumRomStruc                 WORD    ?       ; #of structures in ROM
        wSMBRomStructuresLength         WORD    ?       ; total length of all ROM structures
        wSMBStructuresSegment           WORD    ?       ; Segment of the data structures in RAM
        wSMBStructuresStart             WORD    ?       ; start of data structures in RAM
        wSMBCurrentStructuresEnd        WORD    ?       ; end of current data structures in RAM + 1
        wSMBAvailableStructuresEnd      WORD    ?       ; end of space available for structures + 1
        wCPUInternalClock               WORD    ?       ; CPU internal clock
        wExternalClock                  WORD    ?       ; CPU Bus clock
SMBInternalDataSTRUC                    ENDS

;----------------------------------------------------------------------------
;	SMBIOS INSTALLATION STRUCTURE
;----------------------------------------------------------------------------
SMBTableHeaderSTRUC             STRUCT
        bAnchorStr              BYTE    4 DUP (?)
        bChecksum               BYTE    ?
        bLength                 BYTE    ?
        bMajorVer               BYTE    ?
        bMinorVer               BYTE    ?
        wMaxStrucSize           WORD    ?
        bRevision               BYTE    ?
        bFormattedArea          BYTE    5 DUP (?)
        bIntAnchorStr           BYTE    5 DUP (?)
        bIntChecksum            BYTE    ?
        wStrucTblLen            WORD    ?
        dStrucTblAddr           DWORD   ?
        wNumSMBStruc            WORD    ?
        bSMBRevision            BYTE    ?
SMBTableHeaderSTRUC             ENDS

;----------------------------------------------------------------------------
;	STRUCTURE OF DATA BUFFER IN SMBIOS FUNCTION 52H
;----------------------------------------------------------------------------
SMBIOSFun52BufferSTRUC          STRUC
	bCommand		BYTE	?
	bFieldOffset		BYTE	?
	dChangeMask		DWORD	?
	dChangeValue		DWORD	?
	wDataLength		WORD	?
	dStructureHeader	DWORD	?
	bStructureData		BYTE	?
SMBIOSFun52BufferSTRUC          ENDS

;----------------------------------------------------------------------------
;	STRUCTURE OF DATA BUFFER IN SMBIOS FUNCTION 53H
;----------------------------------------------------------------------------
SMBIOSFun53BufferSTRUC          STRUC
	bChangeStatus		BYTE	?
	bChangeType		BYTE	?
	wChangeHandle		WORD	?
	bChangeReserved		BYTE	12 DUP (?)
SMBIOSFun53BufferSTRUC          ENDS

;----------------------------------------------------------------------------
;	STRUCTURE USED IN FUNC 52H
;----------------------------------------------------------------------------
F52_FIELD_ABSENT	EQU	0FFh	; absent field
F52_STRING_DATA_TYPE	EQU	80h	; bit-7 = 1..string data type
					;	  0..binary data
F52_ONE_TIME_MODIFIABLE	 = 	40h	; bit-6 = 1..one time modifiable
					;	  0..modifiable always
F52_BYTE		EQU	01h	; length of a BYTE data
F52_WORD		EQU	02h	; length of a WORD data
F52_DWORD		EQU	04h	; length of a DWORD data
F52_STATUS_MODIFIED	EQU	01h	; bit-0 = 1..this field is not modifiable any more
					; bit7-1= reserved for future use

;<AMI_SHDR_START>
;----------------------------------------------------------------------------
; Name:		ModificationHeaderSTRUC
;
; Fields:	Name		Type	Description
;		-------------------------------------------------------------
;		wLength		WORD	length of the information in BYTEs
;					including this word
;		bType		BYTE	SMBIOS structure type
;
; Description:
;
;----------------------------------------------------------------------------
;<AMI_SHDR_END>

ModificationHeaderSTRUC         STRUC

        wLength                 WORD    ?
        bType                   BYTE    ?               ; structure type

ModificationHeaderSTRUC         ENDS

;<AMI_SHDR_START>
;----------------------------------------------------------------------------
; Name:		ModificationKeyFieldSTRUC
;
; Fields:	Name		Type	Description
;		-------------------------------------------------------------
;		bOffset		BYTE	offset of the key-field inside the structure
;  				        FF -> there is no key-field
;		bType		BYTE	Data Type
;					Bit-7 = 0..Binary Data
;						1..String Data
;					Bit-6 = 0..modifiable always
;					        1..One time modifiable
;					Bit5-0= reserved for future use
;		bLength		BYTE	Data Length in Bytes
;  					Bit7-0= data length in BYTEs
; Description:
;
;----------------------------------------------------------------------------
;<AMI_SHDR_END>

ModificationKeyFieldSTRUC	STRUC

        bOffset                 BYTE    ?               ; offset of the key-field inside the structure
                                                        ; FF -> there is no key-field
        bType                   BYTE    ?               ; Data Type
                                                        ; Bit-7 = 0..Binary Data
                                                        ;         1..String Data
                                                        ; Bit-6 = 0..modifiable always
                                                        ;         1..One time modifiable
                                                        ; Bit5-0= reserved for future use
        bLength                 BYTE    ?               ; Data Length in Bytes
                                                        ; Bit7-0= data length in BYTEs

ModificationKeyFieldSTRUC	ENDS

;<AMI_SHDR_START>
;----------------------------------------------------------------------------
; Name:		ModificationFieldSTRUC
;
; Fields:	Name		Type	Description
;		-------------------------------------------------------------
;		bOffset		BYTE	offset of the key-field inside the structure
;  				        FF -> there is no key-field
;		bType		BYTE	Data Type
;					Bit-7 = 0..Binary Data
;						1..String Data
;					Bit-6 = 0..modifiable always
;					        1..One time modifiable
;					Bit5-0= reserved for future use
;		bLength		BYTE	Data Length in Bytes
;  					Bit7-0= data length in BYTEs
;		bStatus		BYTE	Status of the field
; Description:
;
;----------------------------------------------------------------------------
;<AMI_SHDR_END>

ModificationFieldSTRUC          STRUC

        bOffset                 BYTE    ?       ; offset of the key-field inside the structure
                                                ; FF -> there is no key-field
        bType                   BYTE    ?       ; Data Type
                                                ; Bit-7 = 0..Binary Data
                                                ;         1..String Data
                                                ; Bit-6 = 0..modifiable always
                                                ;         1..One time modifiable
                                                ; Bit5-0= reserved for future use
        bLength                 BYTE    ?       ; Data Length in Bytes
                                                ; Bit7-0= data length in BYTEs
        bStatus                 BYTE    ?       ; status of this field

ModificationFieldSTRUC          ENDS

;----------------------------------------------------------------------------
;	EQUATES USED IN SMBIOS FUNCTION 53H
;----------------------------------------------------------------------------
; equates used in SMBIOS Change Status
SMBIOS_NO_CHANGE			EQU	00h ; 00h..SMBIOS No Change
SMBIOS_OTHER_CHANGE			EQU	01h ; 01h..SMBIOS Other Change
SMBIOS_UNKNOWN_CHANGE			EQU	02h ; 02h..SMBIOS Unknown Change
SMBIOS_SINGLE_STRUCTURE_AFFECTED 	EQU	03h ; 03h..SMBIOS Single Structure Affected
SMBIOS_MULTIPLE_STRUCTURE_AFFECTED	EQU	04h ; 04h..SMBIOS Multiple Structure Affected

; equates used in SMBIOS Change Type
SMBIOS_ONE_MORE_STRUCTURE_CHANGED	EQU	00000001b ; Bit-0 = 1, One/More Structure was changed
SMBIOS_ONE_MORE_STRUCTURE_ADDED		EQU	00000010b ; Bit-1 = 1, One/More Structure was added
						 	  ; Bit7-2.....Reserved

;----------------------------------------------------------------------------
; End of Inclusion guard
ENDIF	;_smbhdr_equ_
;----------------------------------------------------------------------------

;****************************************************************************
;****************************************************************************
;**                                                                        **
;**           (C)Copyright 1985-2009, American Megatrends, Inc.            **
;**                                                                        **
;**                          All Rights Reserved.                          **
;**                                                                        **
;**            5555 Oakbrook Pkwy, Suite 200, Norcross, GA 30093           **
;**                                                                        **
;**                          Phone: (770)-246-8600                         **
;**                                                                        **
;****************************************************************************
;****************************************************************************