summaryrefslogtreecommitdiff
path: root/Board/EM/MeWrapper/AmtWrapper/Dxe/AmtWrapperDxe.h
blob: 2bc45408387a943d6425ebc0b035b4327790416c (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
//*************************************************************************
//*************************************************************************
//**                                                                     **
//**        (C)Copyright 1985-2010, American Megatrends, Inc.            **
//**                                                                     **
//**                       All Rights Reserved.                          **
//**                                                                     **
//**      5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093           **
//**                                                                     **
//**                       Phone: (770)-246-8600                         **
//**                                                                     **
//*************************************************************************
//*************************************************************************
//**********************************************************************
//
// $Header: /Alaska/SOURCE/Modules/SharkBayRefCodes/ME/AmtWrapper/AmtWrapperDxe/AmtWrapperDxe.h 3     4/18/13 1:55a Klzhan $
//
// $Revision: 3 $
//
// $Date: 4/18/13 1:55a $
//
//**********************************************************************
// Revision History
// ----------------
// $Log: /Alaska/SOURCE/Modules/SharkBayRefCodes/ME/AmtWrapper/AmtWrapperDxe/AmtWrapperDxe.h $
// 
// 3     4/18/13 1:55a Klzhan
// [TAG]  		EIP119190
// [Category]  	Bug Fix
// [Severity]  	Important
// [Symptom]  	BIOS doesn't wait for KVM pass code input.
// [RootCause]  	The Con Out Start protocol GUID is different in AMI and
// ME RC.
// [Solution]  	Install ME RC ConOut Protocol when AMI ConOut Protocol
// installed.
// [Files]  		AmtWrapperDxe.c
// AmtWrapperDxe.h
// 
// 2     4/24/12 12:36a Klzhan
// Update modulepart to latest
// 
// 1     2/08/12 1:08a Klzhan
// Initial Check in 
// 
// 1     2/25/11 1:43a Klzhan
// Initial Check-in
// 
// 2     12/28/10 2:00a Klzhan
// Improvement : Enable/Disable Terminal item for SOL redirection.
// 
// 1     12/03/10 5:10a Klzhan
// Initial Check-in.
// 
//
//**********************************************************************

//<AMI_FHDR_START>
//----------------------------------------------------------------------------
//
// Name:            AmtWrapperDxe.h
//
// Description:     Header file for Amt Wrapper Dxe module
//
//----------------------------------------------------------------------------
//<AMI_FHDR_END>
#ifndef _AMT_WRAPPER_DXE_H_
#define _AMT_WRAPPER_DXE_H_

#include "Efi.h"
#include "EfiDriverLib.h"
#include "EfiCommonLib.h"
#include "BdsLib.h"
#include "EfiScriptLib.h"
#if defined(LEGACYSREDIR_SUPPORT) && (LEGACYSREDIR_SUPPORT == 1)
#include "Protocol\LegacySredir.h"
#endif
#include "AmtLib.h"
#include "MeAccess.h"

#include EFI_PROTOCOL_CONSUMER   (AmtPlatformPolicy)
#include EFI_PROTOCOL_CONSUMER   (AmtWrapper)
#include EFI_PROTOCOL_CONSUMER   (BootScriptSave)
#include EFI_PROTOCOL_CONSUMER   (PciRootBridgeIo)
#include EFI_PROTOCOL_CONSUMER   (ActiveManagement)
#include EFI_PROTOCOL_CONSUMER   (PciIo)
#include EFI_PROTOCOL_CONSUMER   (SerialIo)

#include EFI_GUID_DEFINITION    (MeBiosExtensionSetup)

#define R_PCI_SVID                          0x2C

#define     DISPLAY_SCREEN              0x01				// for LegacySredr CSM16
#define     SUPPORT8025                 0x02				// for LegacySredr CSM16

// define for SREDIR_DISPLAY_MODE
#define 	DISPLAY_BY_SETUP			0x00
#define 	DISPLAY_BY_80x24			0x01
#define 	DISPLAY_BY_80x25			0x02

#define STOPB   0x4                 //      Bit2: Number of Stop Bits
#define PAREN   0x8                 //      Bit3: Parity Enable
#define EVENPAR 0x10                //      Bit4: Even Parity Select
#define STICPAR 0x20                //      Bit5: Sticky Parity
#define SERIALDB 0x3                //      Bit0-1: Number of Serial 
                                    //     

#define EFI_WIN_NT_THUNK_PROTOCOL_GUID \
  { 0x58c518b1, 0x76f3, 0x11d4, 0xbc, 0xea, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81 }

#define EFI_WIN_NT_BUS_DRIVER_IO_PROTOCOL_GUID \
  { 0x96eb4ad6, 0xa32a, 0x11d4, 0xbc, 0xfd, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81 }

#define EFI_WIN_NT_SERIAL_PORT_GUID \
  { 0xc95a93d, 0xa006, 0x11d4, 0xbc, 0xfa, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81 }

#define AMI_CONSOLE_OUT_DEVICES_STARTED_PROTOCOL_GUID \
	{ 0xef9a3971, 0xc1a0, 0x4a93, 0xbd, 0x40, 0x5a, 0xa1, 0x65, 0xf2, 0xdc, 0x3a }

typedef struct {
  ACPI_HID_DEVICE_PATH      PciRootBridge;
  PCI_DEVICE_PATH           SerialOverLAN;
  UART_DEVICE_PATH          Uart;
  VENDOR_DEVICE_PATH        TerminalType;
  EFI_DEVICE_PATH_PROTOCOL  End;
} PLATFORM_PCI_SERIAL_OVER_LAN_DEVICE_PATH;

#define gPciRootBridge \
  { \
	ACPI_DEVICE_PATH, \
	ACPI_DP, \
    (UINT8) (sizeof (ACPI_HID_DEVICE_PATH)), \
    (UINT8) ((sizeof (ACPI_HID_DEVICE_PATH)) >> 8), \
    EISA_PNP_ID (0x0A03), 0 \
  }

#define gEndEntire \
  { \
    END_DEVICE_PATH_TYPE,\
    END_ENTIRE_DEVICE_PATH_SUBTYPE,\
    END_DEVICE_PATH_LENGTH,\
    0\
  }
  
VOID
SetSOLCOMEnable(
    IN BOOLEAN         Enabled
);

EFI_STATUS 
AmtWrapperInit(
    IN EFI_HANDLE ImageHandle, 
    IN OUT EFI_SYSTEM_TABLE *SystemTable
);

BOOLEAN
AmtWrapperGet(
    UINTN Index, 
    VOID *pVar
);

BOOLEAN 
AmtWrapperSet(
    UINTN Index, 
    VOID *pVar
);

BOOLEAN
ActiveManagementPauseBoot (
    IN VOID
);

BOOLEAN
ActiveManagementEnterSetup (
    IN VOID
);

BOOLEAN
ActiveManagementEnableSol (
    IN VOID
);

BOOLEAN
ActiveManagementEnableIdeR (
    IN VOID
);

EFI_STATUS
BdsAsfInitialization (
    IN VOID
);

EFI_STATUS
BdsBootViaAsf (
    IN VOID
);

VOID
InitAmtWrapperLib(
	IN VOID
);

BOOLEAN
AmtWrapperEnableKvm(
	IN VOID
);

BOOLEAN
AmtWrapperInitializationKvm(
	IN VOID
);

BOOLEAN
AmtWrapperEnableSol(
	IN VOID
);

BOOLEAN
AmtWrapperEnableIdeR(
	IN VOID
);

BOOLEAN
AmtWrapperPauseBoot(
	IN VOID
);	

BOOLEAN
AmtWrapperEnterSetup(
	IN VOID
);

EFI_STATUS
AmtWrapperBdsBootViaAsf(
	IN VOID
);

EFI_STATUS
AmtWrapperReadyToBoot(
	EFI_EVENT           Event,
    VOID                *ParentImageHandle
);

BOOLEAN
BdsKvmInitialization (
  IN  VOID
);

UINTN IsSOL(
	IN EFI_HANDLE Controller
);

UINTN IsIDER(
	IN EFI_HANDLE Controller
);
#endif
//*************************************************************************
//*************************************************************************
//**                                                                     **
//**        (C)Copyright 1985-2010, American Megatrends, Inc.            **
//**                                                                     **
//**                       All Rights Reserved.                          **
//**                                                                     **
//**      5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093           **
//**                                                                     **
//**                       Phone: (770)-246-8600                         **
//**                                                                     **
//*************************************************************************
//*************************************************************************