/tags/0.4.0/boot/arch/ia64/loader/gefi/inc/protocol/intload.h |
---|
0,0 → 1,27 |
/*++ |
Copyright (c) 1999 Intel Corporation |
Module Name: |
intload |
Abstract: |
EFI support for loading internally linked in apps |
Revision History |
--*/ |
#ifndef _INTERNAL_LOAD_INCLUDE_ |
#define _INTERNAL_LOAD_INCLUDE_ |
// {D65A6B8C-71E5-4df0-A909-F0D2992B5AA9} |
#define INTERNAL_SHELL_GUID \ |
{ 0xd65a6b8c, 0x71e5, 0x4df0, {0xa9, 0x09, 0xf0, 0xd2, 0x99, 0x2b, 0x5a, 0xa9} } |
#endif |
/tags/0.4.0/boot/arch/ia64/loader/gefi/inc/protocol/efivar.h |
---|
0,0 → 1,133 |
/*++ |
Copyright (c) 1998 Intel Corporation |
Module Name: |
Abstract: |
Revision History |
--*/ |
// |
// The variable store protocol interface is specific to the reference |
// implementation. The initialization code adds variable store devices |
// to the system, and the FW connects to the devices to provide the |
// variable store interfaces through these devices. |
// |
// |
// Variable Store Device protocol |
// |
#define VARIABLE_STORE_PROTOCOL \ |
{ 0xf088cd91, 0xa046, 0x11d2, {0x8e, 0x42, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b} } |
INTERFACE_DECL(_EFI_VARIABLE_STORE); |
typedef |
EFI_STATUS |
(EFIAPI *EFI_STORE_CLEAR) ( |
IN struct _EFI_VARIABLE_STORE *This, |
IN UINTN BankNo, |
IN OUT VOID *Scratch |
); |
typedef |
EFI_STATUS |
(EFIAPI *EFI_STORE_READ) ( |
IN struct _EFI_VARIABLE_STORE *This, |
IN UINTN BankNo, |
IN UINTN Offset, |
IN UINTN BufferSize, |
OUT VOID *Buffer |
); |
typedef |
EFI_STATUS |
(EFIAPI *EFI_STORE_UPDATE) ( |
IN struct _EFI_VARIABLE_STORE *This, |
IN UINTN BankNo, |
IN UINTN Offset, |
IN UINTN BufferSize, |
IN VOID *Buffer |
); |
typedef |
EFI_STATUS |
(EFIAPI *EFI_STORE_SIZE) ( |
IN struct _EFI_VARIABLE_STORE *This, |
IN UINTN NoBanks |
); |
typedef |
EFI_STATUS |
(EFIAPI *EFI_TRANSACTION_UPDATE) ( |
IN struct _EFI_VARIABLE_STORE *This, |
IN UINTN BankNo, |
IN VOID *NewContents |
); |
typedef struct _EFI_VARIABLE_STORE { |
// |
// Number of banks and bank size |
// |
UINT32 Attributes; |
UINT32 BankSize; |
UINT32 NoBanks; |
// |
// Functions to access the storage banks |
// |
EFI_STORE_CLEAR ClearStore; |
EFI_STORE_READ ReadStore; |
EFI_STORE_UPDATE UpdateStore; |
EFI_STORE_SIZE SizeStore OPTIONAL; |
EFI_TRANSACTION_UPDATE TransactionUpdate OPTIONAL; |
} EFI_VARIABLE_STORE; |
// |
// |
// ClearStore() - A function to clear the requested storage bank. A cleared |
// bank contains all "on" bits. |
// |
// ReadStore() - Read data from the requested store. |
// |
// UpdateStore() - Updates data on the requested store. The FW will only |
// ever issue updates to clear bits in the store. Updates must be |
// performed in LSb to MSb order of the update buffer. |
// |
// SizeStore() - An optional function for non-runtime stores that can be |
// dynamically sized. The FW will only ever increase or decrease the store |
// by 1 banksize at a time, and it is always adding or removing a bank from |
// the end of the store. |
// |
// By default the FW will update variables and storage banks in an |
// "atomic" manner by keeping 1 old copy of the data during an update, |
// and recovering appropiately if the power is lost during the middle |
// of an operation. To do this the FW needs to have multiple banks |
// of storage dedicated to its use. If that's not possible, the driver |
// can implement an atomic bank update function and the FW will allow |
// 1 bank in this case. (It will allow any number of banks, |
// but it won't require an "extra" bank to provide its bank transaction |
// function). |
// |
// TransactionUpdate() - An optional function that can clear & update an |
// entire bank in an "atomic" fashion. If the operation fails in the |
// middle the driver is responsible for having either the previous copy |
// of the bank's data or the new copy. A copy that's partially written |
// is not valid as internal data settings may get lost. Supply this |
// function only when needed. |
// |
/tags/0.4.0/boot/arch/ia64/loader/gefi/inc/protocol/ia64/eficontext.h |
---|
0,0 → 1,208 |
/* |
* Copyright (c) 1999, 2000 |
* Intel Corporation. |
* All rights reserved. |
* |
* Redistribution and use in source and binary forms, with or without |
* modification, are permitted provided that the following conditions |
* are met: |
* |
* 1. Redistributions of source code must retain the above copyright |
* notice, this list of conditions and the following disclaimer. |
* |
* 2. Redistributions in binary form must reproduce the above copyright |
* notice, this list of conditions and the following disclaimer in the |
* documentation and/or other materials provided with the distribution. |
* |
* 3. All advertising materials mentioning features or use of this software |
* must display the following acknowledgement: |
* |
* This product includes software developed by Intel Corporation and |
* its contributors. |
* |
* 4. Neither the name of Intel Corporation or its contributors may be |
* used to endorse or promote products derived from this software |
* without specific prior written permission. |
* |
* THIS SOFTWARE IS PROVIDED BY INTEL CORPORATION AND CONTRIBUTORS ``AS IS'' |
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
* ARE DISCLAIMED. IN NO EVENT SHALL INTEL CORPORATION OR CONTRIBUTORS BE |
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF |
* THE POSSIBILITY OF SUCH DAMAGE. |
* |
*/ |
#ifndef _EFICONTEXT_H_ |
#define _EFICONTEXT_H_ |
// |
// IA-64 processor exception types |
// |
#define EXCPT_ALT_DTLB 4 |
#define EXCPT_DNESTED_TLB 5 |
#define EXCPT_BREAKPOINT 11 |
#define EXCPT_EXTERNAL_INTERRUPT 12 |
#define EXCPT_GEN_EXCEPT 24 |
#define EXCPT_NAT_CONSUMPTION 26 |
#define EXCPT_DEBUG_EXCEPT 29 |
#define EXCPT_UNALIGNED_ACCESS 30 |
#define EXCPT_FP_FAULT 32 |
#define EXCPT_FP_TRAP 33 |
#define EXCPT_TAKEN_BRANCH 35 |
#define EXCPT_SINGLE_STEP 36 |
// |
// IA-64 processor context definition - must be 512 byte aligned!!! |
// |
typedef |
struct { |
UINT64 reserved; // necessary to preserve alignment for the correct bits in UNAT and to insure F2 is 16 byte aligned... |
UINT64 r1; |
UINT64 r2; |
UINT64 r3; |
UINT64 r4; |
UINT64 r5; |
UINT64 r6; |
UINT64 r7; |
UINT64 r8; |
UINT64 r9; |
UINT64 r10; |
UINT64 r11; |
UINT64 r12; |
UINT64 r13; |
UINT64 r14; |
UINT64 r15; |
UINT64 r16; |
UINT64 r17; |
UINT64 r18; |
UINT64 r19; |
UINT64 r20; |
UINT64 r21; |
UINT64 r22; |
UINT64 r23; |
UINT64 r24; |
UINT64 r25; |
UINT64 r26; |
UINT64 r27; |
UINT64 r28; |
UINT64 r29; |
UINT64 r30; |
UINT64 r31; |
UINT64 f2[2]; |
UINT64 f3[2]; |
UINT64 f4[2]; |
UINT64 f5[2]; |
UINT64 f6[2]; |
UINT64 f7[2]; |
UINT64 f8[2]; |
UINT64 f9[2]; |
UINT64 f10[2]; |
UINT64 f11[2]; |
UINT64 f12[2]; |
UINT64 f13[2]; |
UINT64 f14[2]; |
UINT64 f15[2]; |
UINT64 f16[2]; |
UINT64 f17[2]; |
UINT64 f18[2]; |
UINT64 f19[2]; |
UINT64 f20[2]; |
UINT64 f21[2]; |
UINT64 f22[2]; |
UINT64 f23[2]; |
UINT64 f24[2]; |
UINT64 f25[2]; |
UINT64 f26[2]; |
UINT64 f27[2]; |
UINT64 f28[2]; |
UINT64 f29[2]; |
UINT64 f30[2]; |
UINT64 f31[2]; |
UINT64 pr; |
UINT64 b0; |
UINT64 b1; |
UINT64 b2; |
UINT64 b3; |
UINT64 b4; |
UINT64 b5; |
UINT64 b6; |
UINT64 b7; |
// application registers |
UINT64 ar_rsc; |
UINT64 ar_bsp; |
UINT64 ar_bspstore; |
UINT64 ar_rnat; |
UINT64 ar_fcr; |
UINT64 ar_eflag; |
UINT64 ar_csd; |
UINT64 ar_ssd; |
UINT64 ar_cflg; |
UINT64 ar_fsr; |
UINT64 ar_fir; |
UINT64 ar_fdr; |
UINT64 ar_ccv; |
UINT64 ar_unat; |
UINT64 ar_fpsr; |
UINT64 ar_pfs; |
UINT64 ar_lc; |
UINT64 ar_ec; |
// control registers |
UINT64 cr_dcr; |
UINT64 cr_itm; |
UINT64 cr_iva; |
UINT64 cr_pta; |
UINT64 cr_ipsr; |
UINT64 cr_isr; |
UINT64 cr_iip; |
UINT64 cr_ifa; |
UINT64 cr_itir; |
UINT64 cr_iipa; |
UINT64 cr_ifs; |
UINT64 cr_iim; |
UINT64 cr_iha; |
// debug registers |
UINT64 dbr0; |
UINT64 dbr1; |
UINT64 dbr2; |
UINT64 dbr3; |
UINT64 dbr4; |
UINT64 dbr5; |
UINT64 dbr6; |
UINT64 dbr7; |
UINT64 ibr0; |
UINT64 ibr1; |
UINT64 ibr2; |
UINT64 ibr3; |
UINT64 ibr4; |
UINT64 ibr5; |
UINT64 ibr6; |
UINT64 ibr7; |
// virtual registers |
UINT64 int_nat; // nat bits for R1-R31 |
} SYSTEM_CONTEXT; |
#endif /* _EFI_CONTEXT_H_ */ |
/tags/0.4.0/boot/arch/ia64/loader/gefi/inc/protocol/eficonsplit.h |
---|
0,0 → 1,32 |
#ifndef _EFI_CONFORK_H |
#define _EFI_CONFORK_H |
/*++ |
Copyright (c) 1999 Intel Corporation |
Module Name: |
Abstract: |
Revision History |
--*/ |
// |
// ConOut Forker Protocol |
// |
#define TEXT_OUT_SPLITER_PROTOCOL \ |
{ 0x56d830a0, 0x7e7a, 0x11d3, {0xbb, 0xa0, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b} } |
#define ERROR_OUT_SPLITER_PROTOCOL \ |
{ 0xf0ba9039, 0x68f1, 0x425e, {0xaa, 0x7f, 0xd9, 0xaa, 0xf9, 0x1b, 0x82, 0xa1}} |
#define TEXT_IN_SPLITER_PROTOCOL \ |
{ 0xf9a3c550, 0x7fb5, 0x11d3, {0xbb, 0xa0, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b} } |
#endif |
/tags/0.4.0/boot/arch/ia64/loader/gefi/inc/protocol/efidbg.h |
---|
0,0 → 1,210 |
/* |
* Copyright (c) 1999, 2000 |
* Intel Corporation. |
* All rights reserved. |
* |
* Redistribution and use in source and binary forms, with or without |
* modification, are permitted provided that the following conditions |
* are met: |
* |
* 1. Redistributions of source code must retain the above copyright |
* notice, this list of conditions and the following disclaimer. |
* |
* 2. Redistributions in binary form must reproduce the above copyright |
* notice, this list of conditions and the following disclaimer in the |
* documentation and/or other materials provided with the distribution. |
* |
* 3. All advertising materials mentioning features or use of this software |
* must display the following acknowledgement: |
* |
* This product includes software developed by Intel Corporation and |
* its contributors. |
* |
* 4. Neither the name of Intel Corporation or its contributors may be |
* used to endorse or promote products derived from this software |
* without specific prior written permission. |
* |
* THIS SOFTWARE IS PROVIDED BY INTEL CORPORATION AND CONTRIBUTORS ``AS IS'' |
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
* ARE DISCLAIMED. IN NO EVENT SHALL INTEL CORPORATION OR CONTRIBUTORS BE |
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF |
* THE POSSIBILITY OF SUCH DAMAGE. |
* |
*/ |
#ifndef _EFIDBG_H_ |
#define _EFIDBG_H_ |
#include "eficontext.h" |
#include "efiser.h" |
typedef struct _DEBUGPORT_16550_CONFIG_DATA { |
UINT32 PortAddress; |
UINT64 BaudRate; |
UINT32 ReceiveFifoDepth; |
UINT32 Timeout; |
UINT8 Parity; |
UINT8 DataBits; |
UINT8 StopBits; |
UINT32 ControlMask; |
BOOLEAN RtsCtsEnable; // RTS, CTS control |
} DEBUGPORT_16550_CONFIG_DATA; |
typedef struct _DEBUGPORT_16550_DEVICE_PATH { |
EFI_DEVICE_PATH Header; |
DEBUGPORT_16550_CONFIG_DATA ConfigData; |
} DEBUGPORT_16550_DEVICE_PATH; |
typedef union { |
EFI_DEVICE_PATH DevPath; |
DEBUGPORT_16550_DEVICE_PATH Uart; |
// add new types of debugport device paths to this union... |
} DEBUGPORT_DEV_PATH; |
// |
// Debug Support protocol {2755590C-6F3C-42FA-9EA4-A3BA543CDA25} |
// |
#define DEBUG_SUPPORT_PROTOCOL \ |
{ 0x2755590C, 0x6F3C, 0x42fa, 0x9E, 0xA4, 0xA3, 0xBA, 0x54, 0x3C, 0xDA, 0x25 } |
typedef UINTN EXCEPTION_TYPE; |
typedef |
VOID |
(*EXCEPTION_HANDLER) ( |
IN EXCEPTION_TYPE ExceptionType, |
IN SYSTEM_CONTEXT *SystemContext |
); |
typedef |
EFI_STATUS |
(EFIAPI *EFI_REGISTER_TIMER_TICK_CALLBACK) ( |
IN struct _EFI_DEBUG_SUPPORT_INTERFACE *This, |
IN EXCEPTION_HANDLER TimerTickCallback |
); |
typedef |
EFI_STATUS |
(EFIAPI *EFI_REGISTER_EXCEPTION_HANDLER) ( |
IN struct _EFI_DEBUG_SUPPORT_INTERFACE *This, |
IN EXCEPTION_HANDLER ExceptionHandler, |
IN EXCEPTION_TYPE ExceptionType |
); |
typedef |
EFI_STATUS |
(EFIAPI *EFI_IP_CALL_TRACE) ( |
IN struct _EFI_DEBUG_SUPPORT_INTERFACE *This |
); |
#define EFI_DEBUG_SUPPORT_INTERFACE_REVISION 0x00010000 |
typedef struct _EFI_DEBUG_SUPPORT_INTERFACE { |
UINT32 Revision; |
EFI_REGISTER_TIMER_TICK_CALLBACK RegisterTimerTickCallback; |
EFI_REGISTER_EXCEPTION_HANDLER RegisterExceptionHandler; |
EFI_IP_CALL_TRACE IpCallTrace; |
} EFI_DEBUG_SUPPORT_INTERFACE; |
// |
// Debugport io protocol {EBA4E8D2-3858-41EC-A281-2647BA9660D0} |
// |
#define DEBUGPORT_IO_PROTOCOL \ |
{ 0XEBA4E8D2, 0X3858, 0X41EC, 0XA2, 0X81, 0X26, 0X47, 0XBA, 0X96, 0X60, 0XD0 } |
typedef |
EFI_STATUS |
(EFIAPI *EFI_DEBUGPORT_IO_RESET) ( |
IN struct _EFI_DEBUGPORT_IO_INTERFACE *This |
); |
typedef |
EFI_STATUS |
(EFIAPI *EFI_DEBUGPORT_IO_READ) ( |
IN struct _EFI_DEBUGPORT_IO_INTERFACE *This, |
IN OUT UINTN *BufferSize, |
OUT VOID *Buffer |
); |
typedef |
EFI_STATUS |
(EFIAPI *EFI_DEBUGPORT_IO_WRITE) ( |
IN struct _EFI_DEBUGPORT_IO_INTERFACE *This, |
IN OUT UINTN *BufferSize, |
IN VOID *Buffer |
); |
#define EFI_DEBUGPORT_IO_INTERFACE_REVISION 0x00010000 |
typedef struct _EFI_DEBUGPORT_IO_INTERFACE { |
UINT32 Revision; |
EFI_DEBUGPORT_IO_READ Read; |
EFI_DEBUGPORT_IO_WRITE Write; |
EFI_DEBUGPORT_IO_RESET Reset; |
} EFI_DEBUGPORT_IO_INTERFACE; |
// |
// Debugport UART16550 control protocol {628EA978-4C26-4605-BC02-A42A496917DD} |
// |
#define DEBUGPORT_UART16550_CONTROL_PROTOCOL \ |
{ 0X628EA978, 0X4C26, 0X4605, 0XBC, 0X2, 0XA4, 0X2A, 0X49, 0X69, 0X17, 0XDD } |
// Note: The definitions for EFI_PARITY_TYPE, EFI_STOP_BITS_TYPE, and |
// SERIAL_IO_MODE are included from efiser.h |
typedef |
EFI_STATUS |
(EFIAPI *EFI_UART16550_SET_ATTRIBUTES) ( |
IN struct _EFI_DEBUGPORT_UART16550_CONTROL_INTERFACE *This, |
IN UINT64 BaudRate, |
IN UINT32 ReceiveFifoDepth, |
IN UINT32 Timeout, |
IN EFI_PARITY_TYPE Parity, |
IN UINT8 DataBits, |
IN EFI_STOP_BITS_TYPE StopBits |
); |
typedef |
EFI_STATUS |
(EFIAPI *EFI_UART16550_SET_CONTROL_BITS) ( |
IN struct _EFI_DEBUGPORT_UART16550_CONTROL_INTERFACE *This, |
IN UINT32 Control |
); |
typedef |
EFI_STATUS |
(EFIAPI *EFI_UART16550_GET_CONTROL_BITS) ( |
IN struct _EFI_DEBUGPORT_UART16550_CONTROL_INTERFACE *This, |
OUT UINT32 *Control |
); |
#define EFI_DEBUGPORT_UART16550_CONTROL_INTERFACE_REVISION 0x00010000 |
typedef struct _EFI_DEBUGPORT_UART16550_CONTROL_INTERFACE { |
UINT32 Revision; |
EFI_UART16550_SET_ATTRIBUTES SetAttributes; |
EFI_UART16550_SET_CONTROL_BITS SetControl; |
EFI_UART16550_GET_CONTROL_BITS GetControl; |
DEBUGPORT_16550_CONFIG_DATA *Mode; |
} EFI_DEBUGPORT_UART16550_CONTROL_INTERFACE; |
#define DEVICE_PATH_DEBUGPORT DEBUGPORT_IO_PROTOCOL |
#endif /* _EFIDBG_H_ */ |
/tags/0.4.0/boot/arch/ia64/loader/gefi/inc/protocol/piflash64.h |
---|
0,0 → 1,121 |
#ifndef _PIFLASH64_H |
#define _PIFLASH64_H |
/*++ |
Copyright (c) 1999 Intel Corporation |
Module Name: |
PIflash64.h |
Abstract: |
Iflash64.efi protocol to abstract iflash from |
the system. |
Revision History |
--*/ |
// |
// Guid that identifies the IFLASH protocol |
// |
#define IFLASH64_PROTOCOL_PROTOCOL \ |
{ 0x65cba110, 0x74ab, 0x11d3, 0xbb, 0x89, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81 }; |
// |
// Unlock FLASH from StartAddress to EndAddress and return a LockKey |
// |
typedef |
EFI_STATUS |
(EFIAPI *UNLOCK_FLASH_API)( |
IN struct _IFLASH64_PROTOCOL_INTERFACE *This |
); |
// |
// Lock the flash represented by the LockKey |
// |
typedef |
EFI_STATUS |
(EFIAPI *LOCK_FLASH_API)( |
IN struct _IFLASH64_PROTOCOL_INTERFACE *This |
); |
// |
// Status callback for a utility like IFLASH64 |
// |
// Token would map to a list like Ted proposed. The utility has no idea what |
// happens on the other side. |
// ErrorStatus - Level of Error or success. Independent of Token. If you |
// don't know the token you will at least know pass or fail. |
// String - Optional extra information about the error. Could be used for |
// debug or future expansion |
// |
// Attributes - Options screen attributes for String. Could allow the string to be different colors. |
// |
typedef |
EFI_STATUS |
(EFIAPI *UTILITY_PROGRESS_API)( |
IN struct _IFLASH64_PROTOCOL_INTERFACE *This, |
IN UINTN Token, |
IN EFI_STATUS ErrorStatus, |
IN CHAR16 *String, OPTIONAL |
IN UINTN *Attributes OPTIONAL |
); |
// |
// Token Values |
// |
// IFlash64 Token Codes |
#define IFLASH_TOKEN_IFLASHSTART 0xB0 // IFlash64 has started |
#define IFLASH_TOKEN_READINGFILE 0xB1 // Reading File |
#define IFLASH_TOKEN_INITVPP 0xB2 // Initializing Vpp |
#define IFLASH_TOKEN_DISABLEVPP 0x10 // Disable Vpp |
#define IFLASH_TOKEN_FLASHUNLOCK 0xB3 // Unlocking FLASH Devices |
#define IFLASH_TOKEN_FLASHERASE 0xB4 // Erasing FLASH Devices |
#define IFLASH_TOKEN_FLASHPROGRAM 0xB5 // Programming FLASH |
#define IFLASH_TOKEN_FLASHVERIFY 0xB6 // Verifying FLASH |
#define IFLASH_TOKEN_UPDATESUCCES 0xB7 // FLASH Updage Success! |
#define IFLASH_TOKEN_PROGRESS_READINGFILE 0x11 // % Reading File |
#define IFLASH_TOKEN_PROGRESS_FLASHUNLOCK 0x13 // % Unlocking FLASH Devices |
#define IFLASH_TOKEN_PROGRESS_FLASHERASE 0x14 // % Erasing FLASH Devices |
#define IFLASH_TOKEN_PROGRESS_FLASHPROGRAM 0x15 // % Programming FLASH |
#define IFLASH_TOKEN_PROGRESS_FLASHVERIFY 0x16 // % Verifying FLASH |
#define IFLASH_TOKEN_READINGFILE_ER 0xB8 // File Read Error |
#define IFLASH_TOKEN_INITVPP_ER 0xB9 // Initialization of IFB Error |
#define IFLASH_TOKEN_FLASHUNLOCK_ER 0xBA // FLASH Unlock Error |
#define IFLASH_TOKEN_FLASHERASE_ER 0xBB // FLASH Erase Error |
#define IFLASH_TOKEN_FLASHVERIFY_ER 0xBC // FLASH Verify Error |
#define IFLASH_TOKEN_FLASHPROG_ER 0xBD // FLASH Program Error |
#define IFLASH_TABLE_END 0x00 |
// |
// If this number changes one of the existing API's has changes |
// |
#define IFLASH_PI_MAJOR_VERSION 0x01 |
// |
// This number changes when new APIs or data variables get added to the end |
// of the data structure |
// |
#define IFLASH_PI_MINOR_VERSION 0x01 |
typedef struct _IFLASH64_PROTOCOL_INTERFACE { |
UINT32 MajorVersion; |
UINT32 MinorVersion; |
UNLOCK_FLASH_API UnlockFlash; |
LOCK_FLASH_API LockFlash; |
UTILITY_PROGRESS_API Progress; |
// |
// Future expansion goes here |
// |
} IFLASH64_PROTOCOL_INTERFACE; |
#endif |
/tags/0.4.0/boot/arch/ia64/loader/gefi/inc/protocol/make.inf |
---|
0,0 → 1,13 |
# |
# |
# |
[sources] |
efivar.h |
legacyboot.h |
VgaClass.h |
intload.h |
[ia32sources] |
[ia64sources] |
/tags/0.4.0/boot/arch/ia64/loader/gefi/inc/protocol/makefile.hdr |
---|
0,0 → 1,29 |
# |
# This is a machine generated file - DO NOT EDIT |
# Generated by genmake.exe |
# Generated from make.inf |
# Copyright (c) 1998 Intel Corporation |
# |
INC_DEPS = $(INC_DEPS) \ |
$(SDK_INSTALL_DIR)\include\efi\protocol\efivar.h \ |
$(SDK_INSTALL_DIR)\include\efi\protocol\legacyboot.h \ |
$(SDK_INSTALL_DIR)\include\efi\protocol\vgaclass.h \ |
$(SDK_INSTALL_DIR)\include\efi\protocol\efidbg.h \ |
!IF "$(PROCESSOR)" == "Ia32" |
INC_DEPS = $(INC_DEPS) \ |
!ENDIF |
!IF "$(PROCESSOR)" == "Ia64" |
INC_DEPS = $(INC_DEPS) \ |
$(SDK_INSTALL_DIR)\include\efi\protocol\$(PROCESSOR)\eficontext.h \ |
!ENDIF |
/tags/0.4.0/boot/arch/ia64/loader/gefi/inc/protocol/vgaclass.h |
---|
0,0 → 1,95 |
#ifndef _VGA_CLASS_H |
#define _VGA_CLASS_H |
/*++ |
Copyright (c) 1999 Intel Corporation |
Module Name: |
VgaClass.h |
Abstract: |
Vga Mini port binding to Vga Class protocol |
Revision History |
--*/ |
// |
// VGA Device Structure |
// |
// {0E3D6310-6FE4-11d3-BB81-0080C73C8881} |
#define VGA_CLASS_DRIVER_PROTOCOL \ |
{ 0xe3d6310, 0x6fe4, 0x11d3, {0xbb, 0x81, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81} } |
typedef |
EFI_STATUS |
(* INIT_VGA_CARD) ( |
IN UINTN VgaMode, |
IN VOID *Context |
); |
typedef struct { |
UINTN MaxColumns; |
UINTN MaxRows; |
} MAX_CONSOLE_GEOMETRY; |
#define VGA_CON_OUT_DEV_SIGNATURE EFI_SIGNATURE_32('c','v','g','a') |
typedef struct { |
UINTN Signature; |
EFI_HANDLE Handle; |
SIMPLE_TEXT_OUTPUT_INTERFACE ConOut; |
SIMPLE_TEXT_OUTPUT_MODE ConOutMode; |
EFI_DEVICE_PATH *DevicePath; |
UINT8 *Buffer; |
EFI_DEVICE_IO_INTERFACE *DeviceIo; |
// |
// Video Card Context |
// |
INIT_VGA_CARD InitVgaCard; |
VOID *VgaCardContext; |
MAX_CONSOLE_GEOMETRY *Geometry; |
// |
// Video buffer normally 0xb8000 |
// |
UINT64 VideoBuffer; |
// |
// Clear Screen & Default Attribute |
// |
UINT32 Attribute; |
// |
// -1 means search for active VGA device |
// |
EFI_PCI_ADDRESS_UNION Pci; |
} VGA_CON_OUT_DEV; |
#define VGA_CON_OUT_DEV_FROM_THIS(a) CR(a, VGA_CON_OUT_DEV, ConOut, VGA_CON_OUT_DEV_SIGNATURE) |
// |
// Vga Class Driver Protocol. |
// GUID defined in EFI Lib |
// |
typedef |
EFI_STATUS |
(EFIAPI *INSTALL_VGA_DRIVER) ( |
IN VGA_CON_OUT_DEV *ConOutDev |
); |
typedef struct { |
UINT32 Version; |
INSTALL_VGA_DRIVER InstallGenericVgaDriver; |
} INSTALL_VGA_DRIVER_INTERFACE; |
#endif |
/tags/0.4.0/boot/arch/ia64/loader/gefi/inc/protocol/readme.txt |
---|
0,0 → 1,3 |
The protocol directory contains non Architectural |
Protocols that span the FW, Platform, or application |
space. |
/tags/0.4.0/boot/arch/ia64/loader/gefi/inc/protocol/adapterdebug.h |
---|
0,0 → 1,32 |
#ifndef _ADAPTER_DEBUG_H |
#define _ADAPTER_DEBUG_H |
/*++ |
Copyright (c) 1999 Intel Corporation |
Module Name: |
AdapterDebug.h |
Abstract: |
Protocol to debug the EDD 3.0 enablement of BIOS option ROMs |
Revision History |
--*/ |
// {82F86881-282B-11d4-BC7D-0080C73C8881} |
#define ADAPTER_DEBUG_PROTOCOL \ |
{ 0x82f86881, 0x282b, 0x11d4, {0xbc, 0x7d, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81} } |
// |
// This protocol points to the BIOS_LEGACY_DRIVE data structure |
// see edd.h for more details |
// |
#endif |
/tags/0.4.0/boot/arch/ia64/loader/gefi/inc/protocol/legacyboot.h |
---|
0,0 → 1,119 |
/*++ |
Copyright (c) 1999 Intel Corporation |
Module Name: |
legacyboot |
Abstract: |
EFI support for legacy boot |
Revision History |
--*/ |
#ifndef _LEGACY_BOOT_INCLUDE_ |
#define _LEGACY_BOOT_INCLUDE_ |
#define LEGACY_BOOT_PROTOCOL \ |
{ 0x376e5eb2, 0x30e4, 0x11d3, { 0xba, 0xe5, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81 } } |
#pragma pack(1) |
// |
// BBS 1.01 (See Appendix A) IPL and BCV Table Entry Data structure. |
// Seg:Off pointers have been converted to EFI pointers in this data structure |
// This is the structure that also maps to the EFI device path for the boot selection |
// |
typedef struct { |
UINT16 DeviceType; |
UINT16 StatusFlag; |
UINT32 Reserved; |
VOID *BootHandler; // Not an EFI entry point |
CHAR8 *DescString; |
} BBS_TABLE_ENTRY; |
#pragma pack() |
typedef |
EFI_STATUS |
(EFIAPI *LEGACY_BOOT_CALL) ( |
IN EFI_DEVICE_PATH *DevicePath |
); |
// |
// BBS support functions |
// PnP Call numbers and BiosSelector hidden in implementation |
// |
typedef enum { |
IplRelative, |
BcvRelative |
} BBS_TYPE; |
INTERFACE_DECL(_LEGACY_BOOT_INTERFACE); |
// |
// == PnP Function 0x60 then BbsVersion == 0x0101 if this call fails then BbsVersion == 0x0000 |
// |
// |
// == PnP Function 0x61 |
// |
typedef |
EFI_STATUS |
(EFIAPI *GET_DEVICE_COUNT) ( |
IN struct _LEGACY_BOOT_INTERFACE *This, |
IN BBS_TYPE *TableType, |
OUT UINTN *DeviceCount, |
OUT UINTN *MaxCount |
); |
// |
// == PnP Function 0x62 |
// |
typedef |
EFI_STATUS |
(EFIAPI *GET_PRIORITY_AND_TABLE) ( |
IN struct _LEGACY_BOOT_INTERFACE *This, |
IN BBS_TYPE *TableType, |
IN OUT UINTN *PrioritySize, // MaxCount * sizeof(UINT8) |
OUT UINTN *Priority, |
IN OUT UINTN *TableSize, // MaxCount * sizeof(BBS_TABLE_ENTRY) |
OUT BBS_TABLE_ENTRY *TableEntrySize |
); |
// |
// == PnP Function 0x63 |
// |
typedef |
EFI_STATUS |
(EFIAPI *SET_PRIORITY) ( |
IN struct _LEGACY_BOOT_INTERFACE *This, |
IN BBS_TYPE *TableType, |
IN OUT UINTN *PrioritySize, |
OUT UINTN *Priority |
); |
typedef struct _LEGACY_BOOT_INTERFACE { |
LEGACY_BOOT_CALL BootIt; |
// |
// New functions to allow BBS booting to be configured from EFI |
// |
UINTN BbsVersion; // Currently 0x0101 |
GET_DEVICE_COUNT GetDeviceCount; |
GET_PRIORITY_AND_TABLE GetPriorityAndTable; |
SET_PRIORITY SetPriority; |
} LEGACY_BOOT_INTERFACE; |
EFI_STATUS |
PlInitializeLegacyBoot ( |
VOID |
); |
#endif |