moved everything to chookspace
This commit is contained in:
32
gnu-efi/inc/protocol/adapterdebug.h
Normal file
32
gnu-efi/inc/protocol/adapterdebug.h
Normal file
@@ -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
|
||||
|
||||
32
gnu-efi/inc/protocol/eficonsplit.h
Normal file
32
gnu-efi/inc/protocol/eficonsplit.h
Normal file
@@ -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
|
||||
210
gnu-efi/inc/protocol/efidbg.h
Normal file
210
gnu-efi/inc/protocol/efidbg.h
Normal file
@@ -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_ */
|
||||
133
gnu-efi/inc/protocol/efivar.h
Normal file
133
gnu-efi/inc/protocol/efivar.h
Normal file
@@ -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.
|
||||
//
|
||||
|
||||
208
gnu-efi/inc/protocol/ia64/eficontext.h
Normal file
208
gnu-efi/inc/protocol/ia64/eficontext.h
Normal file
@@ -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_ */
|
||||
27
gnu-efi/inc/protocol/intload.h
Normal file
27
gnu-efi/inc/protocol/intload.h
Normal file
@@ -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
|
||||
119
gnu-efi/inc/protocol/legacyboot.h
Normal file
119
gnu-efi/inc/protocol/legacyboot.h
Normal file
@@ -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
|
||||
13
gnu-efi/inc/protocol/make.inf
Normal file
13
gnu-efi/inc/protocol/make.inf
Normal file
@@ -0,0 +1,13 @@
|
||||
#
|
||||
#
|
||||
#
|
||||
|
||||
[sources]
|
||||
efivar.h
|
||||
legacyboot.h
|
||||
VgaClass.h
|
||||
intload.h
|
||||
|
||||
[ia32sources]
|
||||
|
||||
[ia64sources]
|
||||
29
gnu-efi/inc/protocol/makefile.hdr
Normal file
29
gnu-efi/inc/protocol/makefile.hdr
Normal file
@@ -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
|
||||
|
||||
121
gnu-efi/inc/protocol/piflash64.h
Normal file
121
gnu-efi/inc/protocol/piflash64.h
Normal file
@@ -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
|
||||
3
gnu-efi/inc/protocol/readme.txt
Normal file
3
gnu-efi/inc/protocol/readme.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
The protocol directory contains non Architectural
|
||||
Protocols that span the FW, Platform, or application
|
||||
space.
|
||||
95
gnu-efi/inc/protocol/vgaclass.h
Normal file
95
gnu-efi/inc/protocol/vgaclass.h
Normal file
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user