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
|
;**********************************************************************
;**********************************************************************
;** **
;** (C)Copyright 1985-2009, American Megatrends, Inc. **
;** **
;** All Rights Reserved. **
;** **
;** 5555 Oakbrook Pkwy, Suite 200, Norcross, GA 30093 **
;** **
;** Phone: (770)-246-8600 **
;** **
;**********************************************************************
;**********************************************************************
; $Header: /Alaska/SOURCE/Modules/CMOS Manager/CMOS Core/CMOS Interfaces/CmosAccessSec.inc 7 12/04/09 7:32p Michaela $
;
; $Revision: 7 $
;
; $Date: 12/04/09 7:32p $
;
;****************************************************************************
; Revision History
; ----------------
; $Log: /Alaska/SOURCE/Modules/CMOS Manager/CMOS Core/CMOS Interfaces/CmosAccessSec.inc $
;
; 7 12/04/09 7:32p Michaela
;
; 6 9/17/09 10:03a Michaela
; updated jump macros for PE32 SEC binaries
;
; 5 7/29/09 9:58a Michaela
; updates Aptio Enhancement EIP 22205
; (no code changes)
;
; 4 7/23/09 2:28p Michaela
;
; 3 7/23/09 1:35p Michaela
; Fixed build issue related to PE32 binaries
;
; 2 6/02/09 3:27p Michaela
; For label: 4.6.3_CMOSMGR_11
;
; 1 11/25/08 3:33p Michaela
; Updates for Label 4.6.3_CMOSMGR_08
; - Assembly macro fixes
; - Added assembly macros
; - Moved loading defaults into DXE phase
; - Updated help file example
;
; 2 11/25/08 3:29p Michaela
; Updates for Label 4.6.3_CMOSMGR_08
; - Assembly macro fixes
; - Added assembly macros
; - Moved loading defaults into DXE phase
; - Updated help file example
;
; 1 11/25/08 3:17p Michaela
; Moved to CMOS Interfaces
;
; 1 11/14/08 9:06a Michaela
; Include file for CMOS access in SEC phase
;
; 2 11/07/08 5:31p Michaela
; Added SS header
;
;*************************************************************************
;<AMI_FHDR_START>
;
; Name: CmosAccessSec.inc
;
; Description:
; This file contains macros, constants, procedure definitions and structure
; declarations to be used in SEC phase assembly code.
;
;<AMI_FHDR_END>
;*************************************************************************
IFNDEF _CMOSACCESS_SEC_INC_
_CMOSACCESS_SEC_INC_ EQU 1
INCLUDE TokenEqu.equ
INCLUDE Token.equ
IFDEF MKF_SEC_CREATE_PE32 ; cannot use LAST_ADDRESS in PE32 files
IF MKF_SEC_CREATE_PE32
SEC_LAST_ADDRESS_VALID = 0
ELSE
SEC_LAST_ADDRESS_VALID = 1
ENDIF
ELSE
SEC_LAST_ADDRESS_VALID = 1
ENDIF
IF SEC_LAST_ADDRESS_VALID
jmp_edi macro dummy ; goto routine & back (via EDI)
local llll ; local label
mov edi, LAST_ADDRESS
sub edi, OFFSET llll
neg edi
jmp dummy
llll:
endm
jmp_edx macro dummy ; goto routine & back (via EDX)
local llll ; local label
mov edx, LAST_ADDRESS
sub edx, OFFSET llll
neg edx
jmp dummy
llll:
endm
;------- The following macros can be used in PE32 SEC
ELSE
jmp_edi macro dummy ; goto routine & back (via EDI)
local llll ; local label
mov edi, OFFSET llll
jmp dummy
llll:
endm
jmp_edx macro dummy ; goto routine & back (via EDX)
local llll ; local label
mov edx, OFFSET llll
jmp dummy
llll:
endm
ENDIF
CMOS_WRITE_ACCESS = 0
CMOS_READ_ACCESS = 1
CMOS_BATTERY_ERR = 012h
CMOS_BITSIZE_ERR = 013h
CMOS_OVERFLOW_ERR = 014h
IFNDEF CMOS_NO_EXTERNS
EXTERN CmosReadWrite:NEAR32
ENDIF
IF SEC_LAST_ADDRESS_VALID
EXTERN LAST_ADDRESS:ABS
ENDIF
ENDIF
;**********************************************************************
;**********************************************************************
;** **
;** (C)Copyright 1985-2009, American Megatrends, Inc. **
;** **
;** All Rights Reserved. **
;** **
;** 5555 Oakbrook Pkwy, Suite 200, Norcross, GA 30093 **
;** **
;** Phone: (770)-246-8600 **
;** **
;**********************************************************************
;**********************************************************************
|