Add in the 1st version of ECP.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2832 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004 - 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
ConsoleControl.c
|
||||
|
||||
Abstract:
|
||||
|
||||
Abstraction of a Text mode or GOP/UGA screen
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
#include EFI_PROTOCOL_DEFINITION (ConsoleControl)
|
||||
|
||||
|
||||
EFI_GUID gEfiConsoleControlProtocolGuid = EFI_CONSOLE_CONTROL_PROTOCOL_GUID;
|
||||
|
||||
EFI_GUID_STRING (&gEfiConsoleControlProtocolGuid, "Console Control Protocol", "Console Control Protocol");
|
||||
|
@@ -0,0 +1,122 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004 - 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
ConsoleControl.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Abstraction of a Text mode or GOP/UGA screen
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef __CONSOLE_CONTROL_H__
|
||||
#define __CONSOLE_CONTROL_H__
|
||||
|
||||
#define EFI_CONSOLE_CONTROL_PROTOCOL_GUID \
|
||||
{ 0xf42f7782, 0x12e, 0x4c12, 0x99, 0x56, 0x49, 0xf9, 0x43, 0x4, 0xf7, 0x21 }
|
||||
|
||||
typedef struct _EFI_CONSOLE_CONTROL_PROTOCOL EFI_CONSOLE_CONTROL_PROTOCOL;
|
||||
|
||||
|
||||
typedef enum {
|
||||
EfiConsoleControlScreenText,
|
||||
EfiConsoleControlScreenGraphics,
|
||||
EfiConsoleControlScreenMaxValue
|
||||
} EFI_CONSOLE_CONTROL_SCREEN_MODE;
|
||||
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_CONSOLE_CONTROL_PROTOCOL_GET_MODE) (
|
||||
IN EFI_CONSOLE_CONTROL_PROTOCOL *This,
|
||||
OUT EFI_CONSOLE_CONTROL_SCREEN_MODE *Mode,
|
||||
OUT BOOLEAN *GopUgaExists, OPTIONAL
|
||||
OUT BOOLEAN *StdInLocked OPTIONAL
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
Return the current video mode information. Also returns info about existence
|
||||
of Graphics Output devices or UGA Draw devices in system, and if the Std In
|
||||
device is locked. All the arguments are optional and only returned if a non
|
||||
NULL pointer is passed in.
|
||||
|
||||
Arguments:
|
||||
This - Protocol instance pointer.
|
||||
Mode - Are we in text of grahics mode.
|
||||
GopUgaExists - TRUE if Console Spliter has found a GOP or UGA device
|
||||
StdInLocked - TRUE if StdIn device is keyboard locked
|
||||
|
||||
Returns:
|
||||
EFI_SUCCESS - Mode information returned.
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_CONSOLE_CONTROL_PROTOCOL_SET_MODE) (
|
||||
IN EFI_CONSOLE_CONTROL_PROTOCOL *This,
|
||||
OUT EFI_CONSOLE_CONTROL_SCREEN_MODE Mode
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
Set the current mode to either text or graphics. Graphics is
|
||||
for Quiet Boot.
|
||||
|
||||
Arguments:
|
||||
This - Protocol instance pointer.
|
||||
Mode - Mode to set the
|
||||
|
||||
Returns:
|
||||
EFI_SUCCESS - Mode information returned.
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_CONSOLE_CONTROL_PROTOCOL_LOCK_STD_IN) (
|
||||
IN EFI_CONSOLE_CONTROL_PROTOCOL *This,
|
||||
IN CHAR16 *Password
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
Lock Std In devices until Password is typed.
|
||||
|
||||
Arguments:
|
||||
This - Protocol instance pointer.
|
||||
Password - Password needed to unlock screen. NULL means unlock keyboard
|
||||
|
||||
Returns:
|
||||
EFI_SUCCESS - Mode information returned.
|
||||
EFI_DEVICE_ERROR - Std In not locked
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
|
||||
|
||||
typedef struct _EFI_CONSOLE_CONTROL_PROTOCOL {
|
||||
EFI_CONSOLE_CONTROL_PROTOCOL_GET_MODE GetMode;
|
||||
EFI_CONSOLE_CONTROL_PROTOCOL_SET_MODE SetMode;
|
||||
EFI_CONSOLE_CONTROL_PROTOCOL_LOCK_STD_IN LockStdIn;
|
||||
} EFI_CONSOLE_CONTROL_PROTOCOL;
|
||||
|
||||
extern EFI_GUID gEfiConsoleControlProtocolGuid;
|
||||
|
||||
#endif
|
@@ -0,0 +1,28 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
CustomizedDecompress.c
|
||||
|
||||
Abstract:
|
||||
|
||||
The GUID for the user Customized Decompress Protocol
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
#include EFI_PROTOCOL_DEFINITION(CustomizedDecompress)
|
||||
|
||||
EFI_GUID gEfiCustomizedDecompressProtocolGuid = EFI_CUSTOMIZED_DECOMPRESS_PROTOCOL_GUID;
|
||||
|
||||
EFI_GUID_STRING(&gEfiCustomizedDecompressProtocolGuid, "Cutomized Decompress", "Customized Decompression Protocol");
|
||||
|
@@ -0,0 +1,139 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
CustomizedDecompress.h
|
||||
|
||||
Abstract:
|
||||
|
||||
The user Customized Decompress Protocol Interface
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _CUSTOMIZED_DECOMPRESS_H_
|
||||
#define _CUSTOMIZED_DECOMPRESS_H_
|
||||
|
||||
#define EFI_CUSTOMIZED_DECOMPRESS_PROTOCOL_GUID \
|
||||
{ 0x9a44198e, 0xa4a2, 0x44e6, 0x8a, 0x1f, 0x39, 0xbe, 0xfd, 0xac, 0x89, 0x6f }
|
||||
|
||||
EFI_FORWARD_DECLARATION (EFI_CUSTOMIZED_DECOMPRESS_PROTOCOL);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_CUSTOMIZED_DECOMPRESS_GET_INFO) (
|
||||
IN EFI_CUSTOMIZED_DECOMPRESS_PROTOCOL *This,
|
||||
IN VOID *Source,
|
||||
IN UINT32 SourceSize,
|
||||
OUT UINT32 *DestinationSize,
|
||||
OUT UINT32 *ScratchSize
|
||||
);
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
|
||||
The GetInfo() function retrieves the size of the uncompressed buffer
|
||||
and the temporary scratch buffer required to decompress the buffer
|
||||
specified by Source and SourceSize. If the size of the uncompressed
|
||||
buffer or the size of the scratch buffer cannot be determined from
|
||||
the compressed data specified by Source and SourceData, then
|
||||
EFI_INVALID_PARAMETER is returned. Otherwise, the size of the uncompressed
|
||||
buffer is returned in DestinationSize, the size of the scratch buffer is
|
||||
returned in ScratchSize, and EFI_SUCCESS is returned.
|
||||
|
||||
The GetInfo() function does not have scratch buffer available to perform
|
||||
a thorough checking of the validity of the source data. It just retrieves
|
||||
the 'Original Size' field from the beginning bytes of the source data and
|
||||
output it as DestinationSize. And ScratchSize is specific to the decompression
|
||||
implementation.
|
||||
|
||||
Arguments:
|
||||
|
||||
This - The protocol instance pointer
|
||||
Source - The source buffer containing the compressed data.
|
||||
SourceSize - The size, in bytes, of source buffer.
|
||||
DestinationSize - A pointer to the size, in bytes, of the uncompressed buffer
|
||||
that will be generated when the compressed buffer specified
|
||||
by Source and SourceSize is decompressed.
|
||||
ScratchSize - A pointer to the size, in bytes, of the scratch buffer that
|
||||
is required to decompress the compressed buffer specified by
|
||||
Source and SourceSize.
|
||||
|
||||
Returns:
|
||||
EFI_SUCCESS - The size of the uncompressed data was returned in DestinationSize
|
||||
and the size of the scratch buffer was returned in ScratchSize.
|
||||
EFI_INVALID_PARAMETER - The size of the uncompressed data or the size of the scratch
|
||||
buffer cannot be determined from the compressed data specified by
|
||||
Source and SourceData.
|
||||
|
||||
--*/
|
||||
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_CUSTOMIZED_DECOMPRESS_DECOMPRESS) (
|
||||
IN EFI_CUSTOMIZED_DECOMPRESS_PROTOCOL *This,
|
||||
IN VOID* Source,
|
||||
IN UINT32 SourceSize,
|
||||
IN OUT VOID* Destination,
|
||||
IN UINT32 DestinationSize,
|
||||
IN OUT VOID* Scratch,
|
||||
IN UINT32 ScratchSize
|
||||
);
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
|
||||
The Decompress() function extracts decompressed data to its original form.
|
||||
|
||||
This protocol is designed so that the decompression algorithm can be
|
||||
implemented without using any memory services. As a result, the
|
||||
Decompress() function is not allowed to call AllocatePool() or
|
||||
AllocatePages() in its implementation. It is the caller's responsibility
|
||||
to allocate and free the Destination and Scratch buffers.
|
||||
|
||||
If the compressed source data specified by Source and SourceSize is
|
||||
sucessfully decompressed into Destination, then EFI_SUCCESS is returned.
|
||||
If the compressed source data specified by Source and SourceSize is not in
|
||||
a valid compressed data format, then EFI_INVALID_PARAMETER is returned.
|
||||
|
||||
Arguments:
|
||||
|
||||
This - The protocol instance pointer
|
||||
Source - The source buffer containing the compressed data.
|
||||
SourceSize - The size of source data.
|
||||
Destination - On output, the destination buffer that contains
|
||||
the uncompressed data.
|
||||
DestinationSize - The size of destination buffer. The size of destination
|
||||
buffer needed is obtained from GetInfo().
|
||||
Scratch - A temporary scratch buffer that is used to perform the
|
||||
decompression.
|
||||
ScratchSize - The size of scratch buffer. The size of scratch buffer needed
|
||||
is obtained from GetInfo().
|
||||
|
||||
Returns:
|
||||
|
||||
EFI_SUCCESS - Decompression completed successfully, and the uncompressed
|
||||
buffer is returned in Destination.
|
||||
EFI_INVALID_PARAMETER
|
||||
- The source buffer specified by Source and SourceSize is
|
||||
corrupted (not in a valid compressed format).
|
||||
|
||||
--*/
|
||||
|
||||
typedef struct _EFI_CUSTOMIZED_DECOMPRESS_PROTOCOL {
|
||||
EFI_CUSTOMIZED_DECOMPRESS_GET_INFO GetInfo;
|
||||
EFI_CUSTOMIZED_DECOMPRESS_DECOMPRESS Decompress;
|
||||
} EFI_CUSTOMIZED_DECOMPRESS_PROTOCOL;
|
||||
|
||||
extern EFI_GUID gEfiCustomizedDecompressProtocolGuid;
|
||||
|
||||
#endif
|
@@ -0,0 +1,30 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
DebugAssert.c
|
||||
|
||||
Abstract:
|
||||
|
||||
This protocol allows provides debug services to a driver. This is not
|
||||
debugger support, but things like ASSERT() and DEBUG() macros
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
#include EFI_PROTOCOL_DEFINITION(DebugAssert)
|
||||
|
||||
|
||||
EFI_GUID gEfiDebugAssertProtocolGuid = EFI_DEBUG_ASSERT_PROTOCOL_GUID;
|
||||
|
||||
EFI_GUID_STRING(&gEfiDebugAssertProtocolGuid, "EFI Debug Assert", "Efi Debug Assert Protocol");
|
||||
|
@@ -0,0 +1,89 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
DebugAssert.h
|
||||
|
||||
Abstract:
|
||||
|
||||
This protocol allows provides debug services to a driver. This is not
|
||||
debugger support, but things like ASSERT() and DEBUG() macros
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _DEBUG_ASSERT_H_
|
||||
#define _DEBUG_ASSERT_H_
|
||||
|
||||
|
||||
#define EFI_DEBUG_ASSERT_PROTOCOL_GUID \
|
||||
{ 0xbe499c92, 0x7d4b, 0x11d4, 0xbc, 0xee, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81 }
|
||||
|
||||
//
|
||||
// Forward reference for pure ANSI compatability
|
||||
//
|
||||
EFI_FORWARD_DECLARATION (EFI_DEBUG_ASSERT_PROTOCOL);
|
||||
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_DEBUG_ASSERT) (
|
||||
IN EFI_DEBUG_ASSERT_PROTOCOL *This,
|
||||
IN CHAR8 *FileName,
|
||||
IN INTN LineNumber,
|
||||
IN CHAR8 *Description
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_DEBUG_PRINT) (
|
||||
IN EFI_DEBUG_ASSERT_PROTOCOL *This,
|
||||
IN UINTN ErrorLevel,
|
||||
IN CHAR8 *Format,
|
||||
IN VA_LIST Marker
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_POST_CODE) (
|
||||
IN EFI_DEBUG_ASSERT_PROTOCOL *This,
|
||||
IN UINT16 PostCode,
|
||||
IN CHAR8 *PostCodeString OPTIONAL
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_GET_ERROR_LEVEL) (
|
||||
IN EFI_DEBUG_ASSERT_PROTOCOL *This,
|
||||
IN UINTN *ErrorLevel
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_SET_ERROR_LEVEL) (
|
||||
IN EFI_DEBUG_ASSERT_PROTOCOL *This,
|
||||
IN UINTN ErrorLevel
|
||||
);
|
||||
|
||||
typedef struct _EFI_DEBUG_ASSERT_PROTOCOL {
|
||||
|
||||
EFI_DEBUG_ASSERT Assert;
|
||||
EFI_DEBUG_PRINT Print;
|
||||
EFI_POST_CODE PostCode;
|
||||
|
||||
EFI_GET_ERROR_LEVEL GetErrorLevel;
|
||||
EFI_SET_ERROR_LEVEL SetErrorLevel;
|
||||
|
||||
} EFI_DEBUG_ASSERT_PROTOCOL;
|
||||
|
||||
extern EFI_GUID gEfiDebugAssertProtocolGuid;
|
||||
|
||||
#endif
|
@@ -0,0 +1,30 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
DebugMask.c
|
||||
|
||||
Abstract:
|
||||
|
||||
This protocol is used to abstract the Debug Mask serivces for
|
||||
the specific driver or application image.
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
#include EFI_PROTOCOL_DEFINITION(DebugMask)
|
||||
|
||||
|
||||
EFI_GUID gEfiDebugMaskProtocolGuid = EFI_DEBUG_MASK_PROTOCOL_GUID;
|
||||
|
||||
EFI_GUID_STRING(&gEfiDebugMaskProtocolGuid, "DebugMask Protocol", "Efi Debug Mask Protocol");
|
||||
|
@@ -0,0 +1,68 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
DebugMask.h
|
||||
|
||||
Abstract:
|
||||
|
||||
This protocol is used to abstract the Debug Mask serivces for
|
||||
the specific driver or application image.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _DEBUG_MASK_H_
|
||||
#define _DEBUG_MASK_H_
|
||||
|
||||
//
|
||||
//4C8A2451-C207-405b-9694-99EA13251341
|
||||
//
|
||||
#define EFI_DEBUG_MASK_PROTOCOL_GUID \
|
||||
{ 0x4c8a2451, 0xc207, 0x405b, 0x96, 0x94, 0x99, 0xea, 0x13, 0x25, 0x13, 0x41 }
|
||||
|
||||
|
||||
#define EFI_DEBUG_MASK_REVISION 0x00010000
|
||||
|
||||
//
|
||||
// Forward reference for pure ANSI compatability
|
||||
//
|
||||
EFI_FORWARD_DECLARATION (EFI_DEBUG_MASK_PROTOCOL);
|
||||
|
||||
//
|
||||
// DebugMask member functions definition
|
||||
//
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI * EFI_GET_DEBUG_MASK) (
|
||||
IN EFI_DEBUG_MASK_PROTOCOL *This, // Calling context
|
||||
IN OUT UINTN *CurrentDebugMask // Ptr to store current debug mask
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_SET_DEBUG_MASK) (
|
||||
IN EFI_DEBUG_MASK_PROTOCOL *This, // Calling context
|
||||
IN UINTN NewDebugMask // New Debug Mask value to set
|
||||
);
|
||||
|
||||
//
|
||||
// DebugMask protocol definition
|
||||
//
|
||||
typedef struct _EFI_DEBUG_MASK_PROTOCOL {
|
||||
INT64 Revision;
|
||||
EFI_GET_DEBUG_MASK GetDebugMask;
|
||||
EFI_SET_DEBUG_MASK SetDebugMask;
|
||||
} EFI_DEBUG_MASK_PROTOCOL;
|
||||
|
||||
extern EFI_GUID gEfiDebugMaskProtocolGuid;
|
||||
|
||||
#endif
|
@@ -0,0 +1,30 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
DebugSerialIo.c
|
||||
|
||||
Abstract:
|
||||
|
||||
Debug Serial IO protocol.
|
||||
|
||||
Abstraction of a basic serial device. Targeted at 16550 UART, but
|
||||
could be much more generic.
|
||||
|
||||
--*/
|
||||
|
||||
#include "EfiSpec.h"
|
||||
#include EFI_PROTOCOL_DEFINITION (DebugSerialIo)
|
||||
|
||||
EFI_GUID gEfiDebugSerialIoProtocolGuid = EFI_DEBUG_SERIAL_IO_PROTOCOL_GUID;
|
||||
|
||||
EFI_GUID_STRING(&gEfiDebugSerialIoProtocolGuid, "DebugSerialIo Protocol", "EFI 1.0 DebugSerial IO Protocol");
|
@@ -0,0 +1,37 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
DebugSerialIo.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Debug Serial IO protocol.
|
||||
|
||||
Abstraction of a basic serial device. Targeted at 16550 UART, but
|
||||
could be much more generic.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _DEBUG_SERIAL_IO_H_
|
||||
#define _DEBUG_SERIAL_IO_H_
|
||||
|
||||
#define EFI_DEBUG_SERIAL_IO_PROTOCOL_GUID \
|
||||
{ 0xe683dc4f, 0x9ed, 0x4f22, { 0x86, 0x6b, 0x8e, 0x40, 0x46, 0x94, 0x7c, 0x6c } }
|
||||
|
||||
EFI_FORWARD_DECLARATION (EFI_DEBUG_SERIAL_IO_PROTOCOL);
|
||||
|
||||
#include EFI_PROTOCOL_DEFINITION (SerialIo)
|
||||
|
||||
extern EFI_GUID gEfiDebugSerialIoProtocolGuid;
|
||||
|
||||
#endif
|
30
EdkCompatibilityPkg/Foundation/Protocol/DiskInfo/DiskInfo.c
Normal file
30
EdkCompatibilityPkg/Foundation/Protocol/DiskInfo/DiskInfo.c
Normal file
@@ -0,0 +1,30 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
DiskInfo.c
|
||||
|
||||
Abstract:
|
||||
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
#include EFI_PROTOCOL_DEFINITION (DiskInfo)
|
||||
|
||||
EFI_GUID gEfiDiskInfoProtocolGuid = EFI_DISK_INFO_PROTOCOL_GUID;
|
||||
|
||||
EFI_GUID_STRING(&gEfiDiskInfoProtocolGuid, "Disk Info Protocol", "Disk Info Protocol");
|
||||
|
||||
EFI_GUID gEfiDiskInfoIdeInterfaceGuid = EFI_DISK_INFO_IDE_INTERFACE_GUID;
|
||||
EFI_GUID gEfiDiskInfoScsiInterfaceGuid = EFI_DISK_INFO_SCSI_INTERFACE_GUID;
|
||||
EFI_GUID gEfiDiskInfoUsbInterfaceGuid = EFI_DISK_INFO_USB_INTERFACE_GUID;
|
174
EdkCompatibilityPkg/Foundation/Protocol/DiskInfo/DiskInfo.h
Normal file
174
EdkCompatibilityPkg/Foundation/Protocol/DiskInfo/DiskInfo.h
Normal file
@@ -0,0 +1,174 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
DiskInfo.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Disk Info protocol is used to export Inquiry Data for a drive.
|
||||
Its needed to support low level formating of drives in a mannor
|
||||
thats DOS compatible.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef __DISK_INFO_H__
|
||||
#define __DISK_INFO_H__
|
||||
|
||||
#define EFI_DISK_INFO_PROTOCOL_GUID \
|
||||
{ \
|
||||
0xd432a67f, 0x14dc, 0x484b, 0xb3, 0xbb, 0x3f, 0x2, 0x91, 0x84, 0x93, 0x27 \
|
||||
}
|
||||
|
||||
EFI_FORWARD_DECLARATION (EFI_DISK_INFO_PROTOCOL);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_DISK_INFO_INQUIRY) (
|
||||
IN EFI_DISK_INFO_PROTOCOL * This,
|
||||
IN OUT VOID *InquiryData,
|
||||
IN OUT UINT32 *IntquiryDataSize
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
Return the results of the Inquiry command to a drive in InquiryData.
|
||||
Data format of Inquiry data is defined by the Interface GUID.
|
||||
|
||||
Arguments:
|
||||
This - Protocol instance pointer.
|
||||
InquiryData - Results of Inquiry command to device
|
||||
InquiryDataSize - Size of InquiryData in bytes.
|
||||
|
||||
Returns:
|
||||
EFI_SUCCESS - InquiryData valid
|
||||
EFI_NOT_FOUND - Device does not support this data class
|
||||
EFI_DEVICE_ERROR - Error reading InquiryData from device
|
||||
EFI_BUFFER_TOO_SMALL - IntquiryDataSize not big enough
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_DISK_INFO_IDENTIFY) (
|
||||
IN EFI_DISK_INFO_PROTOCOL * This,
|
||||
IN OUT VOID *IdentifyData,
|
||||
IN OUT UINT32 *IdentifyDataSize
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
Return the results of the Identify command to a drive in IdentifyData.
|
||||
Data format of Identify data is defined by the Interface GUID.
|
||||
|
||||
Arguments:
|
||||
This - Protocol instance pointer.
|
||||
IdentifyData - Results of Identify command to device
|
||||
IdentifyDataSize - Size of IdentifyData in bytes.
|
||||
|
||||
Returns:
|
||||
EFI_SUCCESS - IdentifyData valid
|
||||
EFI_NOT_FOUND - Device does not support this data class
|
||||
EFI_DEVICE_ERROR - Error reading IdentifyData from device
|
||||
EFI_BUFFER_TOO_SMALL - IdentifyDataSize not big enough
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_DISK_INFO_SENSE_DATA) (
|
||||
IN EFI_DISK_INFO_PROTOCOL * This,
|
||||
IN OUT VOID *SenseData,
|
||||
IN OUT UINT32 *SenseDataSize,
|
||||
OUT UINT8 *SenseDataNumber
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
Return the results of the Request Sense command to a drive in SenseData.
|
||||
Data format of Sense data is defined by the Interface GUID.
|
||||
|
||||
Arguments:
|
||||
This - Protocol instance pointer.
|
||||
SenseData - Results of Request Sense command to device
|
||||
SenseDataSize - Size of SenseData in bytes.
|
||||
SenseDataNumber - Type of SenseData
|
||||
|
||||
Returns:
|
||||
EFI_SUCCESS - InquiryData valid
|
||||
EFI_NOT_FOUND - Device does not support this data class
|
||||
EFI_DEVICE_ERROR - Error reading InquiryData from device
|
||||
EFI_BUFFER_TOO_SMALL - SenseDataSize not big enough
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_DISK_INFO_WHICH_IDE) (
|
||||
IN EFI_DISK_INFO_PROTOCOL * This,
|
||||
OUT UINT32 *IdeChannel,
|
||||
OUT UINT32 *IdeDevice
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
Return the results of the Request Sense command to a drive in SenseData.
|
||||
Data format of Sense data is defined by the Interface GUID.
|
||||
|
||||
Arguments:
|
||||
This - Protocol instance pointer.
|
||||
IdeChannel - Primary or Secondary
|
||||
IdeDevice - Master or Slave
|
||||
|
||||
Returns:
|
||||
EFI_SUCCESS - IdeChannel and IdeDevice are valid
|
||||
EFI_UNSUPPORTED - This is not an IDE device
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
//
|
||||
// GUIDs for EFI_DISK_INFO_PROTOCOL.Interface. Defines the format of the
|
||||
// buffers returned by member functions
|
||||
//
|
||||
#define EFI_DISK_INFO_IDE_INTERFACE_GUID \
|
||||
{ \
|
||||
0x5e948fe3, 0x26d3, 0x42b5, 0xaf, 0x17, 0x61, 0x2, 0x87, 0x18, 0x8d, 0xec \
|
||||
}
|
||||
extern EFI_GUID gEfiDiskInfoIdeInterfaceGuid;
|
||||
|
||||
#define EFI_DISK_INFO_SCSI_INTERFACE_GUID \
|
||||
{ \
|
||||
0x8f74baa, 0xea36, 0x41d9, 0x95, 0x21, 0x21, 0xa7, 0xf, 0x87, 0x80, 0xbc \
|
||||
}
|
||||
extern EFI_GUID gEfiDiskInfoScsiInterfaceGuid;
|
||||
|
||||
#define EFI_DISK_INFO_USB_INTERFACE_GUID \
|
||||
{ \
|
||||
0xcb871572, 0xc11a, 0x47b5, 0xb4, 0x92, 0x67, 0x5e, 0xaf, 0xa7, 0x77, 0x27 \
|
||||
}
|
||||
extern EFI_GUID gEfiDiskInfoUsbInterfaceGuid;
|
||||
|
||||
typedef struct _EFI_DISK_INFO_PROTOCOL {
|
||||
EFI_GUID Interface;
|
||||
EFI_DISK_INFO_INQUIRY Inquiry;
|
||||
EFI_DISK_INFO_IDENTIFY Identify;
|
||||
EFI_DISK_INFO_SENSE_DATA SenseData;
|
||||
EFI_DISK_INFO_WHICH_IDE WhichIde;
|
||||
} EFI_DISK_INFO_PROTOCOL;
|
||||
|
||||
extern EFI_GUID gEfiDiskInfoProtocolGuid;
|
||||
|
||||
#endif
|
111
EdkCompatibilityPkg/Foundation/Protocol/EdkProtocolLib.inf
Normal file
111
EdkCompatibilityPkg/Foundation/Protocol/EdkProtocolLib.inf
Normal file
@@ -0,0 +1,111 @@
|
||||
#/*++
|
||||
#
|
||||
# Copyright (c) 2004 - 2006, Intel Corporation
|
||||
# All rights reserved. This program and the accompanying materials
|
||||
# are licensed and made available under the terms and conditions of the BSD License
|
||||
# which accompanies this distribution. The full text of the license may be found at
|
||||
# http://opensource.org/licenses/bsd-license.php
|
||||
#
|
||||
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
#
|
||||
# Module Name:
|
||||
#
|
||||
# EdkProtocolLib.inf
|
||||
#
|
||||
# Abstract:
|
||||
#
|
||||
# Component description file.
|
||||
#
|
||||
#--*/
|
||||
|
||||
[defines]
|
||||
BASE_NAME= EdkProtocolLib
|
||||
COMPONENT_TYPE= LIBRARY
|
||||
|
||||
[includes.common]
|
||||
$(EDK_SOURCE)\Foundation
|
||||
$(EDK_SOURCE)\Foundation\Efi
|
||||
$(EDK_SOURCE)\Foundation\Framework
|
||||
$(EDK_SOURCE)\Foundation\Include
|
||||
$(EDK_SOURCE)\Foundation\Efi\Include
|
||||
$(EDK_SOURCE)\Foundation\Framework\Include
|
||||
$(EDK_SOURCE)\Foundation\Include\IndustryStandard
|
||||
$(EDK_SOURCE)\Foundation\Include\Pei
|
||||
$(EDK_SOURCE)\Foundation\Library\Pei\Include
|
||||
$(EDK_SOURCE)\Foundation\Core\Dxe
|
||||
$(EDK_SOURCE)\Foundation\Library\Dxe\Include
|
||||
|
||||
[nmake.common]
|
||||
|
||||
[sources.common]
|
||||
ConsoleControl\ConsoleControl.h
|
||||
ConsoleControl\ConsoleControl.c
|
||||
CustomizedDecompress\CustomizedDecompress.c
|
||||
CustomizedDecompress\CustomizedDecompress.h
|
||||
DebugAssert\DebugAssert.h
|
||||
DebugAssert\DebugAssert.c
|
||||
DebugMask\DebugMask.h
|
||||
DebugMask\DebugMask.c
|
||||
DebugSerialIo\DebugSerialIo.h
|
||||
DebugSerialIo\DebugSerialIo.c
|
||||
DiskInfo\DiskInfo.h
|
||||
DiskInfo\DiskInfo.c
|
||||
EfiOemBadging\EfiOemBadging.h
|
||||
EfiOemBadging\EfiOemBadging.c
|
||||
FaultTolerantWriteLite\FaultTolerantWriteLite.h
|
||||
FaultTolerantWriteLite\FaultTolerantWriteLite.c
|
||||
FirmwareVolumeDispatch\FirmwareVolumeDispatch.h
|
||||
FirmwareVolumeDispatch\FirmwareVolumeDispatch.c
|
||||
FvbExtension\FvbExtension.h
|
||||
FvbExtension\FvbExtension.c
|
||||
GenericMemoryTest\GenericMemoryTest.h
|
||||
GenericMemoryTest\GenericMemoryTest.c
|
||||
GuidedSectionExtraction\GuidedSectionExtraction.h
|
||||
GuidedSectionExtraction\GuidedSectionExtraction.c
|
||||
IsaAcpi\IsaAcpi.h
|
||||
IsaAcpi\IsaAcpi.c
|
||||
IsaIo\IsaIo.h
|
||||
IsaIo\IsaIo.c
|
||||
LegacyBiosThunk\LegacyBiosThunk.h
|
||||
LegacyBiosThunk\LegacyBiosThunk.c
|
||||
LoadPe32Image\LoadPe32Image.h
|
||||
LoadPe32Image\LoadPe32Image.c
|
||||
NicIp4Config\NicIp4Config.h
|
||||
NicIp4Config\NicIp4Config.c
|
||||
PciHotPlugRequest\PciHotPlugRequest.h
|
||||
PciHotPlugRequest\PciHotPlugRequest.c
|
||||
Performance\Performance.h
|
||||
Performance\Performance.c
|
||||
PlatformMemTest\PlatformMemTest.h
|
||||
PlatformMemTest\PlatformMemTest.c
|
||||
Print\Print.h
|
||||
Print\Print.c
|
||||
PxeDhcp4\PxeDhcp4.h
|
||||
PxeDhcp4\PxeDhcp4.c
|
||||
PxeDhcp4Callback\PxeDhcp4Callback.h
|
||||
PxeDhcp4Callback\PxeDhcp4Callback.c
|
||||
Tcp\Tcp.h
|
||||
Tcp\Tcp.c
|
||||
TianoDecompress\TianoDecompress.h
|
||||
TianoDecompress\TianoDecompress.c
|
||||
UgaSplash\UgaSplash.h
|
||||
UgaSplash\UgaSplash.c
|
||||
UsbAtapi\UsbAtapi.h
|
||||
UsbAtapi\UsbAtapi.c
|
||||
VariableStore\VariableStore.h
|
||||
VariableStore\VariableStore.c
|
||||
VirtualMemoryAccess\VirtualMemoryAccess.h
|
||||
VirtualMemoryAccess\VirtualMemoryAccess.c
|
||||
TcgService\TcgService.h
|
||||
TcgService\TcgService.c
|
||||
Ps2Policy\Ps2Policy.h
|
||||
Ps2Policy\Ps2Policy.c
|
||||
VgaMiniPort\VgaMiniPort.h
|
||||
VgaMiniPort\VgaMiniPort.c
|
||||
|
||||
[sources.ipf]
|
||||
ExtendedSalBootService\ExtendedSalBootService.c
|
||||
ExtendedSalBootService\ExtendedSalBootService.h
|
||||
ExtendedSalGuid\ExtendedSalGuid.c
|
||||
ExtendedSalGuid\ExtendedSalGuid.h
|
@@ -0,0 +1,30 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
EfiOEMBadging.c
|
||||
|
||||
Abstract:
|
||||
|
||||
EFI OEM Badging Protocol definition source file
|
||||
|
||||
Revision History
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
|
||||
#include EFI_PROTOCOL_DEFINITION (EfiOEMBadging)
|
||||
|
||||
EFI_GUID gEfiOEMBadgingProtocolGuid = EFI_OEM_BADGING_PROTOCOL_GUID;
|
||||
|
||||
EFI_GUID_STRING(&gEfiOEMBadgingProtocolGuid, "OEM Badging Protocol", "OEM Badging Protocol");
|
@@ -0,0 +1,79 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
EfiOEMBadging.h
|
||||
|
||||
Abstract:
|
||||
|
||||
EFI OEM Badging Protocol definition header file
|
||||
|
||||
Revision History
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _EFI_OEM_BADGING_H_
|
||||
#define _EFI_OEM_BADGING_H_
|
||||
|
||||
//
|
||||
// GUID for EFI OEM Badging Protocol
|
||||
//
|
||||
#define EFI_OEM_BADGING_PROTOCOL_GUID \
|
||||
{ 0x170e13c0, 0xbf1b, 0x4218, 0x87, 0x1d, 0x2a, 0xbd, 0xc6, 0xf8, 0x87, 0xbc }
|
||||
|
||||
|
||||
EFI_FORWARD_DECLARATION (EFI_OEM_BADGING_PROTOCOL);
|
||||
|
||||
typedef enum {
|
||||
EfiBadgingFormatBMP,
|
||||
EfiBadgingFormatJPEG,
|
||||
EfiBadgingFormatTIFF,
|
||||
EfiBadgingFormatGIF,
|
||||
EfiBadgingFormatUnknown
|
||||
} EFI_BADGING_FORMAT;
|
||||
|
||||
typedef enum {
|
||||
EfiBadgingDisplayAttributeLeftTop,
|
||||
EfiBadgingDisplayAttributeCenterTop,
|
||||
EfiBadgingDisplayAttributeRightTop,
|
||||
EfiBadgingDisplayAttributeCenterRight,
|
||||
EfiBadgingDisplayAttributeRightBottom,
|
||||
EfiBadgingDisplayAttributeCenterBottom,
|
||||
EfiBadgingDisplayAttributeLeftBottom,
|
||||
EfiBadgingDisplayAttributeCenterLeft,
|
||||
EfiBadgingDisplayAttributeCenter,
|
||||
EfiBadgingDisplayAttributeCustomized
|
||||
} EFI_BADGING_DISPLAY_ATTRIBUTE;
|
||||
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_BADGING_GET_IMAGE) (
|
||||
IN EFI_OEM_BADGING_PROTOCOL *This,
|
||||
IN OUT UINT32 *Instance,
|
||||
OUT EFI_BADGING_FORMAT *Format,
|
||||
OUT UINT8 **ImageData,
|
||||
OUT UINTN *ImageSize,
|
||||
OUT EFI_BADGING_DISPLAY_ATTRIBUTE *Attribute,
|
||||
OUT UINTN *CoordinateX,
|
||||
OUT UINTN *CoordinateY
|
||||
);
|
||||
|
||||
|
||||
typedef struct _EFI_OEM_BADGING_PROTOCOL {
|
||||
EFI_BADGING_GET_IMAGE GetImage;
|
||||
} EFI_OEM_BADGING_PROTOCOL;
|
||||
|
||||
|
||||
extern EFI_GUID gEfiOEMBadgingProtocolGuid;
|
||||
|
||||
#endif
|
@@ -0,0 +1,27 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
ExtendedSalBootService.c
|
||||
|
||||
Abstract:
|
||||
|
||||
This is a protocol creates infrastructure to register Extended Sal Procs.
|
||||
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
#include EFI_PROTOCOL_DEFINITION(ExtendedSalBootService)
|
||||
|
||||
EFI_GUID gEfiExtendedSalBootServiceProtocolGuid = EXTENDED_SAL_BOOT_SERVICE_PROTOCOL_GUID;
|
||||
EFI_GUID_STRING(&gEfiExtendedSalBootServiceProtocolGuid, "EXT SAL", "Extended Sal Protocol");
|
@@ -0,0 +1,118 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
ExtendedSalBootService.h
|
||||
|
||||
Abstract:
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _EXTENDED_SAL_PROTOCOL_H_
|
||||
#define _EXTENDED_SAL_PROTOCOL_H_
|
||||
|
||||
#include "SalApi.h"
|
||||
#include "LinkedList.h"
|
||||
#include EFI_PROTOCOL_CONSUMER (CpuIo)
|
||||
|
||||
|
||||
#define EXTENDED_SAL_BOOT_SERVICE_PROTOCOL_GUID \
|
||||
{0xde0ee9a4,0x3c7a,0x44f2,0xb7,0x8b,0xe3,0xcc,0xd6,0x9c,0x3a,0xf7}
|
||||
|
||||
#define EXTENDED_SAL_SIGNATURE EFI_SIGNATURE_32('e', 's', 'a', 'l')
|
||||
|
||||
#define SAL_MIN_STATE_SIZE 0x400 * 1
|
||||
#define PAL_SCARTCH_SIZE 0x400 * 3
|
||||
#define ALIGN_MINSTATE_SIZE 512
|
||||
#define MAX_SAL_RECORD_SIZE 8*1024
|
||||
|
||||
#define SAL_RUNTIMESERVICE
|
||||
|
||||
typedef UINT16 EFI_SAL_PROCESSOR_ID;
|
||||
|
||||
EFI_FORWARD_DECLARATION (EXTENDED_SAL_BOOT_SERVICE_PROTOCOL);
|
||||
|
||||
typedef
|
||||
SAL_RUNTIMESERVICE
|
||||
SAL_RETURN_REGS
|
||||
(EFIAPI *SAL_EXTENDED_SAL_PROC) (
|
||||
IN EFI_GUID *ClassGuid,
|
||||
IN UINT64 FunctionId,
|
||||
IN UINT64 Arg2,
|
||||
IN UINT64 Arg3,
|
||||
IN UINT64 Arg4,
|
||||
IN UINT64 Arg5,
|
||||
IN UINT64 Arg6,
|
||||
IN UINT64 Arg7,
|
||||
IN UINT64 Arg8
|
||||
);
|
||||
|
||||
typedef
|
||||
SAL_RUNTIMESERVICE
|
||||
SAL_RETURN_REGS
|
||||
(EFIAPI *SAL_INTERNAL_EXTENDED_SAL_PROC) (
|
||||
IN UINT64 FunctionId,
|
||||
IN UINT64 Arg2,
|
||||
IN UINT64 Arg3,
|
||||
IN UINT64 Arg4,
|
||||
IN UINT64 Arg5,
|
||||
IN UINT64 Arg6,
|
||||
IN UINT64 Arg7,
|
||||
IN UINT64 Arg8,
|
||||
IN SAL_EXTENDED_SAL_PROC ExtendedSalProc,
|
||||
IN BOOLEAN VirtualMode,
|
||||
IN VOID *ModuleGlobal
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EXTENDED_SAL_ADD_SST_INFO) (
|
||||
IN EXTENDED_SAL_BOOT_SERVICE_PROTOCOL *This,
|
||||
IN UINT16 SalAVersion,
|
||||
IN UINT16 SalBVersion,
|
||||
IN CHAR8 *OemId,
|
||||
IN CHAR8 *ProductId
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EXTENDED_SAL_ADD_SST_ENTRY) (
|
||||
IN EXTENDED_SAL_BOOT_SERVICE_PROTOCOL *This,
|
||||
IN UINT8 EntryType,
|
||||
IN UINT8 *TableEntry,
|
||||
IN UINTN EntrySize
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EXTENDED_SAL_REGISTER_INTERNAL_PROC) (
|
||||
IN EXTENDED_SAL_BOOT_SERVICE_PROTOCOL *This,
|
||||
IN EFI_GUID *ClassGuid,
|
||||
IN UINT64 FunctionId,
|
||||
IN SAL_INTERNAL_EXTENDED_SAL_PROC InternalSalProc,
|
||||
IN VOID *PhysicalModuleGlobal
|
||||
);
|
||||
|
||||
//
|
||||
// Extended Sal Boot Service Protocol Interface
|
||||
//
|
||||
typedef struct _EXTENDED_SAL_BOOT_SERVICE_PROTOCOL{
|
||||
EXTENDED_SAL_ADD_SST_INFO AddSalSystemTableInfo;
|
||||
EXTENDED_SAL_ADD_SST_ENTRY AddSalSystemTableEntry;
|
||||
EXTENDED_SAL_REGISTER_INTERNAL_PROC AddExtendedSalProc;
|
||||
SAL_EXTENDED_SAL_PROC ExtendedSalProc;
|
||||
SAL_PROC SalProc;
|
||||
} EXTENDED_SAL_BOOT_SERVICE_PROTOCOL;
|
||||
|
||||
extern EFI_GUID gEfiExtendedSalBootServiceProtocolGuid;
|
||||
|
||||
#endif
|
@@ -0,0 +1,74 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
ExtendedSalGuid.c
|
||||
|
||||
Abstract:
|
||||
|
||||
The Extended SAL Lock Services protocol as defined in SAL CIS.
|
||||
|
||||
This protocol is installed by the entity that supplies low level
|
||||
lock primitives that work in dual mode. There are 3 functions
|
||||
as defined below.
|
||||
|
||||
--*/
|
||||
|
||||
|
||||
|
||||
#include "Tiano.h"
|
||||
#include EFI_PROTOCOL_DEFINITION(ExtendedSalGuid)
|
||||
|
||||
EFI_GUID gEfiExtendedSalBaseIoServicesProtocolGuid = EFI_EXTENDED_SAL_BASE_IO_SERVICES_PROTOCOL_GUID;
|
||||
EFI_GUID gEfiExtendedSalStallServicesProtocolGuid = EFI_EXTENDED_SAL_STALL_SERVICES_PROTOCOL_GUID;
|
||||
EFI_GUID gEfiExtendedSalLockServicesProtocolGuid = EFI_EXTENDED_SAL_LOCK_SERVICES_PROTOCOL_GUID;
|
||||
EFI_GUID gEfiExtendedSalVirtualServicesProtocolGuid = EFI_EXTENDED_SAL_VIRTUAL_SERVICES_PROTOCOL_GUID;
|
||||
EFI_GUID gEfiExtendedSalRtcServicesProtocolGuid = EFI_EXTENDED_SAL_RTC_SERVICES_PROTOCOL_GUID;
|
||||
EFI_GUID gEfiExtendedSalVariableServicesProtocolGuid = EFI_EXTENDED_SAL_VARIABLE_SERVICES_PROTOCOL_GUID;
|
||||
EFI_GUID gEfiExtendedSalMtcServicesProtocolGuid = EFI_EXTENDED_SAL_MTC_SERVICES_PROTOCOL_GUID;
|
||||
EFI_GUID gEfiExtendedSalResetServicesProtocolGuid = EFI_EXTENDED_SAL_RESET_SERVICES_PROTOCOL_GUID;
|
||||
EFI_GUID gEfiExtendedSalStatusCodeServicesProtocolGuid = EFI_EXTENDED_SAL_STATUS_CODE_SERVICES_PROTOCOL_GUID;
|
||||
EFI_GUID gEfiExtendedSalFvBlockServicesProtocolGuid = EFI_EXTENDED_SAL_FV_BLOCK_SERVICES_PROTOCOL_GUID;
|
||||
EFI_GUID gEfiExtendedSalMpServicesProtocolGuid = EFI_EXTENDED_SAL_MP_SERVICES_PROTOCOL_GUID;
|
||||
EFI_GUID gEfiExtendedSalPalServicesProtocolGuid = EFI_EXTENDED_SAL_PAL_SERVICES_PROTOCOL_GUID;
|
||||
EFI_GUID gEfiExtendedSalBaseServicesProtocolGuid = EFI_EXTENDED_SAL_BASE_SERVICES_PROTOCOL_GUID;
|
||||
EFI_GUID gEfiExtendedSalMcaServicesProtocolGuid = EFI_EXTENDED_SAL_MCA_SERVICES_PROTOCOL_GUID;
|
||||
EFI_GUID gEfiExtendedSalPciServicesProtocolGuid = EFI_EXTENDED_SAL_PCI_SERVICES_PROTOCOL_GUID;
|
||||
EFI_GUID gEfiExtendedSalCacheServicesProtocolGuid = EFI_EXTENDED_SAL_CACHE_SERVICES_PROTOCOL_GUID;
|
||||
EFI_GUID gEfiExtendedSalMcaLogServicesProtocolGuid = EFI_EXTENDED_SAL_MCA_LOG_SERVICES_PROTOCOL_GUID;
|
||||
EFI_GUID gEfiExtendedSalElogServicesProtocolGuid = EFI_EXTENDED_SAL_ELOG_SERVICES_PROTOCOL_GUID;
|
||||
EFI_GUID gEfiExtendedSalSensorServicesProtocolGuid = EFI_EXTENDED_SAL_SENSOR_SERVICES_PROTOCOL_GUID;
|
||||
EFI_GUID gEfiExtendedSalSmComLayerServicesProtocolGuid = EFI_EXTENDED_SAL_SM_COM_LAYER_SERVICES_PROTOCOL_GUID;
|
||||
EFI_GUID gEfiExtendedSalSstGuid = EFI_EXTENDED_SAL_SST_GUID;
|
||||
|
||||
|
||||
EFI_GUID_STRING(&gEfiExtendedSalBaseIoServicesProtocolGuid, "SAL IO", "Extended SAL Base IO Protocol");
|
||||
EFI_GUID_STRING(&gEfiExtendedSalStallServicesProtocolGuid, "SAL STALL", "Extended SAL Stall Services Protocol");
|
||||
EFI_GUID_STRING(&gEfiExtendedSalLockServicesProtocolGuid, "SAL LOCK", "Extended SAL Lock Services Protocol");
|
||||
EFI_GUID_STRING(&gEfiExtendedSalVirtualServicesProtocolGuid, "SAL VIRT", "Extended SAL Virtual Services Protocol");
|
||||
EFI_GUID_STRING(&gEfiExtendedSalRtcServicesProtocolGuid, "SAL RTC", "Extended SAL Lock RTC Protocol");
|
||||
EFI_GUID_STRING(&gEfiExtendedSalVariableServicesProtocolGuid, "SAL VARIABLE", "Extended SAL Variable Services Protocol");
|
||||
EFI_GUID_STRING(&gEfiExtendedSalMtcServicesProtocolGuid, "SAL MTC", "Extended SAL MTC Services Protocol");
|
||||
EFI_GUID_STRING(&gEfiExtendedSalResetServicesProtocolGuid, "SAL RESET", "Extended SAL Reset Services Protocol");
|
||||
EFI_GUID_STRING(&gEfiExtendedSalStatusCodeServicesProtocolGuid, "SAL STATUS CODE", "Extended SAL Status Call Services Protocol");
|
||||
EFI_GUID_STRING(&gEfiExtendedSalFvBlockServicesProtocolGuid, "SAL FVB", "Extended SAL FVB Services Protocol");
|
||||
EFI_GUID_STRING(&gEfiExtendedSalMpServicesProtocolGuid, "SAL MP", "Extended SAL MP Services Protocol");
|
||||
EFI_GUID_STRING(&gEfiExtendedSalPalServicesProtocolGuid, "SAL PAL", "Extended SAL PAL Services Protocol");
|
||||
EFI_GUID_STRING(&gEfiExtendedSalBaseServicesProtocolGuid, "SAL BASE", "Extended SAL Base Services Protocol");
|
||||
EFI_GUID_STRING(&gEfiExtendedSalBaseServicesProtocolGuid, "SAL MCA", "Extended SAL MCA Services Protocol");
|
||||
EFI_GUID_STRING(&gEfiExtendedSalPciServicesProtocolGuid, "SAL PCI", "Extended SAL PCI Services Protocol");
|
||||
EFI_GUID_STRING(&gEfiExtendedSalCacheServicesProtocolGuid, "SAL CACHE", "Extended SAL Cache Services Protocol");
|
||||
EFI_GUID_STRING(&gEfiExtendedSalMcaLogServicesProtocolGuid, "MCA LOG", "Extended SAL MCA LOG Services Protocol");
|
||||
EFI_GUID_STRING(&gEfiExtendedSalElogServicesProtocolGuid, "ELOG", "Extended SAL ELOG Services Protocol");
|
||||
EFI_GUID_STRING(&gEfiExtendedSalSensorServicesProtocolGuid, "SENSOR", "Extended SAL SENSOR Services Protocol");
|
||||
EFI_GUID_STRING(&gEfiExtendedSalSmComLayerServicesProtocolGuid, "SAL SM COM", "Extended SAL SM COM Services Protocol");
|
||||
EFI_GUID_STRING(&gEfiExtendedSalSstGuid, "SST SET UP", "SAL System Table Header Set up");
|
@@ -0,0 +1,283 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004 - 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
ExtendedSalGuid.h
|
||||
|
||||
Abstract:
|
||||
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _EXTENDED_SAL_GUID_H_
|
||||
#define _EXTENDED_SAL_GUID_H_
|
||||
|
||||
//
|
||||
// Extended SAL Services protocol GUIDs
|
||||
//
|
||||
|
||||
#define EFI_EXTENDED_SAL_BASE_IO_SERVICES_PROTOCOL_GUID \
|
||||
{ 0x5aea42b5, 0x31e1, 0x4515, 0xbc, 0x31, 0xb8, 0xd5, 0x25, 0x75, 0x65, 0xa6 }
|
||||
|
||||
#define EFI_EXTENDED_SAL_STALL_SERVICES_PROTOCOL_GUID \
|
||||
{ 0x53a58d06, 0xac27, 0x4d8c, 0xb5, 0xe9, 0xf0, 0x8a, 0x80, 0x65, 0x41, 0x70 }
|
||||
|
||||
#define EFI_EXTENDED_SAL_LOCK_SERVICES_PROTOCOL_GUID \
|
||||
{ 0x76b75c23, 0xfe4f, 0x4e17, 0xa2, 0xad, 0x1a, 0x65, 0x3d, 0xbb, 0x49, 0x4a }
|
||||
|
||||
#define EFI_EXTENDED_SAL_VIRTUAL_SERVICES_PROTOCOL_GUID \
|
||||
{ 0xc1a74056, 0x260e, 0x4871, 0xa0, 0x31, 0xe6, 0x45, 0xa6, 0x5b, 0x6e, 0x11 }
|
||||
|
||||
#define EFI_EXTENDED_SAL_RTC_SERVICES_PROTOCOL_GUID \
|
||||
{ 0x7e97a470, 0xefdb, 0x4d02, 0x8f, 0xce, 0x61, 0x90, 0xd2, 0x7b, 0xa2, 0x96 }
|
||||
|
||||
#define EFI_EXTENDED_SAL_VARIABLE_SERVICES_PROTOCOL_GUID \
|
||||
{ 0x4ecb6c53, 0xc641, 0x4370, 0x8c, 0xb2, 0x3b, 0x0e, 0x49, 0x6e, 0x83, 0x78 }
|
||||
|
||||
#define EFI_EXTENDED_SAL_MTC_SERVICES_PROTOCOL_GUID \
|
||||
{ 0x899afd18, 0x75e8, 0x408b, 0xa4, 0x1a, 0x6e, 0x2e, 0x7e, 0xcd, 0xf4, 0x54 }
|
||||
|
||||
#define EFI_EXTENDED_SAL_RESET_SERVICES_PROTOCOL_GUID \
|
||||
{ 0x7d019990, 0x8ce1, 0x46f5, 0xa7, 0x76, 0x3c, 0x51, 0x98, 0x67, 0x6a, 0xa0 }
|
||||
|
||||
#define EFI_EXTENDED_SAL_STATUS_CODE_SERVICES_PROTOCOL_GUID \
|
||||
{ 0xdbd91d, 0x55e9, 0x420f, 0x96, 0x39, 0x5e, 0x9f, 0x84, 0x37, 0xb4, 0x4f }
|
||||
|
||||
#define EFI_EXTENDED_SAL_FV_BLOCK_SERVICES_PROTOCOL_GUID \
|
||||
{ 0xa2271df1, 0xbcbb, 0x4f1d, 0x98, 0xa9, 0x06, 0xbc, 0x17, 0x2f, 0x07, 0x1a }
|
||||
|
||||
#define EFI_EXTENDED_SAL_MP_SERVICES_PROTOCOL_GUID \
|
||||
{ 0x697d81a2, 0xcf18, 0x4dc0, 0x9e, 0x0d, 0x06, 0x11, 0x3b, 0x61, 0x8a, 0x3f }
|
||||
|
||||
#define EFI_EXTENDED_SAL_PAL_SERVICES_PROTOCOL_GUID \
|
||||
{ 0xe1cd9d21, 0x0fc2, 0x438d, 0x97, 0x03, 0x04, 0xe6, 0x6d, 0x96, 0x1e, 0x57 }
|
||||
|
||||
#define EFI_EXTENDED_SAL_BASE_SERVICES_PROTOCOL_GUID \
|
||||
{ 0xd9e9fa06, 0x0fe0, 0x41c3, 0x96, 0xfb, 0x83, 0x42, 0x5a, 0x33, 0x94, 0xf8 }
|
||||
|
||||
#define EFI_EXTENDED_SAL_MCA_SERVICES_PROTOCOL_GUID \
|
||||
{ 0x2a591128, 0x6cc7, 0x42b1, 0x8a, 0xf0, 0x58, 0x93, 0x3b, 0x68, 0x2d, 0xbb }
|
||||
|
||||
#define EFI_EXTENDED_SAL_PCI_SERVICES_PROTOCOL_GUID \
|
||||
{ 0xa46b1a31, 0xad66, 0x4905, 0x92, 0xf6, 0x2b, 0x46, 0x59, 0xdc, 0x30, 0x63 }
|
||||
|
||||
#define EFI_EXTENDED_SAL_CACHE_SERVICES_PROTOCOL_GUID \
|
||||
{ 0xedc9494, 0x2743, 0x4ba5, 0x88, 0x18, 0x0a, 0xef, 0x52, 0x13, 0xf1, 0x88 }
|
||||
|
||||
#define EFI_EXTENDED_SAL_MCA_LOG_SERVICES_PROTOCOL_GUID \
|
||||
{ 0xcb3fd86e, 0x38a3, 0x4c03, 0x9a, 0x5c, 0x90, 0xcf, 0xa3, 0xa2, 0xab, 0x7a }
|
||||
|
||||
#define EFI_EXTENDED_SAL_ELOG_SERVICES_PROTOCOL_GUID \
|
||||
{ 0xd5e4ee5f, 0x3e0a, 0x453c, 0xa7, 0x25, 0xb6, 0x92, 0xbb, 0x6, 0x36, 0x5a }
|
||||
|
||||
#define EFI_EXTENDED_SAL_SENSOR_SERVICES_PROTOCOL_GUID \
|
||||
{ 0x4a153b6e, 0x85a1, 0x4982, 0x98, 0xf4, 0x6a, 0x8c, 0xfc, 0xa4, 0xab, 0xa1 }
|
||||
|
||||
#define EFI_EXTENDED_SAL_SM_COM_LAYER_SERVICES_PROTOCOL_GUID \
|
||||
{ 0x4356799, 0x81b7, 0x4e08, 0xa3, 0x8d, 0xd9, 0x78, 0xfa, 0x47, 0xba, 0x42 }
|
||||
|
||||
#define EFI_EXTENDED_SAL_SST_GUID \
|
||||
{ 0x38802700, 0x868a, 0x4b4e, 0x81, 0xd4, 0x4f, 0x1b, 0xdc, 0xcf, 0xb4, 0x6f }
|
||||
|
||||
//
|
||||
// Extended Sal Proc Function IDs.
|
||||
//
|
||||
|
||||
//
|
||||
// BugBug: These enums are name colisions waiting to happen. They should all be
|
||||
// prefixed with Esal! It might be better to just make them #define, so
|
||||
// they would be all caps.
|
||||
//
|
||||
|
||||
typedef enum {
|
||||
IoRead,
|
||||
IoWrite,
|
||||
MemRead,
|
||||
MemWrite
|
||||
} EFI_EXTENDED_SAL_BASE_IO_SERVICES_FUNC_ID;
|
||||
|
||||
typedef enum {
|
||||
Stall
|
||||
} EFI_EXTENDED_SAL_STALL_FUNC_ID;
|
||||
|
||||
|
||||
typedef enum {
|
||||
InitializeLockService,
|
||||
AcquireLockService,
|
||||
ReleaseLockService,
|
||||
MaxLockServiceFunctionId
|
||||
} EFI_EXTENDED_SAL_LOCK_SERVICES_FUNC_ID;
|
||||
|
||||
//
|
||||
// BugBug : Covert the first 3 functions into a lib functions
|
||||
// and move SalRegisterPhysicalAddress to SAL BASE Class
|
||||
//
|
||||
typedef enum {
|
||||
SetVirtualAddress,
|
||||
IsVirtual,
|
||||
IsEfiRuntime,
|
||||
SalRegisterPhysicalAddress
|
||||
} EFI_EXTENDED_SAL_VIRTUAL_SERVICES_FUNC_ID;
|
||||
|
||||
typedef enum {
|
||||
GetTime,
|
||||
SetTime,
|
||||
GetWakeupTime,
|
||||
SetWakeupTime,
|
||||
GetRtcFreq,
|
||||
InitializeThreshold,
|
||||
BumpThresholdCount,
|
||||
GetThresholdCount
|
||||
} EFI_EXTENDED_SAL_RTC_SERVICES_FUNC_ID;
|
||||
|
||||
typedef enum {
|
||||
EsalGetVariable,
|
||||
EsalGetNextVariableName,
|
||||
EsalSetVariable
|
||||
#if (EFI_SPECIFICATION_VERSION >= 0x00020000)
|
||||
,
|
||||
EsalQueryVariableInfo
|
||||
#endif
|
||||
} EFI_EXTENDED_SAL_VARIABLE_SERVICES_FUNC_ID;
|
||||
|
||||
typedef enum {
|
||||
GetNextHighMonotonicCount
|
||||
} EFI_EXTENDED_SAL_MTC_SERVICES_FUNC_ID;
|
||||
|
||||
typedef enum {
|
||||
ResetSystem
|
||||
} EFI_EXTENDED_SAL_RESET_SERVICES_FUNC_ID;
|
||||
|
||||
typedef enum {
|
||||
StatusCode
|
||||
} EFI_EXTENDED_SAL_STATUS_CODE_FUNC_ID;
|
||||
|
||||
typedef enum {
|
||||
ReportStatusCode
|
||||
} EFI_EXTENDED_SAL_STATUS_CODE_SERVICES_FUNC_ID;
|
||||
|
||||
typedef enum {
|
||||
Read,
|
||||
Write,
|
||||
EraseBlock,
|
||||
GetVolumeAttributes,
|
||||
SetVolumeAttributes,
|
||||
GetPhysicalAddress,
|
||||
GetBlockSize,
|
||||
EraseCustomBlockRange,
|
||||
} EFI_EXTENDED_SAL_FV_BLOCK_SERVICES_FUNC_ID;
|
||||
|
||||
typedef enum {
|
||||
AddCpuData,
|
||||
RemoveCpuData,
|
||||
ModifyCpuData,
|
||||
GetCpuDataByID,
|
||||
GetCpuDataByIndex,
|
||||
SendIpi,
|
||||
CurrentProcInfo,
|
||||
NumProcessors,
|
||||
SetMinState,
|
||||
GetMinState
|
||||
} EFI_EXTENDED_SAL_MP_SERVICES_FUNC_ID;
|
||||
|
||||
typedef enum {
|
||||
PalProc,
|
||||
SetNewPalEntry,
|
||||
GetNewPalEntry
|
||||
} EFI_EXTENDED_SAL_PAL_SERVICES_FUNC_ID;
|
||||
|
||||
typedef enum {
|
||||
SalSetVectors,
|
||||
SalMcRendez,
|
||||
SalMcSetParams,
|
||||
EsalGetVectors,
|
||||
EsalMcGetParams,
|
||||
EsalMcGetMcParams,
|
||||
EsalGetMcCheckinFlags,
|
||||
EsalGetPlatformBaseFreq
|
||||
} EFI_EXTENDED_SAL_BASE_SERVICES_FUNC_ID;
|
||||
|
||||
typedef enum {
|
||||
McaGetStateInfo,
|
||||
McaRegisterCpu
|
||||
} EFI_EXTENDED_SAL_MCA_SERVICES_FUNC_ID;
|
||||
|
||||
typedef enum {
|
||||
SalPciConfigRead,
|
||||
SalPciConfigWrite
|
||||
} EFI_EXTENDED_SAL_PCI_SERVICES_FUNC_ID;
|
||||
|
||||
typedef enum {
|
||||
SalCacheInit,
|
||||
SalCacheFlush
|
||||
} EFI_EXTENDED_SAL_CACHE_SERVICES_FUNC_ID;
|
||||
|
||||
typedef enum {
|
||||
SalGetStateInfo,
|
||||
SalGetStateInfoSize,
|
||||
SalClearStateInfo,
|
||||
EsalGetStateBuffer,
|
||||
EsalSaveStateBuffer
|
||||
} EFI_EXTENDED_SAL_MCA_LOG_SERVICES_FUNC_ID;
|
||||
|
||||
typedef enum {
|
||||
SalSetEventLogData,
|
||||
SalGetEventLogData,
|
||||
SalEraseEventLogData,
|
||||
SalActivateEventLogData
|
||||
} EFI_EXTENDED_SAL_ELOG_SERVICES_FUNC_ID;
|
||||
|
||||
typedef enum {
|
||||
EsalGetComControllerInfo,
|
||||
EsalSendComData,
|
||||
EsalReceiveComData
|
||||
} EFI_EXTENDED_SAL_SM_COM_LAYER_SERVICES_FUNC_ID;
|
||||
|
||||
typedef enum {
|
||||
SalUpdatePal
|
||||
} EFI_EXTENDED_SAL_UPDATE_PAL_SERVICES_FUNC_ID;
|
||||
|
||||
typedef enum {
|
||||
EsalReadSensorInfo,
|
||||
EsalReadSensorStatus,
|
||||
EsalRearmSensor,
|
||||
EsalReadSensorData
|
||||
} EFI_EXTENDED_SAL_SENSOR_SERVICES_FUNC_ID;
|
||||
|
||||
typedef struct {
|
||||
UINT64 ProtoData;
|
||||
} ESAL_GUID_DUMMY_PROTOCOL;
|
||||
|
||||
extern EFI_GUID gEfiExtendedSalBaseIoServicesProtocolGuid;
|
||||
extern EFI_GUID gEfiExtendedSalStallServicesProtocolGuid;
|
||||
extern EFI_GUID gEfiExtendedSalLockServicesProtocolGuid;
|
||||
extern EFI_GUID gEfiExtendedSalVirtualServicesProtocolGuid;
|
||||
extern EFI_GUID gEfiExtendedSalRtcServicesProtocolGuid;
|
||||
extern EFI_GUID gEfiExtendedSalVariableServicesProtocolGuid;
|
||||
extern EFI_GUID gEfiExtendedSalMtcServicesProtocolGuid;
|
||||
extern EFI_GUID gEfiExtendedSalResetServicesProtocolGuid;
|
||||
extern EFI_GUID gEfiExtendedSalStatusCodeServicesProtocolGuid;
|
||||
extern EFI_GUID gEfiExtendedSalFvBlockServicesProtocolGuid;
|
||||
extern EFI_GUID gEfiExtendedSalMpServicesProtocolGuid;
|
||||
extern EFI_GUID gEfiExtendedSalPalServicesProtocolGuid;
|
||||
extern EFI_GUID gEfiExtendedSalBaseServicesProtocolGuid;
|
||||
extern EFI_GUID gEfiExtendedSalMcaServicesProtocolGuid;
|
||||
extern EFI_GUID gEfiExtendedSalPciServicesProtocolGuid;
|
||||
extern EFI_GUID gEfiExtendedSalCacheServicesProtocolGuid;
|
||||
extern EFI_GUID gEfiExtendedSalMcaLogServicesProtocolGuid;
|
||||
extern EFI_GUID gEfiExtendedSalElogServicesProtocolGuid;
|
||||
extern EFI_GUID gEfiExtendedSalSensorServicesProtocolGuid;
|
||||
extern EFI_GUID gEfiExtendedSalSmComLayerServicesProtocolGuid;
|
||||
extern EFI_GUID gEfiExtendedSalSstGuid;
|
||||
|
||||
|
||||
#endif
|
@@ -0,0 +1,29 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
FaultTolerantWriteLite.c
|
||||
|
||||
Abstract:
|
||||
|
||||
This is a simple fault tolerant write driver, based on PlatformFd library.
|
||||
And it only supports write BufferSize <= SpareAreaLength.
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
#include EFI_PROTOCOL_DEFINITION(FaultTolerantWriteLite)
|
||||
|
||||
EFI_GUID gEfiFaultTolerantWriteLiteProtocolGuid = EFI_FTW_LITE_PROTOCOL_GUID;
|
||||
|
||||
EFI_GUID_STRING (&gEfiFaultTolerantWriteLiteProtocolGuid, "FaultTolerantWriteLite Protocol",
|
||||
"Fault Tolerant Write Lite protocol");
|
@@ -0,0 +1,88 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
FaultTolerantWriteLite.h
|
||||
|
||||
Abstract:
|
||||
|
||||
This is a simple fault tolerant write driver, based on PlatformFd library.
|
||||
And it only supports write BufferSize <= SpareAreaLength.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _FW_FAULT_TOLERANT_WRITE_LITE_PROTOCOL_H_
|
||||
#define _FW_FAULT_TOLERANT_WRITE_LITE_PROTOCOL_H_
|
||||
|
||||
#define EFI_FTW_LITE_PROTOCOL_GUID \
|
||||
{ 0x3f557189, 0x8dae, 0x45ae, 0xa0, 0xb3, 0x2b, 0x99, 0xca, 0x7a, 0xa7, 0xa0 }
|
||||
|
||||
//
|
||||
// Forward reference for pure ANSI compatability
|
||||
//
|
||||
EFI_FORWARD_DECLARATION (EFI_FTW_LITE_PROTOCOL);
|
||||
|
||||
//
|
||||
// Protocol API definitions
|
||||
//
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI * EFI_FTW_LITE_WRITE) (
|
||||
IN EFI_FTW_LITE_PROTOCOL *This,
|
||||
IN EFI_HANDLE FvbHandle,
|
||||
IN EFI_LBA Lba,
|
||||
IN UINTN Offset,
|
||||
IN UINTN *NumBytes,
|
||||
IN VOID *Buffer
|
||||
);
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
|
||||
Starts a target block update. This records information about the write
|
||||
in fault tolerant storage and will complete the write in a recoverable
|
||||
manner, ensuring at all times that either the original contents or
|
||||
the modified contents are available.
|
||||
|
||||
Arguments:
|
||||
|
||||
This - Calling context
|
||||
FvBlockHandle - The handle of FVB protocol that provides services for
|
||||
reading, writing, and erasing the target block.
|
||||
Lba - The logical block address of the target block.
|
||||
Offset - The offset within the target block to place the data.
|
||||
Length - The number of bytes to write to the target block.
|
||||
Buffer - The data to write.
|
||||
|
||||
Returns:
|
||||
|
||||
EFI_SUCCESS - The function completed successfully
|
||||
EFI_ABORTED - The function could not complete successfully.
|
||||
EFI_BAD_BUFFER_SIZE - The write would span a block boundary,
|
||||
which is not a valid action.
|
||||
EFI_ACCESS_DENIED - No writes have been allocated.
|
||||
EFI_NOT_READY - The last write has not been completed.
|
||||
Restart () must be called to complete it.
|
||||
|
||||
--*/
|
||||
|
||||
//
|
||||
// Protocol declaration
|
||||
//
|
||||
typedef struct _EFI_FTW_LITE_PROTOCOL {
|
||||
EFI_FTW_LITE_WRITE Write;
|
||||
} EFI_FTW_LITE_PROTOCOL;
|
||||
|
||||
extern EFI_GUID gEfiFaultTolerantWriteLiteProtocolGuid;
|
||||
|
||||
#endif
|
@@ -0,0 +1,32 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
FirmwareVolumeDispatch.c
|
||||
|
||||
Abstract:
|
||||
|
||||
Firmware Volume Dispatch protocol as defined in the Tiano Firmware Volume
|
||||
specification.
|
||||
|
||||
Presence of this protocol tells the dispatch to dispatch from this Firmware
|
||||
Volume
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
#include EFI_PROTOCOL_DEFINITION (FirmwareVolumeDispatch)
|
||||
|
||||
EFI_GUID gEfiFirmwareVolumeDispatchProtocolGuid = EFI_FIRMWARE_VOLUME_DISPATCH_PROTOCOL_GUID;
|
||||
|
||||
EFI_GUID_STRING (&gEfiFirmwareVolumeDispatchProtocolGuid, "FirmwareVolumeDispatch Protocol",
|
||||
"Firmware Volume Dispatch protocol");
|
@@ -0,0 +1,35 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
FirmwareVolumeDispatch.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Firmware Volume Dispatch protocol as defined in the Tiano Firmware Volume
|
||||
specification.
|
||||
|
||||
Presence of this protocol tells the dispatch to dispatch from this Firmware
|
||||
Volume
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef __FIRMWARE_VOLUME_DISPATCH_H__
|
||||
#define __FIRMWARE_VOLUME_DISPATCH_H__
|
||||
|
||||
#define EFI_FIRMWARE_VOLUME_DISPATCH_PROTOCOL_GUID \
|
||||
{ 0x7aa35a69, 0x506c, 0x444f, 0xa7, 0xaf, 0x69, 0x4b, 0xf5, 0x6f, 0x71, 0xc8 }
|
||||
|
||||
|
||||
extern EFI_GUID gEfiFirmwareVolumeDispatchProtocolGuid;
|
||||
|
||||
#endif
|
@@ -0,0 +1,29 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
FvbExtension.c
|
||||
|
||||
Abstract:
|
||||
|
||||
IPMI Extension Protocol to extend the FVB functionality to multiple erase blocks
|
||||
at different block offsets.
|
||||
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
#include EFI_PROTOCOL_DEFINITION(FvbExtension)
|
||||
|
||||
EFI_GUID gEfiFvbExtensionProtocolGuid = EFI_FVB_EXTENSION_PROTOCOL_GUID;
|
||||
|
||||
EFI_GUID_STRING(&gEfiFvbExtensionProtocolGuid, "FVB EXTENSION", "FVB EXTENSION");
|
@@ -0,0 +1,53 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
FvbExtension.h
|
||||
|
||||
Abstract:
|
||||
|
||||
FVB Extension protocol that extends the FVB Class in a component fashion.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _FVB_EXTENSION_H_
|
||||
#define _FVB_EXTENSION_H_
|
||||
|
||||
#define EFI_FVB_EXTENSION_PROTOCOL_GUID \
|
||||
{0x53a4c71b, 0xb581, 0x4170, 0x91, 0xb3, 0x8d, 0xb8, 0x7a, 0x4b, 0x5c, 0x46 }
|
||||
|
||||
EFI_FORWARD_DECLARATION (EFI_FVB_EXTENSION_PROTOCOL);
|
||||
|
||||
//
|
||||
// FVB Extension Function Prototypes
|
||||
//
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI * EFI_FV_ERASE_CUSTOM_BLOCK) (
|
||||
IN EFI_FVB_EXTENSION_PROTOCOL *This,
|
||||
IN EFI_LBA StartLba,
|
||||
IN UINTN OffsetStartLba,
|
||||
IN EFI_LBA LastLba,
|
||||
IN UINTN OffsetLastLba
|
||||
);
|
||||
|
||||
//
|
||||
// IPMI TRANSPORT PROTOCOL
|
||||
//
|
||||
typedef struct _EFI_FVB_EXTENSION_PROTOCOL {
|
||||
EFI_FV_ERASE_CUSTOM_BLOCK EraseFvbCustomBlock;
|
||||
} EFI_FVB_EXTENSION_PROTOCOL;
|
||||
|
||||
extern EFI_GUID gEfiFvbExtensionProtocolGuid;
|
||||
|
||||
#endif
|
||||
|
@@ -0,0 +1,29 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
GenericMemoryTest.c
|
||||
|
||||
Abstract:
|
||||
|
||||
The generic memory test protocol is used to test EFI memory.
|
||||
|
||||
For more information please look at EfiMemoryTest.doc
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
#include EFI_PROTOCOL_DEFINITION (GenericMemoryTest)
|
||||
|
||||
EFI_GUID gEfiGenericMemTestProtocolGuid = EFI_GENERIC_MEMORY_TEST_PROTOCOL_GUID;
|
||||
|
||||
EFI_GUID_STRING(&gEfiGenericMemTestProtocolGuid, "GenericMemoryTest Protocol", "Tiano Generic Memory Test Protocol");
|
@@ -0,0 +1,154 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
GenericMemoryTest.h
|
||||
|
||||
Abstract:
|
||||
|
||||
The EFI generic memory test protocol
|
||||
For more information please look at EfiMemoryTest.doc
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef __GENERIC_MEMORY_TEST_H__
|
||||
#define __GENERIC_MEMORY_TEST_H__
|
||||
|
||||
#define EFI_GENERIC_MEMORY_TEST_PROTOCOL_GUID \
|
||||
{ 0x309de7f1, 0x7f5e, 0x4ace, 0xb4, 0x9c, 0x53, 0x1b, 0xe5, 0xaa, 0x95, 0xef}
|
||||
|
||||
EFI_FORWARD_DECLARATION (EFI_GENERIC_MEMORY_TEST_PROTOCOL);
|
||||
|
||||
typedef enum {
|
||||
IGNORE,
|
||||
QUICK,
|
||||
SPARSE,
|
||||
EXTENSIVE,
|
||||
MAXLEVEL
|
||||
} EXTENDMEM_COVERAGE_LEVEL;
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_MEMORY_TEST_INIT) (
|
||||
IN EFI_GENERIC_MEMORY_TEST_PROTOCOL *This,
|
||||
IN EXTENDMEM_COVERAGE_LEVEL Level,
|
||||
OUT BOOLEAN *RequireSoftECCInit
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
Initialize the generic memory test.
|
||||
|
||||
Arguments:
|
||||
This - Protocol instance pointer.
|
||||
Level - The coverage level of the memory test.
|
||||
RequireSoftECCInit - Indicate if the memory need software ECC init.
|
||||
|
||||
Returns:
|
||||
EFI_SUCCESS - The generic memory test initialized correctly.
|
||||
EFI_NO_MEDIA - There is not any non-tested memory found, in this
|
||||
function if not any non-tesed memory found means
|
||||
that the memory test driver have not detect any
|
||||
non-tested extended memory of current system.
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PERFORM_MEMORY_TEST) (
|
||||
IN EFI_GENERIC_MEMORY_TEST_PROTOCOL *This,
|
||||
OUT UINT64 *TestedMemorySize,
|
||||
OUT UINT64 *TotalMemorySize,
|
||||
OUT BOOLEAN *ErrorOut,
|
||||
IN BOOLEAN IfTestAbort
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
Perform the memory test.
|
||||
|
||||
Arguments:
|
||||
This - Protocol instance pointer.
|
||||
TestedMemorySize - Return the tested extended memory size.
|
||||
TotalMemorySize - Return the whole system physical memory size, this
|
||||
value may be changed if in some case some error
|
||||
DIMMs be disabled.
|
||||
ErrorOut - Any time the memory error occurs, this will be TRUE.
|
||||
IfTestAbort - Indicate if the user press "ESC" to skip the memory
|
||||
test.
|
||||
|
||||
Returns:
|
||||
EFI_SUCCESS - One block of memory test ok, the block size is hide
|
||||
internally.
|
||||
EFI_NOT_FOUND - Indicate all the non-tested memory blocks have
|
||||
already go through.
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_MEMORY_TEST_FINISHED) (
|
||||
IN EFI_GENERIC_MEMORY_TEST_PROTOCOL *This
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
The memory test finished.
|
||||
|
||||
Arguments:
|
||||
This - Protocol instance pointer.
|
||||
|
||||
Returns:
|
||||
EFI_SUCCESS - Successful free all the generic memory test driver
|
||||
allocated resource and notify to platform memory
|
||||
test driver that memory test finished.
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_MEMORY_TEST_COMPATIBLE_RANGE) (
|
||||
IN EFI_GENERIC_MEMORY_TEST_PROTOCOL *This,
|
||||
IN EFI_PHYSICAL_ADDRESS StartAddress,
|
||||
IN UINT64 Length
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
Provide capability to test compatible range which used by some sepcial
|
||||
driver required using memory range before BDS perform memory test.
|
||||
|
||||
Arguments:
|
||||
This - Protocol instance pointer.
|
||||
StartAddress - The start address of the memory range.
|
||||
Length - The memory range's length.
|
||||
|
||||
Return:
|
||||
EFI_SUCCESS - The compatible memory range pass the memory test.
|
||||
EFI_DEVICE_ERROR - The compatible memory range test find memory error
|
||||
and also return return the error address.
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
typedef struct _EFI_GENERIC_MEMORY_TEST_PROTOCOL {
|
||||
EFI_MEMORY_TEST_INIT MemoryTestInit;
|
||||
EFI_PERFORM_MEMORY_TEST PerformMemoryTest;
|
||||
EFI_MEMORY_TEST_FINISHED Finished;
|
||||
EFI_MEMORY_TEST_COMPATIBLE_RANGE CompatibleRangeTest;
|
||||
} EFI_GENERIC_MEMORY_TEST_PROTOCOL;
|
||||
|
||||
extern EFI_GUID gEfiGenericMemTestProtocolGuid;
|
||||
#endif
|
@@ -0,0 +1,35 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
GuidedSectionExtraction.c
|
||||
|
||||
Abstract:
|
||||
|
||||
GUIDed section extraction protocol as defined in the Tiano File Image
|
||||
Format specification.
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
#include EFI_PROTOCOL_DEFINITION (GuidedSectionExtraction)
|
||||
|
||||
//
|
||||
// may add more GUIDed section extraction protocol GUID here.
|
||||
//
|
||||
EFI_GUID gEfiCrc32GuidedSectionExtractionProtocolGuid = EFI_CRC32_GUIDED_SECTION_EXTRACTION_PROTOCOL_GUID;
|
||||
|
||||
EFI_GUID_STRING
|
||||
(
|
||||
&gEfiSectionExtractionProtocolGuid, "CRC32 GUIDed Section Extraction Protocol",
|
||||
"Tiano CRC32 GUIDed Section Extraction Protocol"
|
||||
);
|
@@ -0,0 +1,73 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
GuidedSectionExtraction.h
|
||||
|
||||
Abstract:
|
||||
|
||||
GUIDed section extraction protocol as defined in the Tiano File
|
||||
Image Format specification.
|
||||
|
||||
This interface provides a means of decoding a GUID defined encapsulation
|
||||
section. There may be multiple different GUIDs associated with the GUIDed
|
||||
section extraction protocol. That is, all instances of the GUIDed section
|
||||
extraction protocol must have the same interface structure.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _GUIDED_SECTION_EXTRACTION_PROTOCOL_H
|
||||
#define _GUIDED_SECTION_EXTRACTION_PROTOCOL_H
|
||||
|
||||
#include "EfiFirmwareFileSystem.h"
|
||||
|
||||
//
|
||||
// Protocol GUID definition. Each GUIDed section extraction protocol has the
|
||||
// same interface but with different GUID. All the GUIDs is defined here.
|
||||
// May add multiple GUIDs here.
|
||||
//
|
||||
#define EFI_CRC32_GUIDED_SECTION_EXTRACTION_PROTOCOL_GUID \
|
||||
{ \
|
||||
0xFC1BCDB0, 0x7D31, 0x49aa, 0x93, 0x6A, 0xA4, 0x60, 0x0D, 0x9D, 0xD0, 0x83 \
|
||||
}
|
||||
|
||||
//
|
||||
// Forward reference for pure ANSI compatability
|
||||
//
|
||||
EFI_FORWARD_DECLARATION (EFI_GUIDED_SECTION_EXTRACTION_PROTOCOL);
|
||||
|
||||
//
|
||||
// Protocol member functions
|
||||
//
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_EXTRACT_GUIDED_SECTION) (
|
||||
IN EFI_GUIDED_SECTION_EXTRACTION_PROTOCOL * This,
|
||||
IN VOID *InputSection,
|
||||
OUT VOID **OutputBuffer,
|
||||
OUT UINTN *OutputSize,
|
||||
OUT UINT32 *AuthenticationStatus
|
||||
);
|
||||
|
||||
//
|
||||
// Protocol definition
|
||||
//
|
||||
typedef struct _EFI_GUIDED_SECTION_EXTRACTION_PROTOCOL {
|
||||
EFI_EXTRACT_GUIDED_SECTION ExtractSection;
|
||||
} EFI_GUIDED_SECTION_EXTRACTION_PROTOCOL;
|
||||
|
||||
//
|
||||
// may add other GUID here
|
||||
//
|
||||
extern EFI_GUID gEfiCrc32GuidedSectionExtractionProtocolGuid;
|
||||
|
||||
#endif
|
30
EdkCompatibilityPkg/Foundation/Protocol/IsaAcpi/IsaAcpi.c
Normal file
30
EdkCompatibilityPkg/Foundation/Protocol/IsaAcpi/IsaAcpi.c
Normal file
@@ -0,0 +1,30 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
IsaAcpi.c
|
||||
|
||||
Abstract:
|
||||
|
||||
EFI ISA ACPI Protocol
|
||||
|
||||
Revision History
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
|
||||
#include EFI_PROTOCOL_DEFINITION (IsaAcpi)
|
||||
|
||||
EFI_GUID gEfiIsaAcpiProtocolGuid = EFI_ISA_ACPI_PROTOCOL_GUID;
|
||||
|
||||
EFI_GUID_STRING(&gEfiIsaAcpiProtocolGuid, "ISA Acpi Protocol", "ISA Acpi Protocol");
|
177
EdkCompatibilityPkg/Foundation/Protocol/IsaAcpi/IsaAcpi.h
Normal file
177
EdkCompatibilityPkg/Foundation/Protocol/IsaAcpi/IsaAcpi.h
Normal file
@@ -0,0 +1,177 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
IsaAcpi.h
|
||||
|
||||
Abstract:
|
||||
|
||||
EFI ISA Acpi Protocol
|
||||
|
||||
Revision History
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _ISA_ACPI_H_
|
||||
#define _ISA_ACPI_H_
|
||||
|
||||
#define EFI_ISA_ACPI_PROTOCOL_GUID \
|
||||
{0x64a892dc, 0x5561, 0x4536, 0x92, 0xc7, 0x79, 0x9b, 0xfc, 0x18, 0x33, 0x55}
|
||||
|
||||
EFI_FORWARD_DECLARATION (EFI_ISA_ACPI);
|
||||
|
||||
//
|
||||
// Resource Attribute definition
|
||||
//
|
||||
#define EFI_ISA_ACPI_IRQ_TYPE_HIGH_TRUE_EDGE_SENSITIVE 0x01
|
||||
#define EFI_ISA_ACPI_IRQ_TYPE_LOW_TRUE_EDGE_SENSITIVE 0x02
|
||||
#define EFI_ISA_ACPI_IRQ_TYPE_HIGH_TRUE_LEVEL_SENSITIVE 0x04
|
||||
#define EFI_ISA_ACPI_IRQ_TYPE_LOW_TRUE_LEVEL_SENSITIVE 0x08
|
||||
|
||||
#define EFI_ISA_ACPI_DMA_SPEED_TYPE_MASK 0x03
|
||||
|
||||
#define EFI_ISA_ACPI_DMA_SPEED_TYPE_COMPATIBILITY 0x00
|
||||
#define EFI_ISA_ACPI_DMA_SPEED_TYPE_A 0x01
|
||||
#define EFI_ISA_ACPI_DMA_SPEED_TYPE_B 0x02
|
||||
#define EFI_ISA_ACPI_DMA_SPEED_TYPE_F 0x03
|
||||
#define EFI_ISA_ACPI_DMA_COUNT_BY_BYTE 0x04
|
||||
#define EFI_ISA_ACPI_DMA_COUNT_BY_WORD 0x08
|
||||
#define EFI_ISA_ACPI_DMA_BUS_MASTER 0x10
|
||||
#define EFI_ISA_ACPI_DMA_TRANSFER_TYPE_8_BIT 0x20
|
||||
#define EFI_ISA_ACPI_DMA_TRANSFER_TYPE_8_BIT_AND_16_BIT 0x40
|
||||
#define EFI_ISA_ACPI_DMA_TRANSFER_TYPE_16_BIT 0x80
|
||||
|
||||
#define EFI_ISA_ACPI_MEMORY_WIDTH_MASK 0x03
|
||||
|
||||
#define EFI_ISA_ACPI_MEMORY_WIDTH_8_BIT 0x00
|
||||
#define EFI_ISA_ACPI_MEMORY_WIDTH_16_BIT 0x01
|
||||
#define EFI_ISA_ACPI_MEMORY_WIDTH_8_BIT_AND_16_BIT 0x02
|
||||
#define EFI_ISA_ACPI_MEMORY_WRITEABLE 0x04
|
||||
#define EFI_ISA_ACPI_MEMORY_CACHEABLE 0x08
|
||||
#define EFI_ISA_ACPI_MEMORY_SHADOWABLE 0x10
|
||||
#define EFI_ISA_ACPI_MEMORY_EXPANSION_ROM 0x20
|
||||
|
||||
#define EFI_ISA_ACPI_IO_DECODE_10_BITS 0x01
|
||||
#define EFI_ISA_ACPI_IO_DECODE_16_BITS 0x02
|
||||
|
||||
//
|
||||
// Resource List definition:
|
||||
// at first, the resource was defined as below
|
||||
// but in the future, it will be defined again that follow ACPI spec: ACPI resource type
|
||||
// so that, in this driver, we can interpret the ACPI table and get the ISA device information.
|
||||
//
|
||||
|
||||
typedef enum {
|
||||
EfiIsaAcpiResourceEndOfList,
|
||||
EfiIsaAcpiResourceIo,
|
||||
EfiIsaAcpiResourceMemory,
|
||||
EfiIsaAcpiResourceDma,
|
||||
EfiIsaAcpiResourceInterrupt
|
||||
} EFI_ISA_ACPI_RESOURCE_TYPE;
|
||||
|
||||
typedef struct {
|
||||
EFI_ISA_ACPI_RESOURCE_TYPE Type;
|
||||
UINT32 Attribute;
|
||||
UINT32 StartRange;
|
||||
UINT32 EndRange;
|
||||
} EFI_ISA_ACPI_RESOURCE;
|
||||
|
||||
typedef struct {
|
||||
UINT32 HID;
|
||||
UINT32 UID;
|
||||
} EFI_ISA_ACPI_DEVICE_ID;
|
||||
|
||||
typedef struct {
|
||||
EFI_ISA_ACPI_DEVICE_ID Device;
|
||||
EFI_ISA_ACPI_RESOURCE *ResourceItem;
|
||||
} EFI_ISA_ACPI_RESOURCE_LIST;
|
||||
|
||||
//
|
||||
// Prototypes for the ISA ACPI Protocol
|
||||
//
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_ISA_ACPI_DEVICE_ENUMERATE) (
|
||||
IN EFI_ISA_ACPI *This,
|
||||
OUT EFI_ISA_ACPI_DEVICE_ID **Device
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_ISA_ACPI_SET_DEVICE_POWER) (
|
||||
IN EFI_ISA_ACPI *This,
|
||||
IN EFI_ISA_ACPI_DEVICE_ID *Device,
|
||||
IN BOOLEAN OnOff
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_ISA_ACPI_GET_CUR_RESOURCE) (
|
||||
IN EFI_ISA_ACPI *This,
|
||||
IN EFI_ISA_ACPI_DEVICE_ID *Device,
|
||||
OUT EFI_ISA_ACPI_RESOURCE_LIST **ResourceList
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_ISA_ACPI_GET_POS_RESOURCE) (
|
||||
IN EFI_ISA_ACPI *This,
|
||||
IN EFI_ISA_ACPI_DEVICE_ID *Device,
|
||||
OUT EFI_ISA_ACPI_RESOURCE_LIST **ResourceList
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_ISA_ACPI_SET_RESOURCE) (
|
||||
IN EFI_ISA_ACPI *This,
|
||||
IN EFI_ISA_ACPI_DEVICE_ID *Device,
|
||||
IN EFI_ISA_ACPI_RESOURCE_LIST *ResourceList
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_ISA_ACPI_ENABLE_DEVICE) (
|
||||
IN EFI_ISA_ACPI *This,
|
||||
IN EFI_ISA_ACPI_DEVICE_ID *Device,
|
||||
IN BOOLEAN Enable
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_ISA_ACPI_INIT_DEVICE) (
|
||||
IN EFI_ISA_ACPI *This,
|
||||
IN EFI_ISA_ACPI_DEVICE_ID *Device
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_ISA_ACPI_INTERFACE_INIT) (
|
||||
IN EFI_ISA_ACPI *This
|
||||
);
|
||||
|
||||
//
|
||||
// Interface structure for the ISA ACPI Protocol
|
||||
//
|
||||
typedef struct _EFI_ISA_ACPI {
|
||||
EFI_ISA_ACPI_DEVICE_ENUMERATE DeviceEnumerate;
|
||||
EFI_ISA_ACPI_SET_DEVICE_POWER SetPower;
|
||||
EFI_ISA_ACPI_GET_CUR_RESOURCE GetCurResource;
|
||||
EFI_ISA_ACPI_GET_POS_RESOURCE GetPosResource;
|
||||
EFI_ISA_ACPI_SET_RESOURCE SetResource;
|
||||
EFI_ISA_ACPI_ENABLE_DEVICE EnableDevice;
|
||||
EFI_ISA_ACPI_INIT_DEVICE InitDevice;
|
||||
EFI_ISA_ACPI_INTERFACE_INIT InterfaceInit;
|
||||
} EFI_ISA_ACPI_PROTOCOL;
|
||||
|
||||
extern EFI_GUID gEfiIsaAcpiProtocolGuid;
|
||||
|
||||
#endif
|
42
EdkCompatibilityPkg/Foundation/Protocol/IsaIo/IsaIo.c
Normal file
42
EdkCompatibilityPkg/Foundation/Protocol/IsaIo/IsaIo.c
Normal file
@@ -0,0 +1,42 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
IsaIo.c
|
||||
|
||||
Abstract:
|
||||
|
||||
EFI_ISA_IO_PROTOCOL or EFI_LIGHT_ISA_IO_PROTOCOL
|
||||
based on macro SIZE_REDUCTION_ISA_COMBINED.
|
||||
|
||||
Revision History
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
|
||||
#include EFI_PROTOCOL_DEFINITION (IsaIo)
|
||||
|
||||
#ifndef SIZE_REDUCTION_ISA_COMBINED
|
||||
//
|
||||
// EFI_ISA_IO_PROTOCOL
|
||||
//
|
||||
EFI_GUID gEfiIsaIoProtocolGuid = EFI_ISA_IO_PROTOCOL_GUID;
|
||||
EFI_GUID_STRING(&gEfiIsaIoProtocolGuid, "ISA IO Protocol", "ISA IO Protocol");
|
||||
|
||||
#else
|
||||
//
|
||||
// EFI_LIGHT_ISA_IO_PROTOCOL
|
||||
//
|
||||
EFI_GUID gEfiLightIsaIoProtocolGuid = EFI_LIGHT_ISA_IO_PROTOCOL_GUID;
|
||||
EFI_GUID_STRING(&gEfiLightIsaIoProtocolGuid, "Light ISA IO Protocol", "Light ISA IO Protocol");
|
||||
#endif
|
362
EdkCompatibilityPkg/Foundation/Protocol/IsaIo/IsaIo.h
Normal file
362
EdkCompatibilityPkg/Foundation/Protocol/IsaIo/IsaIo.h
Normal file
@@ -0,0 +1,362 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004 - 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
IsaIo.h
|
||||
|
||||
Abstract:
|
||||
|
||||
EFI_ISA_IO_PROTOCOL or EFI_LIGHT_ISA_IO_PROTOCOL
|
||||
based on macro SIZE_REDUCTION_ISA_COMBINED.
|
||||
|
||||
Revision History
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _EFI_ISA_IO_H
|
||||
#define _EFI_ISA_IO_H
|
||||
|
||||
//
|
||||
// Common definitions for Light ISA I/O Protocol and ISA I/O Protocol
|
||||
//
|
||||
|
||||
#include EFI_PROTOCOL_DEFINITION(IsaAcpi)
|
||||
|
||||
typedef enum {
|
||||
EfiIsaIoWidthUint8,
|
||||
EfiIsaIoWidthUint16,
|
||||
EfiIsaIoWidthUint32,
|
||||
EfiIsaIoWidthReserved,
|
||||
EfiIsaIoWidthFifoUint8,
|
||||
EfiIsaIoWidthFifoUint16,
|
||||
EfiIsaIoWidthFifoUint32,
|
||||
EfiIsaIoWidthFifoReserved,
|
||||
EfiIsaIoWidthFillUint8,
|
||||
EfiIsaIoWidthFillUint16,
|
||||
EfiIsaIoWidthFillUint32,
|
||||
EfiIsaIoWidthFillReserved,
|
||||
EfiIsaIoWidthMaximum
|
||||
} EFI_ISA_IO_PROTOCOL_WIDTH;
|
||||
|
||||
//
|
||||
// Attributes for common buffer allocations
|
||||
//
|
||||
#define EFI_ISA_IO_ATTRIBUTE_MEMORY_WRITE_COMBINE 0x080 // Map a memory range so write are combined
|
||||
#define EFI_ISA_IO_ATTRIBUTE_MEMORY_CACHED 0x800 // Map a memory range so all r/w accesses are cached
|
||||
#define EFI_ISA_IO_ATTRIBUTE_MEMORY_DISABLE 0x1000 // Disable a memory range
|
||||
|
||||
//
|
||||
// Channel attribute for DMA operations
|
||||
//
|
||||
#define EFI_ISA_IO_SLAVE_DMA_ATTRIBUTE_SPEED_COMPATIBLE 0x001
|
||||
#define EFI_ISA_IO_SLAVE_DMA_ATTRIBUTE_SPEED_A 0x002
|
||||
#define EFI_ISA_IO_SLAVE_DMA_ATTRIBUTE_SPEED_B 0x004
|
||||
#define EFI_ISA_IO_SLAVE_DMA_ATTRIBUTE_SPEED_C 0x008
|
||||
#define EFI_ISA_IO_SLAVE_DMA_ATTRIBUTE_WIDTH_8 0x010
|
||||
#define EFI_ISA_IO_SLAVE_DMA_ATTRIBUTE_WIDTH_16 0x020
|
||||
#define EFI_ISA_IO_SLAVE_DMA_ATTRIBUTE_SINGLE_MODE 0x040
|
||||
#define EFI_ISA_IO_SLAVE_DMA_ATTRIBUTE_DEMAND_MODE 0x080
|
||||
#define EFI_ISA_IO_SLAVE_DMA_ATTRIBUTE_AUTO_INITIALIZE 0x100
|
||||
|
||||
typedef enum {
|
||||
EfiIsaIoOperationBusMasterRead,
|
||||
EfiIsaIoOperationBusMasterWrite,
|
||||
EfiIsaIoOperationBusMasterCommonBuffer,
|
||||
EfiIsaIoOperationSlaveRead,
|
||||
EfiIsaIoOperationSlaveWrite,
|
||||
EfiIsaIoOperationMaximum
|
||||
} EFI_ISA_IO_PROTOCOL_OPERATION;
|
||||
|
||||
#ifndef SIZE_REDUCTION_ISA_COMBINED
|
||||
|
||||
//
|
||||
// Specific for ISA I/O Protocol
|
||||
//
|
||||
|
||||
#define EFI_INTERFACE_DEFINITION_FOR_ISA_IO EFI_ISA_IO_PROTOCOL
|
||||
#define EFI_ISA_IO_PROTOCOL_VERSION &gEfiIsaIoProtocolGuid
|
||||
#define EFI_ISA_IO_OPERATION_TOKEN EfiIsaIoOperationBusMasterWrite
|
||||
|
||||
|
||||
//
|
||||
// Global ID for the ISA I/O Protocol
|
||||
//
|
||||
|
||||
#define EFI_ISA_IO_PROTOCOL_GUID \
|
||||
{ 0x7ee2bd44, 0x3da0, 0x11d4, 0x9a, 0x38, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d }
|
||||
|
||||
EFI_FORWARD_DECLARATION (EFI_ISA_IO_PROTOCOL);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_ISA_IO_PROTOCOL_IO_MEM) (
|
||||
IN EFI_ISA_IO_PROTOCOL *This,
|
||||
IN EFI_ISA_IO_PROTOCOL_WIDTH Width,
|
||||
IN UINT32 Offset,
|
||||
IN UINTN Count,
|
||||
IN OUT VOID *Buffer
|
||||
);
|
||||
|
||||
typedef struct {
|
||||
EFI_ISA_IO_PROTOCOL_IO_MEM Read;
|
||||
EFI_ISA_IO_PROTOCOL_IO_MEM Write;
|
||||
} EFI_ISA_IO_PROTOCOL_ACCESS;
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_ISA_IO_PROTOCOL_COPY_MEM) (
|
||||
IN EFI_ISA_IO_PROTOCOL *This,
|
||||
IN EFI_ISA_IO_PROTOCOL_WIDTH Width,
|
||||
IN UINT32 DestOffset,
|
||||
IN UINT32 SrcOffset,
|
||||
IN UINTN Count
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_ISA_IO_PROTOCOL_MAP) (
|
||||
IN EFI_ISA_IO_PROTOCOL *This,
|
||||
IN EFI_ISA_IO_PROTOCOL_OPERATION Operation,
|
||||
IN UINT8 ChannelNumber OPTIONAL,
|
||||
IN UINT32 ChannelAttributes,
|
||||
IN VOID *HostAddress,
|
||||
IN OUT UINTN *NumberOfBytes,
|
||||
OUT EFI_PHYSICAL_ADDRESS *DeviceAddress,
|
||||
OUT VOID **Mapping
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_ISA_IO_PROTOCOL_UNMAP) (
|
||||
IN EFI_ISA_IO_PROTOCOL *This,
|
||||
IN VOID *Mapping
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_ISA_IO_PROTOCOL_ALLOCATE_BUFFER) (
|
||||
IN EFI_ISA_IO_PROTOCOL *This,
|
||||
IN EFI_ALLOCATE_TYPE Type,
|
||||
IN EFI_MEMORY_TYPE MemoryType,
|
||||
IN UINTN Pages,
|
||||
OUT VOID **HostAddress,
|
||||
IN UINT64 Attributes
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_ISA_IO_PROTOCOL_FREE_BUFFER) (
|
||||
IN EFI_ISA_IO_PROTOCOL *This,
|
||||
IN UINTN Pages,
|
||||
IN VOID *HostAddress
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_ISA_IO_PROTOCOL_FLUSH) (
|
||||
IN EFI_ISA_IO_PROTOCOL *This
|
||||
);
|
||||
|
||||
//
|
||||
// Interface structure for the ISA I/O Protocol
|
||||
//
|
||||
typedef struct _EFI_ISA_IO_PROTOCOL {
|
||||
EFI_ISA_IO_PROTOCOL_ACCESS Mem;
|
||||
EFI_ISA_IO_PROTOCOL_ACCESS Io;
|
||||
EFI_ISA_IO_PROTOCOL_COPY_MEM CopyMem;
|
||||
EFI_ISA_IO_PROTOCOL_MAP Map;
|
||||
EFI_ISA_IO_PROTOCOL_UNMAP Unmap;
|
||||
EFI_ISA_IO_PROTOCOL_ALLOCATE_BUFFER AllocateBuffer;
|
||||
EFI_ISA_IO_PROTOCOL_FREE_BUFFER FreeBuffer;
|
||||
EFI_ISA_IO_PROTOCOL_FLUSH Flush;
|
||||
EFI_ISA_ACPI_RESOURCE_LIST *ResourceList;
|
||||
UINT32 RomSize;
|
||||
VOID *RomImage;
|
||||
} EFI_ISA_IO_PROTOCOL;
|
||||
|
||||
extern EFI_GUID gEfiIsaIoProtocolGuid;
|
||||
|
||||
#else
|
||||
|
||||
//
|
||||
// Specific for Light ISA I/O Protocol
|
||||
//
|
||||
|
||||
#define EFI_INTERFACE_DEFINITION_FOR_ISA_IO EFI_LIGHT_ISA_IO_PROTOCOL
|
||||
#define EFI_ISA_IO_PROTOCOL_VERSION &gEfiLightIsaIoProtocolGuid
|
||||
#define EFI_ISA_IO_OPERATION_TOKEN EfiIsaIoOperationSlaveWrite
|
||||
|
||||
#define ADD_SERIAL_NAME(x, y)
|
||||
|
||||
//
|
||||
// Global ID for the Light ISA I/O Protocol
|
||||
//
|
||||
|
||||
#define EFI_LIGHT_ISA_IO_PROTOCOL_GUID \
|
||||
{ 0x7cc7ed80, 0x9a68, 0x4781, 0x80, 0xe4, 0xda, 0x16, 0x99, 0x10, 0x5a, 0xfe }
|
||||
|
||||
EFI_FORWARD_DECLARATION (EFI_LIGHT_ISA_IO_PROTOCOL);
|
||||
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_LIGHT_ISA_IO_PROTOCOL_IO_MEM) (
|
||||
IN EFI_LIGHT_ISA_IO_PROTOCOL *This,
|
||||
IN EFI_ISA_IO_PROTOCOL_WIDTH Width,
|
||||
IN UINT32 Offset,
|
||||
IN UINTN Count,
|
||||
IN OUT VOID *Buffer
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
|
||||
Performs an ISA I/O Read/Write Cycle
|
||||
EFI_LIGHT_ISA_IO_PROTOCOL doesn't verfiy access for I/O operation.
|
||||
|
||||
Arguments:
|
||||
|
||||
This - A pointer to the EFI_ISA_IO_PROTOCOL or EFI_LIGHT_ISA_IO_PROTOCOL instance.
|
||||
Width - Signifies the width of the I/O operation.
|
||||
Offset - The offset in ISA I/O space to start the I/O operation.
|
||||
Count - The number of I/O operations to perform.
|
||||
Buffer - The source/destination buffer
|
||||
|
||||
Returns:
|
||||
|
||||
EFI_SUCCESS - The data was read from or written to the device sucessfully.
|
||||
EFI_UNSUPPORTED - The Offset is not valid for this device.
|
||||
EFI_INVALID_PARAMETER - Width or Count, or both, were invalid.
|
||||
EFI_OUT_OF_RESOURCES - The request could not be completed due to a lack of resources.
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
typedef struct {
|
||||
EFI_LIGHT_ISA_IO_PROTOCOL_IO_MEM Read;
|
||||
EFI_LIGHT_ISA_IO_PROTOCOL_IO_MEM Write;
|
||||
} EFI_LIGHT_ISA_IO_PROTOCOL_ACCESS;
|
||||
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_LIGHT_ISA_IO_PROTOCOL_MAP) (
|
||||
IN EFI_LIGHT_ISA_IO_PROTOCOL *This,
|
||||
IN EFI_ISA_IO_PROTOCOL_OPERATION Operation,
|
||||
IN UINT8 ChannelNumber OPTIONAL,
|
||||
IN UINT32 ChannelAttributes,
|
||||
IN VOID *HostAddress,
|
||||
IN OUT UINTN *NumberOfBytes,
|
||||
OUT EFI_PHYSICAL_ADDRESS *DeviceAddress,
|
||||
OUT VOID **Mapping
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
|
||||
Maps a memory region for DMA, EFI_LIGHT_ISA_IO_PROTOCOL only supports
|
||||
Slave read/write operation to save code size.
|
||||
|
||||
Arguments:
|
||||
|
||||
This - A pointer to the EFI_LIGHT_ISA_IO_PROTOCOL instance.
|
||||
Operation - Indicates the type of DMA (slave or bus master), and if
|
||||
the DMA operation is going to read or write to system memory.
|
||||
ChannelNumber - The slave channel number to use for this DMA operation.
|
||||
If Operation and ChannelAttributes shows that this device
|
||||
performs bus mastering DMA, then this field is ignored.
|
||||
The legal range for this field is 0..7.
|
||||
ChannelAttributes - The attributes of the DMA channel to use for this DMA operation
|
||||
HostAddress - The system memory address to map to the device.
|
||||
NumberOfBytes - On input the number of bytes to map. On output the number
|
||||
of bytes that were mapped.
|
||||
DeviceAddress - The resulting map address for the bus master device to use
|
||||
to access the hosts HostAddress.
|
||||
Mapping - A resulting value to pass to EFI_ISA_IO.Unmap().
|
||||
|
||||
Returns:
|
||||
|
||||
EFI_SUCCESS - The range was mapped for the returned NumberOfBytes.
|
||||
EFI_INVALID_PARAMETER - The Operation or HostAddress is undefined.
|
||||
EFI_UNSUPPORTED - The HostAddress can not be mapped as a common buffer.
|
||||
EFI_DEVICE_ERROR - The system hardware could not map the requested address.
|
||||
EFI_OUT_OF_RESOURCES - The memory pages could not be allocated.
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_LIGHT_ISA_IO_PROTOCOL_UNMAP) (
|
||||
IN EFI_LIGHT_ISA_IO_PROTOCOL *This,
|
||||
IN VOID *Mapping
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
|
||||
Unmaps a memory region for DMA
|
||||
|
||||
Arguments:
|
||||
|
||||
This - A pointer to the EFI_ISA_IO_PROTOCOL or EFI_LIGHT_ISA_IO_PROTOCOL instance.
|
||||
Mapping - The mapping value returned from EFI_ISA_IO.Map().
|
||||
|
||||
Returns:
|
||||
|
||||
EFI_SUCCESS - The range was unmapped.
|
||||
EFI_DEVICE_ERROR - The data was not committed to the target system memory.
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_LIGHT_ISA_IO_PROTOCOL_FLUSH) (
|
||||
IN EFI_LIGHT_ISA_IO_PROTOCOL *This
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
|
||||
Flushes a DMA buffer
|
||||
|
||||
Arguments:
|
||||
|
||||
This - A pointer to the EFI_ISA_IO_PROTOCOL or EFI_LIGHT_ISA_IO_PROTOCOL instance.
|
||||
|
||||
Returns:
|
||||
|
||||
EFI_SUCCESS - The buffers were flushed.
|
||||
EFI_DEVICE_ERROR - The buffers were not flushed due to a hardware error.
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
//
|
||||
// Interface structure for the Light ISA I/O Protocol
|
||||
//
|
||||
typedef struct _EFI_LIGHT_ISA_IO_PROTOCOL {
|
||||
EFI_LIGHT_ISA_IO_PROTOCOL_ACCESS Io;
|
||||
EFI_LIGHT_ISA_IO_PROTOCOL_MAP Map;
|
||||
EFI_LIGHT_ISA_IO_PROTOCOL_UNMAP Unmap;
|
||||
EFI_LIGHT_ISA_IO_PROTOCOL_FLUSH Flush;
|
||||
EFI_ISA_ACPI_RESOURCE_LIST *ResourceList;
|
||||
UINT32 RomSize;
|
||||
VOID *RomImage;
|
||||
} EFI_LIGHT_ISA_IO_PROTOCOL;
|
||||
|
||||
extern EFI_GUID gEfiLightIsaIoProtocolGuid;
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
@@ -0,0 +1,30 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
LegacyBiosThunk.c
|
||||
|
||||
Abstract:
|
||||
|
||||
Legacy BIOS Thunk Protocol
|
||||
|
||||
Revision History
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
|
||||
#include EFI_PROTOCOL_DEFINITION (LegacyBiosThunk)
|
||||
|
||||
EFI_GUID gEfiLegacyBiosThunkProtocolGuid = EFI_LEGACY_BIOS_THUNK_PROTOCOL_GUID;
|
||||
|
||||
EFI_GUID_STRING(&gEfiLegacyBiosThunkProtocolGuid, "Legacy BIOS Thunk Protocol", "Legacy BIOS Thunk Protocol");
|
@@ -0,0 +1,120 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
LegacyBiosThunk.h
|
||||
|
||||
Abstract:
|
||||
|
||||
The EFI Legacy BIOS Thunk Protocol is used to abstract Thunk16 call.
|
||||
|
||||
Note: The names for EFI_IA32_REGISTER_SET elements were picked to follow
|
||||
well known naming conventions.
|
||||
|
||||
Thunk - A thunk is a transition from one processor mode to another. A Thunk
|
||||
is a transition from native EFI mode to 16-bit mode. A reverse thunk
|
||||
would be a transition from 16-bit mode to native EFI mode.
|
||||
|
||||
|
||||
Note: Note: Note: Note: Note: Note: Note:
|
||||
|
||||
You most likely should not use this protocol! Find the EFI way to solve the
|
||||
problem to make your code portable
|
||||
|
||||
Note: Note: Note: Note: Note: Note: Note:
|
||||
|
||||
Revision History
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _EFI_LEGACY_BIOS_THUNK_H_
|
||||
#define _EFI_LEGACY_BIOS_THUNK_H_
|
||||
|
||||
#include EFI_PROTOCOL_DEFINITION (LegacyBios)
|
||||
|
||||
#define EFI_LEGACY_BIOS_THUNK_PROTOCOL_GUID \
|
||||
{ \
|
||||
0x4c51a7ba, 0x7195, 0x442d, 0x87, 0x92, 0xbe, 0xea, 0x6e, 0x2f, 0xf6, 0xec \
|
||||
}
|
||||
|
||||
EFI_FORWARD_DECLARATION (EFI_LEGACY_BIOS_THUNK_PROTOCOL);
|
||||
|
||||
typedef
|
||||
BOOLEAN
|
||||
(EFIAPI *EFI_LEGACY_BIOS_THUNK_INT86) (
|
||||
IN EFI_LEGACY_BIOS_THUNK_PROTOCOL * This,
|
||||
IN UINT8 BiosInt,
|
||||
IN OUT EFI_IA32_REGISTER_SET * Regs
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
Thunk to 16-bit real mode and execute a software interrupt with a vector
|
||||
of BiosInt. Regs will contain the 16-bit register context on entry and
|
||||
exit.
|
||||
|
||||
Arguments:
|
||||
This - Protocol instance pointer.
|
||||
BiosInt - Processor interrupt vector to invoke
|
||||
Reg - Register contexted passed into (and returned) from thunk to
|
||||
16-bit mode
|
||||
|
||||
Returns:
|
||||
FALSE - Thunk completed, and there were no BIOS errors in the target code.
|
||||
See Regs for status.
|
||||
TRUE - There was a BIOS erro in the target code.
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
typedef
|
||||
BOOLEAN
|
||||
(EFIAPI *EFI_LEGACY_BIOS_THUNK_FARCALL86) (
|
||||
IN EFI_LEGACY_BIOS_THUNK_PROTOCOL * This,
|
||||
IN UINT16 Segment,
|
||||
IN UINT16 Offset,
|
||||
IN EFI_IA32_REGISTER_SET * Regs,
|
||||
IN VOID *Stack,
|
||||
IN UINTN StackSize
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
Thunk to 16-bit real mode and call Segment:Offset. Regs will contain the
|
||||
16-bit register context on entry and exit. Arguments can be passed on
|
||||
the Stack argument
|
||||
|
||||
Arguments:
|
||||
This - Protocol instance pointer.
|
||||
Segment - Segemnt of 16-bit mode call
|
||||
Offset - Offset of 16-bit mdoe call
|
||||
Reg - Register contexted passed into (and returned) from thunk to
|
||||
16-bit mode
|
||||
Stack - Caller allocated stack used to pass arguments
|
||||
StackSize - Size of Stack in bytes
|
||||
|
||||
Returns:
|
||||
FALSE - Thunk completed, and there were no BIOS errors in the target code.
|
||||
See Regs for status.
|
||||
TRUE - There was a BIOS erro in the target code.
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
typedef struct _EFI_LEGACY_BIOS_THUNK_PROTOCOL {
|
||||
EFI_LEGACY_BIOS_THUNK_INT86 Int86;
|
||||
EFI_LEGACY_BIOS_THUNK_FARCALL86 FarCall86;
|
||||
} EFI_LEGACY_BIOS_THUNK_PROTOCOL;
|
||||
|
||||
extern EFI_GUID gEfiLegacyBiosThunkProtocolGuid;
|
||||
|
||||
#endif
|
@@ -0,0 +1,27 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
LoadPe32Image.c
|
||||
|
||||
Abstract:
|
||||
|
||||
Load PE32 Image Protocol
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
#include EFI_PROTOCOL_DEFINITION (LoadPe32Image)
|
||||
|
||||
EFI_GUID gEfiLoadPeImageGuid = PE32_IMAGE_PROTOCOL_GUID;
|
||||
|
||||
EFI_GUID_STRING(&gEfiLoadPeImageGuid, "LoadPe32Image Protocol", "Tiano Load Pe32 Image Protocol");
|
@@ -0,0 +1,64 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
LoadPe32Image.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Load PE32 Image Protocol
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _LOAD_PE32_IMAGE_H_
|
||||
#define _LOAD_PE32_IMAGE_H_
|
||||
|
||||
#define PE32_IMAGE_PROTOCOL_GUID \
|
||||
{0x5cb5c776,0x60d5,0x45ee,0x88,0x3c,0x45,0x27,0x8,0xcd,0x74,0x3f }
|
||||
|
||||
#define EFI_LOAD_PE_IMAGE_ATTRIBUTE_NONE 0x00
|
||||
#define EFI_LOAD_PE_IMAGE_ATTRIBUTE_RUNTIME_REGISTRATION 0x01
|
||||
#define EFI_LOAD_PE_IMAGE_ATTRIBUTE_DEBUG_IMAGE_INFO_TABLE_REGISTRATION 0x02
|
||||
|
||||
EFI_FORWARD_DECLARATION (EFI_PE32_IMAGE_PROTOCOL);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *LOAD_PE_IMAGE) (
|
||||
IN EFI_PE32_IMAGE_PROTOCOL *This,
|
||||
IN EFI_HANDLE ParentImageHandle,
|
||||
IN EFI_DEVICE_PATH_PROTOCOL *FilePath,
|
||||
IN VOID *SourceBuffer OPTIONAL,
|
||||
IN UINTN SourceSize,
|
||||
IN EFI_PHYSICAL_ADDRESS DstBuffer OPTIONAL,
|
||||
OUT UINTN *NumberOfPages OPTIONAL,
|
||||
OUT EFI_HANDLE *ImageHandle,
|
||||
OUT EFI_PHYSICAL_ADDRESS *EntryPoint OPTIONAL,
|
||||
IN UINT32 Attribute
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *UNLOAD_PE_IMAGE) (
|
||||
IN EFI_PE32_IMAGE_PROTOCOL *This,
|
||||
IN EFI_HANDLE ImageHandle
|
||||
);
|
||||
|
||||
typedef struct _EFI_PE32_IMAGE_PROTOCOL {
|
||||
LOAD_PE_IMAGE LoadPeImage;
|
||||
UNLOAD_PE_IMAGE UnLoadPeImage;
|
||||
} EFI_PE32_IMAGE_PROTOCOL;
|
||||
|
||||
extern EFI_GUID gEfiLoadPeImageGuid;
|
||||
|
||||
#endif
|
||||
|
@@ -0,0 +1,37 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
NicIp4Config.c
|
||||
|
||||
Abstract:
|
||||
|
||||
--*/
|
||||
|
||||
#include "EfiSpec.h"
|
||||
#include EFI_PROTOCOL_DEFINITION (NicIp4Config)
|
||||
|
||||
EFI_GUID gEfiNicIp4ConfigProtocolGuid = EFI_NIC_IP4_CONFIG_PROTOCOL_GUID;
|
||||
|
||||
EFI_GUID_STRING (
|
||||
&gEfiNicIp4ConfigProtocolGuid,
|
||||
"NicIP4Config Protocol",
|
||||
"NicIP4Config Protocol"
|
||||
);
|
||||
|
||||
EFI_GUID gEfiNicIp4ConfigVariableGuid = EFI_NIC_IP4_CONFIG_VARIABLE_GUID;
|
||||
|
||||
EFI_GUID_STRING(
|
||||
&gEfiNicIp4ConfigVariableGuid,
|
||||
"Ip4 Static Config",
|
||||
"Ip4 Configuration Data"
|
||||
);
|
@@ -0,0 +1,118 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
NicIp4Config.h
|
||||
|
||||
Abstract:
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _NIC_IP4_CONFIG_H_
|
||||
#define _NIC_IP4_CONFIG_H_
|
||||
|
||||
#include EFI_PROTOCOL_DEFINITION (Ip4Config)
|
||||
|
||||
#define EFI_NIC_IP4_CONFIG_PROTOCOL_GUID \
|
||||
{0xdca3d4d, 0x12da, 0x4728, 0xbf, 0x7e, 0x86, 0xce, 0xb9, 0x28, 0xd0, 0x67}
|
||||
|
||||
#define EFI_NIC_IP4_CONFIG_VARIABLE_GUID \
|
||||
{0xd8944553, 0xc4dd, 0x41f4, 0x9b, 0x30, 0xe1, 0x39, 0x7c, 0xfb, 0x26, 0x7b}
|
||||
|
||||
#define EFI_NIC_IP4_CONFIG_VARIABLE L"EfiNicIp4ConfigVariable"
|
||||
|
||||
|
||||
typedef struct _EFI_NIC_IP4_CONFIG_PROTOCOL EFI_NIC_IP4_CONFIG_PROTOCOL;
|
||||
|
||||
typedef enum {
|
||||
//
|
||||
// Config source: dhcp or static
|
||||
//
|
||||
IP4_CONFIG_SOURCE_DHCP = 0,
|
||||
IP4_CONFIG_SOURCE_STATIC,
|
||||
IP4_CONFIG_SOURCE_MAX,
|
||||
|
||||
IP4_NIC_NAME_LENGTH = 64,
|
||||
MAX_IP4_CONFIG_IN_VARIABLE = 16,
|
||||
};
|
||||
|
||||
//
|
||||
// The following structures are used by drivers/applications other
|
||||
// than EFI_IP4_PROTOCOL, such as ifconfig shell application, to
|
||||
// communicate the IP configuration information to EFI_IP4_CONFIG_PROTOCOL.
|
||||
// EFI_IP4_CONFIG_PROTOCOL in turn is used by EFI_IP4_PROTOCOL to get
|
||||
// the default IP4 configuration. ifconfig can't use the EFI_IP4_PROTOCOL
|
||||
// because it don't know how to configure the default IP address even
|
||||
// it has got the address.
|
||||
//
|
||||
// NIC_ADDR contains the interface's type and MAC address to identify
|
||||
// a specific NIC. NIC_IP4_CONFIG_INFO contains the IP4 configure
|
||||
// parameters for that NIC. IP4_CONFIG_VARIABLE is the EFI variable to
|
||||
// save the configuration. NIC_IP4_CONFIG_INFO and IP4_CONFIG_VARIABLE
|
||||
// is of variable length.
|
||||
//
|
||||
// EFI_NIC_IP4_CONFIG_PROTOCOL is a priority protocol, not defined by UEFI2.0
|
||||
//
|
||||
typedef struct {
|
||||
UINT16 Type;
|
||||
UINT8 Len;
|
||||
EFI_MAC_ADDRESS MacAddr;
|
||||
} NIC_ADDR;
|
||||
|
||||
typedef struct {
|
||||
NIC_ADDR NicAddr; // Link layer address to identify the NIC
|
||||
UINT32 Source; // Static or DHCP
|
||||
BOOLEAN Perment; // Survive the reboot or not
|
||||
EFI_IP4_IPCONFIG_DATA Ip4Info; // IP addresses
|
||||
} NIC_IP4_CONFIG_INFO;
|
||||
|
||||
typedef struct {
|
||||
UINT32 Len; // Total length of the variable
|
||||
UINT16 CheckSum; // CheckSum, the same as IP4 head checksum
|
||||
UINT32 Count; // Number of NIC_IP4_CONFIG_INFO follows
|
||||
NIC_IP4_CONFIG_INFO ConfigInfo;
|
||||
} IP4_CONFIG_VARIABLE;
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_NIC_IP4_CONFIG_GET_INFO) (
|
||||
IN EFI_NIC_IP4_CONFIG_PROTOCOL *This,
|
||||
IN OUT UINTN *Len,
|
||||
OUT NIC_IP4_CONFIG_INFO *NicConfig OPTIONAL
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_NIC_IP4_CONFIG_SET_INFO) (
|
||||
IN EFI_NIC_IP4_CONFIG_PROTOCOL *This,
|
||||
IN NIC_IP4_CONFIG_INFO *NicConfig, OPTIONAL
|
||||
IN BOOLEAN ReConfig
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_NIC_IP4_CONFIG_GET_NAME) (
|
||||
IN EFI_NIC_IP4_CONFIG_PROTOCOL *This,
|
||||
IN UINT16 *Name, OPTIONAL
|
||||
IN NIC_ADDR *NicAddr OPTIONAL
|
||||
);
|
||||
|
||||
typedef
|
||||
struct _EFI_NIC_IP4_CONFIG_PROTOCOL {
|
||||
EFI_NIC_IP4_CONFIG_GET_NAME GetName;
|
||||
EFI_NIC_IP4_CONFIG_GET_INFO GetInfo;
|
||||
EFI_NIC_IP4_CONFIG_SET_INFO SetInfo;
|
||||
};
|
||||
|
||||
extern EFI_GUID gEfiNicIp4ConfigVariableGuid;
|
||||
extern EFI_GUID gEfiNicIp4ConfigProtocolGuid;
|
||||
#endif
|
@@ -0,0 +1,27 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
PciHotPlugRequest.c
|
||||
|
||||
Abstract:
|
||||
|
||||
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
#include EFI_PROTOCOL_DEFINITION (PciHotPlugRequest)
|
||||
|
||||
EFI_GUID gEfiPciHotPlugRequestProtocolGuid = EFI_PCI_HOTPLUG_REQUEST_PROTOCOL_GUID;
|
||||
|
||||
EFI_GUID_STRING(&gEfiPciHotPlugRequestProtocolGuid, "Pci Hot Plug Request Protocol", "Tiano Hot Plug Request Protocol");
|
@@ -0,0 +1,55 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
PciHotPlugRequest.h
|
||||
|
||||
Abstract:
|
||||
|
||||
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _PCI_HOTPLUG_REQUEST_H_
|
||||
#define _PCI_HOTPLUG_REQUEST_H_
|
||||
|
||||
#define EFI_PCI_HOTPLUG_REQUEST_PROTOCOL_GUID \
|
||||
{0x19cb87ab,0x2cb9,0x4665,0x83,0x60,0xdd,0xcf,0x60,0x54,0xf7,0x9d}
|
||||
|
||||
typedef enum {
|
||||
EfiPciHotPlugRequestAdd,
|
||||
EfiPciHotplugRequestRemove
|
||||
} EFI_PCI_HOTPLUG_OPERATION;
|
||||
|
||||
EFI_FORWARD_DECLARATION (EFI_PCI_HOTPLUG_REQUEST_PROTOCOL);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PCI_HOTPLUG_REQUEST_NOTIFY) (
|
||||
IN EFI_PCI_HOTPLUG_REQUEST_PROTOCOL *This,
|
||||
IN EFI_PCI_HOTPLUG_OPERATION Operation,
|
||||
IN EFI_HANDLE Controller,
|
||||
IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL,
|
||||
IN OUT UINT8 *NumberOfChildren,
|
||||
IN OUT EFI_HANDLE *ChildHandleBuffer
|
||||
);
|
||||
|
||||
|
||||
|
||||
typedef struct _EFI_PCI_HOTPLUG_REQUEST_PROTOCOL {
|
||||
EFI_PCI_HOTPLUG_REQUEST_NOTIFY Notify;
|
||||
} EFI_PCI_HOTPLUG_REQUEST_PROTOCOL;
|
||||
|
||||
|
||||
extern EFI_GUID gEfiPciHotPlugRequestProtocolGuid;
|
||||
|
||||
#endif
|
@@ -0,0 +1,27 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
Performance.c
|
||||
|
||||
Abstract:
|
||||
|
||||
DXE performance checking infrastructure
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
#include EFI_PROTOCOL_DEFINITION (Performance)
|
||||
|
||||
EFI_GUID gEfiPerformanceProtocolGuid = EFI_PERFORMANCE_PROTOCOL_GUID;
|
||||
|
||||
EFI_GUID_STRING(&gEfiPerformanceProtocolGuid, "Performance Protocol", "Performance Protocol");
|
@@ -0,0 +1,103 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
Performance.h
|
||||
|
||||
Abstract:
|
||||
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _EFI_PERFORMANCE_H_
|
||||
#define _EFI_PERFORMANCE_H_
|
||||
|
||||
#define EFI_PERFORMANCE_PROTOCOL_GUID \
|
||||
{ 0xFFECFFFF, 0x923C, 0x14d2, 0x9E, 0x3F, 0x22, 0xA0, 0xC9, 0x69, 0x56, 0x3B }
|
||||
|
||||
#define EFI_NULL_GUID \
|
||||
{ 0x00000000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }
|
||||
|
||||
|
||||
EFI_FORWARD_DECLARATION (EFI_PERFORMANCE_PROTOCOL);
|
||||
|
||||
#define DXE_TOK L"DXE"
|
||||
#define SHELL_TOK L"SHELL"
|
||||
#define PEI_TOK L"PEI"
|
||||
#define BDS_TOK L"BDS"
|
||||
#define DRIVERBINDING_START_TOK L"DriverBinding:Start"
|
||||
#define DRIVERBINDING_SUPPORT_TOK L"DriverBinding:Support"
|
||||
#define START_IMAGE_TOK L"StartImage"
|
||||
#define LOAD_IMAGE_TOK L"LoadImage"
|
||||
|
||||
#define DXE_PHASE 0
|
||||
#define SHELL_PHASE 1
|
||||
#define PEI_PHASE 2
|
||||
|
||||
#define EFI_PERF_TOKEN_LENGTH 32
|
||||
#define EFI_PERF_HOST_LENGTH 32
|
||||
#define EFI_PERF_PDBFILENAME_LENGTH 28
|
||||
|
||||
typedef struct {
|
||||
EFI_HANDLE Handle;
|
||||
UINT16 Token[EFI_PERF_TOKEN_LENGTH];
|
||||
UINT16 Host[EFI_PERF_HOST_LENGTH];
|
||||
UINT64 StartTick;
|
||||
UINT64 EndTick;
|
||||
EFI_GUID GuidName;
|
||||
UINT8 PdbFileName[EFI_PERF_PDBFILENAME_LENGTH];
|
||||
UINT8 Phase;
|
||||
} EFI_GAUGE_DATA ;
|
||||
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI * EFI_PERF_START_GAUGE) (
|
||||
IN EFI_PERFORMANCE_PROTOCOL *This,
|
||||
IN EFI_HANDLE Handle,
|
||||
IN UINT16 *Token,
|
||||
IN UINT16 *Host,
|
||||
IN UINT64 Ticker
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI * EFI_PERF_END_GAUGE) (
|
||||
IN EFI_PERFORMANCE_PROTOCOL *This,
|
||||
IN EFI_HANDLE Handle,
|
||||
IN UINT16 *Token,
|
||||
IN UINT16 *Host,
|
||||
IN UINT64 Ticker
|
||||
);
|
||||
|
||||
|
||||
typedef
|
||||
EFI_GAUGE_DATA *
|
||||
(EFIAPI * EFI_PERF_GET_GAUGE) (
|
||||
IN EFI_PERFORMANCE_PROTOCOL *This,
|
||||
IN EFI_HANDLE Handle,
|
||||
IN UINT16 *Token,
|
||||
IN UINT16 *Host,
|
||||
IN EFI_GAUGE_DATA *PrevGauge
|
||||
);
|
||||
|
||||
|
||||
typedef struct _EFI_PERFORMANCE_PROTOCOL{
|
||||
EFI_PERF_START_GAUGE StartGauge;
|
||||
EFI_PERF_END_GAUGE EndGauge;
|
||||
EFI_PERF_GET_GAUGE GetGauge;
|
||||
} EFI_PERFORMANCE_PROTOCOL;
|
||||
|
||||
extern EFI_GUID gEfiPerformanceProtocolGuid;
|
||||
|
||||
#endif
|
||||
|
@@ -0,0 +1,30 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
PlatformMemTest.c
|
||||
|
||||
Abstract:
|
||||
|
||||
// TBD defined in the Tiano specification??
|
||||
|
||||
The Platform memory test protocol is used to provide platform specific
|
||||
information and functionality for memory test
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
#include EFI_PROTOCOL_DEFINITION (PlatformMemTest)
|
||||
|
||||
EFI_GUID gEfiPlatformMemTestGuid = EFI_PLATFORM_MEMTEST_PROTOCOL_GUID;
|
||||
|
||||
EFI_GUID_STRING(&gEfiPlatformMemTestGuid, "Platform Memory Test Protocol", "Platform MemTest protocol");
|
@@ -0,0 +1,258 @@
|
||||
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
PlatformMemtest.h
|
||||
|
||||
Abstract:
|
||||
This files defines the protocol produced by platform memory test driver.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef __PLATFORM_MEMTEST_H__
|
||||
#define __PLATFORM_MEMTEST_H__
|
||||
|
||||
|
||||
#include EFI_PROTOCOL_CONSUMER (Hii)
|
||||
#include EFI_PROTOCOL_CONSUMER (GenericMemoryTest)
|
||||
|
||||
|
||||
#define EFI_PLATFORM_MEMTEST_PROTOCOL_GUID \
|
||||
{ 0x859ba18, 0x7dd7, 0x4ed7, 0xa8, 0x8e, 0x10, 0x9c, 0x63, 0x91, 0x7b, 0xdd }
|
||||
|
||||
//
|
||||
// Forward reference for pure ANSI compatability
|
||||
//
|
||||
EFI_FORWARD_DECLARATION (EFI_PLATFORM_MEMTEST_PROTOCOL);
|
||||
|
||||
|
||||
//
|
||||
// Basic type definitions
|
||||
//
|
||||
typedef UINT16 EFI_DIMM_ID;
|
||||
#define EFI_INVALID_DIMM_ID 0xFFFF
|
||||
|
||||
//
|
||||
// This describes the capabilities
|
||||
//
|
||||
typedef struct {
|
||||
UINT32 HwCap;
|
||||
EFI_PHYSICAL_ADDRESS InitBlockSize;
|
||||
EFI_PHYSICAL_ADDRESS TestBlockSize;
|
||||
} EFI_PLATFORM_MEMTEST_CAPABILITIES;
|
||||
|
||||
//
|
||||
// This defines the platform driver phases to use in notify phase
|
||||
//
|
||||
typedef enum {
|
||||
EfiMemtestPhaseBegin,
|
||||
EfiMemtestPhaseEnd,
|
||||
EfiMemtestPhaseMaximum
|
||||
} EFI_MEMTEST_PHASE ;
|
||||
|
||||
|
||||
//
|
||||
// Definitions of Capability bits
|
||||
//
|
||||
#define EFI_MEMTEST_CAP_NONE 0X00000000
|
||||
#define EFI_MEMTEST_CAP_ECC 0X00000001
|
||||
#define EFI_MEMTEST_CAP_HW_TEST 0X00000002
|
||||
#define EFI_MEMTEST_CAP_HW_INIT 0X00000004
|
||||
|
||||
//
|
||||
// This describes the pattern for testing all memory cells
|
||||
//
|
||||
typedef struct {
|
||||
UINT32 Count; // Number of patterns
|
||||
UINT32 Width; // Width of patterns
|
||||
VOID *Pattern; // Array of patterns
|
||||
}EFI_MEMTEST_DATA_PATTERN;
|
||||
|
||||
//
|
||||
// This describes the data and address line patterns
|
||||
//
|
||||
typedef struct {
|
||||
UINT32 Count; // Number of patterns
|
||||
EFI_PHYSICAL_ADDRESS *Address; // Array of addresses
|
||||
EFI_PHYSICAL_ADDRESS *Pattern; // Array of patterns
|
||||
} EFI_MEMTEST_ADDRESS_PATTERN;
|
||||
|
||||
|
||||
#define EFI_INVALID_DIMM_ID 0xFFFF
|
||||
|
||||
//
|
||||
// DIMM information exported by the platform driver
|
||||
//
|
||||
|
||||
typedef struct {
|
||||
EFI_DIMM_ID DimmId;
|
||||
STRING_REF DimmReference;
|
||||
} EFI_MEMTEST_DIMM_INFO;
|
||||
|
||||
|
||||
//
|
||||
// Various types of errors
|
||||
//
|
||||
typedef enum {
|
||||
EfiMemtestCorrectableError = 1,
|
||||
EfiMemtestUncorrectableError,
|
||||
EfiMemtestErrorMaximum,
|
||||
} EFI_DIMM_ERROR;
|
||||
|
||||
//
|
||||
// Actions to be taken.
|
||||
//
|
||||
typedef enum {
|
||||
EfiMemtestActionReport = 1,
|
||||
EfiMemtestActionDisableMem,
|
||||
EfiMemtestActionMaximum,
|
||||
} EFI_MEMTEST_ERROR_ACTION;
|
||||
|
||||
|
||||
//
|
||||
// Structure indicating a policy entry.
|
||||
//
|
||||
|
||||
typedef struct {
|
||||
EFI_DIMM_ERROR ErrorType;
|
||||
UINT32 Threshold;
|
||||
EFI_MEMTEST_ERROR_ACTION Action;
|
||||
} EFI_MEMTEST_POLICY_ENTRY;
|
||||
|
||||
|
||||
|
||||
//
|
||||
// Error Information.
|
||||
//
|
||||
typedef struct {
|
||||
EFI_DIMM_ERROR Error;
|
||||
EFI_DIMM_ID DimmId;
|
||||
} EFI_PLATFORM_MEMTEST_ERROR;
|
||||
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PLATFORM_MEMTEST_NOTIFY_PHASE) (
|
||||
IN EFI_PLATFORM_MEMTEST_PROTOCOL *This,
|
||||
IN EFI_MEMTEST_PHASE Phase
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PLATFORM_MEMTEST_GET_PLATFORM_INFO) (
|
||||
IN EFI_PLATFORM_MEMTEST_PROTOCOL *This,
|
||||
OUT EFI_PLATFORM_MEMTEST_CAPABILITIES *Capabilities,
|
||||
OUT EFI_MEMTEST_ADDRESS_PATTERN *AddressPattern,
|
||||
OUT EFI_MEMTEST_DATA_PATTERN *DataPattern,
|
||||
OUT EFI_MEMTEST_DATA_PATTERN *MemoryPattern,
|
||||
OUT UINT32 *EntryCount,
|
||||
OUT EFI_MEMTEST_POLICY_ENTRY **PolicyGrid
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI * EFI_PLATFORM_MEMTEST_GET_NEXT_DIMM_INFO) (
|
||||
IN EFI_PLATFORM_MEMTEST_PROTOCOL *This,
|
||||
IN OUT EFI_MEMTEST_DIMM_INFO *DimmInfo
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PLATFORM_MEMTEST_INITIALIZE_MEMORY) (
|
||||
IN EFI_PLATFORM_MEMTEST_PROTOCOL *This,
|
||||
IN EFI_PHYSICAL_ADDRESS Start,
|
||||
IN EFI_PHYSICAL_ADDRESS Size
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI * EFI_PLATFORM_MEMTEST_HW_MEMORY_TEST) (
|
||||
IN EFI_PLATFORM_MEMTEST_PROTOCOL *This,
|
||||
IN EXTENDMEM_COVERAGE_LEVEL Level,
|
||||
IN EFI_PHYSICAL_ADDRESS Start,
|
||||
IN EFI_PHYSICAL_ADDRESS Size,
|
||||
OUT UINTN *ErrorCount,
|
||||
OUT EFI_PLATFORM_MEMTEST_ERROR **ErrorInfo
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI * EFI_PLATFORM_MEMTEST_FLUSH_BUFFER) (
|
||||
IN EFI_PLATFORM_MEMTEST_PROTOCOL *This
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI * EFI_PLATFORM_MEMTEST_CHECK_FOR_ERROR) (
|
||||
IN EFI_PLATFORM_MEMTEST_PROTOCOL *This,
|
||||
OUT UINT32 *ErrorCount,
|
||||
OUT EFI_PLATFORM_MEMTEST_ERROR **ErrorInfo
|
||||
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI * EFI_PLATFORM_MEMTEST_LOCATE_BAD_DIMM) (
|
||||
IN EFI_PLATFORM_MEMTEST_PROTOCOL *This,
|
||||
IN EFI_PHYSICAL_ADDRESS FailingAddress,
|
||||
IN UINT8 Expected,
|
||||
IN UINT8 Found,
|
||||
OUT UINT32 *ErrorInfoCount,
|
||||
OUT EFI_PLATFORM_MEMTEST_ERROR **ErrorInfoBuffer
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI * EFI_PLATFORM_MEMTEST_CLEAR_ERROR) (
|
||||
IN EFI_PLATFORM_MEMTEST_PROTOCOL *This
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI * EFI_PLATFORM_MEMTEST_DISABLE_DIMM) (
|
||||
IN EFI_PLATFORM_MEMTEST_PROTOCOL *This,
|
||||
IN UINT16 *DimmCount,
|
||||
IN EFI_DIMM_ID *DimmIds,
|
||||
IN BOOLEAN RebootRequired
|
||||
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI * EFI_PLATFORM_MEMTEST_OVERLAP) (
|
||||
IN EFI_PLATFORM_MEMTEST_PROTOCOL *This,
|
||||
IN EFI_DIMM_ID DimmId,
|
||||
IN EFI_PHYSICAL_ADDRESS start,
|
||||
IN EFI_PHYSICAL_ADDRESS Size,
|
||||
OUT BOOLEAN *Overlap
|
||||
);
|
||||
|
||||
typedef struct _EFI_PLATFORM_MEMTEST_PROTOCOL {
|
||||
EFI_PLATFORM_MEMTEST_NOTIFY_PHASE NotifyPhase;
|
||||
EFI_PLATFORM_MEMTEST_GET_PLATFORM_INFO GetPlatformInfo;
|
||||
EFI_PLATFORM_MEMTEST_GET_NEXT_DIMM_INFO GetNextDimmInfo;
|
||||
EFI_PLATFORM_MEMTEST_INITIALIZE_MEMORY InitializeMem;
|
||||
EFI_PLATFORM_MEMTEST_HW_MEMORY_TEST HwTest;
|
||||
EFI_PLATFORM_MEMTEST_FLUSH_BUFFER FlushBuffer;
|
||||
EFI_PLATFORM_MEMTEST_CHECK_FOR_ERROR CheckError;
|
||||
EFI_PLATFORM_MEMTEST_LOCATE_BAD_DIMM LocateBadDimm;
|
||||
EFI_PLATFORM_MEMTEST_CLEAR_ERROR ClearError;
|
||||
EFI_PLATFORM_MEMTEST_DISABLE_DIMM DisableDimm;
|
||||
EFI_PLATFORM_MEMTEST_OVERLAP Overlap;
|
||||
} EFI_PLATFORM_MEMTEST_PROTOCOL;
|
||||
|
||||
|
||||
|
||||
extern EFI_GUID gEfiPlatformMemTestGuid;
|
||||
|
||||
#endif
|
29
EdkCompatibilityPkg/Foundation/Protocol/Print/Print.c
Normal file
29
EdkCompatibilityPkg/Foundation/Protocol/Print/Print.c
Normal file
@@ -0,0 +1,29 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
Print.c
|
||||
|
||||
Abstract:
|
||||
|
||||
This file defines the Print protocol interface to provide a unified
|
||||
print function
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
#include EFI_PROTOCOL_DEFINITION (Print)
|
||||
|
||||
EFI_GUID gEfiPrintProtocolGuid = EFI_PRINT_PROTOCOL_GUID;
|
||||
|
||||
EFI_GUID_STRING(&gEfiPrintProtocolGuid, "Print Protocol", "Print 1.0 protocol");
|
||||
|
51
EdkCompatibilityPkg/Foundation/Protocol/Print/Print.h
Normal file
51
EdkCompatibilityPkg/Foundation/Protocol/Print/Print.h
Normal file
@@ -0,0 +1,51 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
Print.h
|
||||
|
||||
Abstract:
|
||||
|
||||
This file defines the Print protocol
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _PPRINT_H_
|
||||
#define _PPRINT_H_
|
||||
|
||||
#define EFI_PRINT_PROTOCOL_GUID \
|
||||
{ 0xdf2d868e, 0x32fc, 0x4cf0, 0x8e, 0x6b, 0xff, 0xd9, 0x5d, 0x13, 0x43, 0xd0 }
|
||||
|
||||
//
|
||||
// Forward reference for pure ANSI compatability
|
||||
//
|
||||
EFI_FORWARD_DECLARATION (EFI_PRINT_PROTOCOL);
|
||||
|
||||
typedef struct _EFI_PRINT_PROTOCOL EFI_PRINT_PROTOCOL;
|
||||
|
||||
typedef
|
||||
UINTN
|
||||
(EFIAPI *EFI_VSPRINT) (
|
||||
OUT CHAR16 *StartOfBuffer,
|
||||
IN UINTN BufferSize,
|
||||
IN CONST CHAR16 *FormatString,
|
||||
IN VA_LIST Marker
|
||||
);
|
||||
|
||||
typedef struct _EFI_PRINT_PROTOCOL {
|
||||
EFI_VSPRINT VSPrint;
|
||||
} EFI_PRINT_PROTOCOL;
|
||||
|
||||
|
||||
extern EFI_GUID gEfiPrintProtocolGuid;
|
||||
|
||||
#endif
|
@@ -0,0 +1,28 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
|
||||
Module Name:
|
||||
|
||||
Ps2Policy.c
|
||||
|
||||
Abstract:
|
||||
|
||||
Protocol used for PS/2 Policy definition.
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
#include EFI_PROTOCOL_DEFINITION (Ps2Policy)
|
||||
|
||||
EFI_GUID gEfiPs2PolicyProtocolGuid = EFI_PS2_POLICY_PROTOCOL_GUID;
|
||||
|
||||
EFI_GUID_STRING(&gEfiPs2PolicyProtocolGuid, "PS2 Policy", "Policy for Configuring PS2");
|
@@ -0,0 +1,50 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
|
||||
Module Name:
|
||||
|
||||
Ps2Policy.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Protocol used for PS/2 Policy definition.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _PS2_POLICY_PROTOCOL_H_
|
||||
#define _PS2_POLICY_PROTOCOL_H_
|
||||
|
||||
EFI_FORWARD_DECLARATION (EFI_PS2_POLICY_PROTOCOL);
|
||||
|
||||
#define EFI_PS2_POLICY_PROTOCOL_GUID \
|
||||
{ \
|
||||
0x4df19259, 0xdc71, 0x4d46, 0xbe, 0xf1, 0x35, 0x7b, 0xb5, 0x78, 0xc4, 0x18 \
|
||||
}
|
||||
|
||||
#define EFI_KEYBOARD_CAPSLOCK 0x0004
|
||||
#define EFI_KEYBOARD_NUMLOCK 0x0002
|
||||
#define EFI_KEYBOARD_SCROLLLOCK 0x0001
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PS2_INIT_HARDWARE) (
|
||||
IN EFI_HANDLE Handle
|
||||
);
|
||||
|
||||
typedef struct _EFI_PS2_POLICY_PROTOCOL {
|
||||
UINT8 KeyboardLight;
|
||||
EFI_PS2_INIT_HARDWARE Ps2InitHardware;
|
||||
} EFI_PS2_POLICY_PROTOCOL;
|
||||
|
||||
extern EFI_GUID gEfiPs2PolicyProtocolGuid;
|
||||
|
||||
#endif
|
28
EdkCompatibilityPkg/Foundation/Protocol/PxeDhcp4/PxeDhcp4.c
Normal file
28
EdkCompatibilityPkg/Foundation/Protocol/PxeDhcp4/PxeDhcp4.c
Normal file
@@ -0,0 +1,28 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
PxeDhcp4.c
|
||||
|
||||
Abstract:
|
||||
PxeDhcp4 GUID declaration
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
|
||||
#include EFI_PROTOCOL_DEFINITION (PxeDhcp4)
|
||||
|
||||
EFI_GUID gEfiPxeDhcp4ProtocolGuid = EFI_PXE_DHCP4_PROTOCOL_GUID;
|
||||
|
||||
EFI_GUID_STRING(&gEfiPxeDhcp4ProtocolGuid, "PXE DHCP4 Protocol", "PXE DHCPv4 Protocol");
|
||||
|
||||
/* EOF - PxeDhcp4.c */
|
350
EdkCompatibilityPkg/Foundation/Protocol/PxeDhcp4/PxeDhcp4.h
Normal file
350
EdkCompatibilityPkg/Foundation/Protocol/PxeDhcp4/PxeDhcp4.h
Normal file
@@ -0,0 +1,350 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
PxeDhcp4.h
|
||||
|
||||
Abstract:
|
||||
EFI PXE DHCPv4 protocol definition
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _PXEDHCP4_H_
|
||||
#define _PXEDHCP4_H_
|
||||
|
||||
|
||||
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
|
||||
//
|
||||
// PXE DHCPv4 GUID definition
|
||||
//
|
||||
|
||||
#define EFI_PXE_DHCP4_PROTOCOL_GUID \
|
||||
{ 0x03c4e624, 0xac28, 0x11d3, 0x9a, 0x2d, 0x00, 0x90, 0x29, 0x3f, 0xc1, 0x4d }
|
||||
|
||||
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
|
||||
//
|
||||
// Interface definition
|
||||
//
|
||||
|
||||
EFI_FORWARD_DECLARATION (EFI_PXE_DHCP4_PROTOCOL);
|
||||
|
||||
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
|
||||
//
|
||||
// Descriptions of the DHCP version 4 header and options can be found
|
||||
// in RFC-2131 and RFC-2132 at www.ietf.org
|
||||
//
|
||||
|
||||
#pragma pack(1)
|
||||
typedef struct {
|
||||
|
||||
UINT8 op;
|
||||
#define BOOTP_REQUEST 1
|
||||
#define BOOTP_REPLY 2
|
||||
|
||||
UINT8 htype;
|
||||
|
||||
UINT8 hlen;
|
||||
|
||||
UINT8 hops;
|
||||
|
||||
UINT32 xid;
|
||||
|
||||
UINT16 secs;
|
||||
#define DHCP4_INITIAL_SECONDS 4
|
||||
|
||||
UINT16 flags;
|
||||
#define DHCP4_BROADCAST_FLAG 0x8000
|
||||
|
||||
UINT32 ciaddr;
|
||||
|
||||
UINT32 yiaddr;
|
||||
|
||||
UINT32 siaddr;
|
||||
|
||||
UINT32 giaddr;
|
||||
|
||||
UINT8 chaddr[16];
|
||||
|
||||
UINT8 sname[64];
|
||||
|
||||
UINT8 fname[128];
|
||||
|
||||
//
|
||||
// This is the minimum option length as specified in RFC-2131.
|
||||
// The packet must be padded out this far with DHCP4_PAD.
|
||||
// DHCPv4 packets are usually 576 bytes in length. This length
|
||||
// includes the IPv4 and UDPv4 headers but not the media header.
|
||||
// Note: Not all DHCP relay agents will forward DHCPv4 packets
|
||||
// if they are less than 384 bytes or exceed 576 bytes. Even if
|
||||
// the underlying hardware can handle smaller and larger packets,
|
||||
// many older relay agents will not accept them.
|
||||
//
|
||||
UINT32 magik;
|
||||
#define DHCP4_MAGIK_NUMBER 0x63825363
|
||||
|
||||
UINT8 options[308];
|
||||
|
||||
} DHCP4_HEADER;
|
||||
#pragma pack()
|
||||
|
||||
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
|
||||
//
|
||||
// DHCPv4 packet definition. Room for 576 bytes including IP and
|
||||
// UDP header.
|
||||
//
|
||||
|
||||
#define DHCP4_MAX_PACKET_SIZE 576
|
||||
#define DHCP4_UDP_HEADER_SIZE 8
|
||||
#define DHCP4_IP_HEADER_SIZE 20
|
||||
|
||||
#pragma pack(1)
|
||||
typedef union _DHCP4_PACKET {
|
||||
UINT32 _force_data_alignment;
|
||||
|
||||
UINT8 raw[1500];
|
||||
|
||||
DHCP4_HEADER dhcp4;
|
||||
} DHCP4_PACKET;
|
||||
#pragma pack()
|
||||
|
||||
#define DHCP4_SERVER_PORT 67
|
||||
#define DHCP4_CLIENT_PORT 68
|
||||
|
||||
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
|
||||
//
|
||||
// DHCPv4 and PXE option numbers.
|
||||
//
|
||||
|
||||
#define DHCP4_PAD 0
|
||||
#define DHCP4_END 255
|
||||
#define DHCP4_SUBNET_MASK 1
|
||||
#define DHCP4_TIME_OFFSET 2
|
||||
#define DHCP4_ROUTER_LIST 3
|
||||
#define DHCP4_TIME_SERVERS 4
|
||||
#define DHCP4_NAME_SERVERS 5
|
||||
#define DHCP4_DNS_SERVERS 6
|
||||
#define DHCP4_LOG_SERVERS 7
|
||||
#define DHCP4_COOKIE_SERVERS 8
|
||||
#define DHCP4_LPR_SREVERS 9
|
||||
#define DHCP4_IMPRESS_SERVERS 10
|
||||
#define DHCP4_RESOURCE_LOCATION_SERVERS 11
|
||||
#define DHCP4_HOST_NAME 12
|
||||
#define DHCP4_BOOT_FILE_SIZE 13
|
||||
#define DHCP4_DUMP_FILE 14
|
||||
#define DHCP4_DOMAIN_NAME 15
|
||||
#define DHCP4_SWAP_SERVER 16
|
||||
#define DHCP4_ROOT_PATH 17
|
||||
#define DHCP4_EXTENSION_PATH 18
|
||||
#define DHCP4_IP_FORWARDING 19
|
||||
#define DHCP4_NON_LOCAL_SOURCE_ROUTE 20
|
||||
#define DHCP4_POLICY_FILTER 21
|
||||
#define DHCP4_MAX_DATAGRAM_SIZE 22
|
||||
#define DHCP4_DEFAULT_TTL 23
|
||||
#define DHCP4_MTU_AGING_TIMEOUT 24
|
||||
#define DHCP4_MTU_SIZES 25
|
||||
#define DHCP4_MTU_TO_USE 26
|
||||
#define DHCP4_ALL_SUBNETS_LOCAL 27
|
||||
#define DHCP4_BROADCAST_ADDRESS 28
|
||||
#define DHCP4_PERFORM_MASK_DISCOVERY 29
|
||||
#define DHCP4_RESPOND_TO_MASK_REQ 30
|
||||
#define DHCP4_PERFORM_ROUTER_DISCOVERY 31
|
||||
#define DHCP4_ROUTER_SOLICIT_ADDRESS 32
|
||||
#define DHCP4_STATIC_ROUTER_LIST 33
|
||||
#define DHCP4_USE_ARP_TRAILERS 34
|
||||
#define DHCP4_ARP_CACHE_TIMEOUT 35
|
||||
#define DHCP4_ETHERNET_ENCAPSULATION 36
|
||||
#define DHCP4_TCP_DEFAULT_TTL 37
|
||||
#define DHCP4_TCP_KEEP_ALIVE_INT 38
|
||||
#define DHCP4_KEEP_ALIVE_GARBAGE 39
|
||||
#define DHCP4_NIS_DOMAIN_NAME 40
|
||||
#define DHCP4_NIS_SERVERS 41
|
||||
#define DHCP4_NTP_SERVERS 42
|
||||
#define DHCP4_VENDOR_SPECIFIC 43
|
||||
# define PXE_MTFTP_IP 1
|
||||
# define PXE_MTFTP_CPORT 2
|
||||
# define PXE_MTFTP_SPORT 3
|
||||
# define PXE_MTFTP_TMOUT 4
|
||||
# define PXE_MTFTP_DELAY 5
|
||||
# define PXE_DISCOVERY_CONTROL 6
|
||||
# define PXE_DISABLE_BROADCAST_DISCOVERY 0x01
|
||||
# define PXE_DISABLE_MULTICAST_DISCOVERY 0x02
|
||||
# define PXE_ACCEPT_ONLY_PXE_BOOT_SERVERS 0x04
|
||||
# define PXE_DO_NOT_PROMPT 0x08
|
||||
# define PXE_DISCOVERY_MCAST_ADDR 7
|
||||
# define PXE_BOOT_SERVERS 8
|
||||
# define PXE_BOOT_MENU 9
|
||||
# define PXE_BOOT_PROMPT 10
|
||||
# define PXE_MCAST_ADDRS_ALLOC 11
|
||||
# define PXE_CREDENTIAL_TYPES 12
|
||||
# define PXE_BOOT_ITEM 71
|
||||
#define DHCP4_NBNS_SERVERS 44
|
||||
#define DHCP4_NBDD_SERVERS 45
|
||||
#define DHCP4_NETBIOS_NODE_TYPE 46
|
||||
#define DHCP4_NETBIOS_SCOPE 47
|
||||
#define DHCP4_XWINDOW_SYSTEM_FONT_SERVERS 48
|
||||
#define DHCP4_XWINDOW_SYSTEM_DISPLAY_MANAGERS 49
|
||||
#define DHCP4_REQUESTED_IP_ADDRESS 50
|
||||
#define DHCP4_LEASE_TIME 51
|
||||
#define DHCP4_OPTION_OVERLOAD 52
|
||||
# define DHCP4_OVERLOAD_FNAME 1
|
||||
# define DHCP4_OVERLOAD_SNAME 2
|
||||
# define DHCP4_OVERLOAD_FNAME_AND_SNAME 3
|
||||
#define DHCP4_MESSAGE_TYPE 53
|
||||
# define DHCP4_MESSAGE_TYPE_DISCOVER 1
|
||||
# define DHCP4_MESSAGE_TYPE_OFFER 2
|
||||
# define DHCP4_MESSAGE_TYPE_REQUEST 3
|
||||
# define DHCP4_MESSAGE_TYPE_DECLINE 4
|
||||
# define DHCP4_MESSAGE_TYPE_ACK 5
|
||||
# define DHCP4_MESSAGE_TYPE_NAK 6
|
||||
# define DHCP4_MESSAGE_TYPE_RELEASE 7
|
||||
# define DHCP4_MESSAGE_TYPE_INFORM 8
|
||||
#define DHCP4_SERVER_IDENTIFIER 54
|
||||
#define DHCP4_PARAMETER_REQUEST_LIST 55
|
||||
#define DHCP4_ERROR_MESSAGE 56
|
||||
#define DHCP4_MAX_MESSAGE_SIZE 57
|
||||
# define DHCP4_DEFAULT_MAX_MESSAGE_SIZE 576
|
||||
#define DHCP4_RENEWAL_TIME 58
|
||||
#define DHCP4_REBINDING_TIME 59
|
||||
#define DHCP4_CLASS_IDENTIFIER 60
|
||||
#define DHCP4_CLIENT_IDENTIFIER 61
|
||||
#define DHCP4_NISPLUS_DOMAIN_NAME 64
|
||||
#define DHCP4_NISPLUS_SERVERS 65
|
||||
#define DHCP4_TFTP_SERVER_NAME 66
|
||||
#define DHCP4_BOOTFILE 67
|
||||
#define DHCP4_MOBILE_IP_HOME_AGENTS 68
|
||||
#define DHCP4_SMPT_SERVERS 69
|
||||
#define DHCP4_POP3_SERVERS 70
|
||||
#define DHCP4_NNTP_SERVERS 71
|
||||
#define DHCP4_WWW_SERVERS 72
|
||||
#define DHCP4_FINGER_SERVERS 73
|
||||
#define DHCP4_IRC_SERVERS 74
|
||||
#define DHCP4_STREET_TALK_SERVERS 75
|
||||
#define DHCP4_STREET_TALK_DIR_ASSIST_SERVERS 76
|
||||
#define DHCP4_NDS_SERVERS 85
|
||||
#define DHCP4_NDS_TREE_NAME 86
|
||||
#define DHCP4_NDS_CONTEXT 87
|
||||
#define DHCP4_SYSTEM_ARCHITECTURE 93
|
||||
#define DHCP4_NETWORK_ARCHITECTURE 94
|
||||
#define DHCP4_PLATFORM_ID 97
|
||||
|
||||
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
|
||||
//
|
||||
// DHCP4 option format.
|
||||
//
|
||||
|
||||
#pragma pack(1)
|
||||
typedef struct {
|
||||
UINT8 op;
|
||||
UINT8 len;
|
||||
UINT8 data[1];
|
||||
} DHCP4_OP;
|
||||
#pragma pack()
|
||||
|
||||
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
|
||||
|
||||
typedef struct {
|
||||
DHCP4_PACKET Discover;
|
||||
DHCP4_PACKET Offer;
|
||||
DHCP4_PACKET Request;
|
||||
DHCP4_PACKET AckNak;
|
||||
BOOLEAN SetupCompleted;
|
||||
BOOLEAN InitCompleted;
|
||||
BOOLEAN SelectCompleted;
|
||||
BOOLEAN IsBootp;
|
||||
BOOLEAN IsAck;
|
||||
} EFI_PXE_DHCP4_DATA;
|
||||
|
||||
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PXE_DHCP4_RUN) (
|
||||
IN EFI_PXE_DHCP4_PROTOCOL *This,
|
||||
IN OPTIONAL UINTN OpLen,
|
||||
IN OPTIONAL VOID *OpList
|
||||
);
|
||||
|
||||
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PXE_DHCP4_SETUP) (
|
||||
IN EFI_PXE_DHCP4_PROTOCOL *This,
|
||||
IN OPTIONAL EFI_PXE_DHCP4_DATA * NewData
|
||||
);
|
||||
|
||||
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PXE_DHCP4_INIT) (
|
||||
IN EFI_PXE_DHCP4_PROTOCOL *This,
|
||||
IN UINTN SecondsTimeout,
|
||||
OUT UINTN *Offers,
|
||||
OUT DHCP4_PACKET **OfferList
|
||||
);
|
||||
|
||||
#define DHCP4_MIN_SECONDS 1
|
||||
#define DHCP4_MAX_SECONDS 60
|
||||
|
||||
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PXE_DHCP4_SELECT) (
|
||||
IN EFI_PXE_DHCP4_PROTOCOL *This,
|
||||
IN UINTN SecondsTimeout,
|
||||
IN DHCP4_PACKET * offer
|
||||
);
|
||||
|
||||
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PXE_DHCP4_RENEW) (
|
||||
IN EFI_PXE_DHCP4_PROTOCOL *This,
|
||||
UINTN seconds_timeout
|
||||
);
|
||||
|
||||
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PXE_DHCP4_REBIND) (
|
||||
IN EFI_PXE_DHCP4_PROTOCOL *This,
|
||||
UINTN seconds_timeout
|
||||
);
|
||||
|
||||
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PXE_DHCP4_RELEASE) (
|
||||
IN EFI_PXE_DHCP4_PROTOCOL * This
|
||||
);
|
||||
|
||||
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
|
||||
|
||||
#define EFI_PXE_DHCP4_PROTOCOL_REVISION 0x00010000
|
||||
|
||||
typedef struct _EFI_PXE_DHCP4_PROTOCOL {
|
||||
UINT64 Revision;
|
||||
EFI_PXE_DHCP4_RUN Run;
|
||||
EFI_PXE_DHCP4_SETUP Setup;
|
||||
EFI_PXE_DHCP4_INIT Init;
|
||||
EFI_PXE_DHCP4_SELECT Select;
|
||||
EFI_PXE_DHCP4_RENEW Renew;
|
||||
EFI_PXE_DHCP4_REBIND Rebind;
|
||||
EFI_PXE_DHCP4_RELEASE Release;
|
||||
EFI_PXE_DHCP4_DATA *Data;
|
||||
} EFI_PXE_DHCP4_PROTOCOL;
|
||||
|
||||
//
|
||||
//
|
||||
//
|
||||
|
||||
extern EFI_GUID gEfiPxeDhcp4ProtocolGuid;
|
||||
|
||||
#endif /* _PXEDHCP4_H_ */
|
||||
/* EOF - PxeDhcp4.h */
|
@@ -0,0 +1,28 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
PxeDhcp4Callback.c
|
||||
|
||||
Abstract:
|
||||
PxeDhcp4Callback protocol GUID definition.
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
|
||||
#include EFI_PROTOCOL_DEFINITION (PxeDhcp4CallBack)
|
||||
|
||||
EFI_GUID gEfiPxeDhcp4CallbackProtocolGuid = EFI_PXE_DHCP4_CALLBACK_PROTOCOL_GUID;
|
||||
|
||||
EFI_GUID_STRING(&gEfiPxeDhcp4CallbackProtocolGuid, "PXE DHCP4 Callback Protocol", "PXE DHCP IPv4 Callback Protocol");
|
||||
|
||||
/* EOF - PxeDhcp4Callback.c */
|
@@ -0,0 +1,86 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
PxeDhcp4Callback.h
|
||||
|
||||
Abstract:
|
||||
EFI PXE DHCP4 Callback protocol definition.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _PXE_DHCP4CALLBACK_H
|
||||
#define _PXE_DHCP4CALLBACK_H
|
||||
|
||||
#include "..\PxeDhcp4\PxeDhcp4.h"
|
||||
|
||||
//
|
||||
// GUID definition
|
||||
//
|
||||
|
||||
#define EFI_PXE_DHCP4_CALLBACK_PROTOCOL_GUID \
|
||||
{ 0xc1544c01, 0x92a4, 0x4198, 0x8a, 0x84, 0x77, 0x85, 0x83, 0xc2, 0x36, 0x21 }
|
||||
|
||||
|
||||
//
|
||||
// Revision number
|
||||
//
|
||||
|
||||
#define EFI_PXE_DHCP4_CALLBACK_INTERFACE_REVISION 0x00010000
|
||||
|
||||
//
|
||||
// Interface definition
|
||||
//
|
||||
|
||||
EFI_FORWARD_DECLARATION (EFI_PXE_DHCP4_CALLBACK_PROTOCOL);
|
||||
|
||||
typedef enum {
|
||||
EFI_PXE_DHCP4_FUNCTION_FIRST,
|
||||
EFI_PXE_DHCP4_FUNCTION_INIT,
|
||||
EFI_PXE_DHCP4_FUNCTION_SELECT,
|
||||
EFI_PXE_DHCP4_FUNCTION_RENEW,
|
||||
EFI_PXE_DHCP4_FUNCTION_REBIND,
|
||||
EFI_PXE_DHCP4_FUNCTION_LAST
|
||||
} EFI_PXE_DHCP4_FUNCTION;
|
||||
|
||||
typedef enum {
|
||||
EFI_PXE_DHCP4_CALLBACK_STATUS_FIRST,
|
||||
EFI_PXE_DHCP4_CALLBACK_STATUS_ABORT,
|
||||
EFI_PXE_DHCP4_CALLBACK_STATUS_IGNORE_ABORT,
|
||||
EFI_PXE_DHCP4_CALLBACK_STATUS_KEEP_ABORT,
|
||||
EFI_PXE_DHCP4_CALLBACK_STATUS_CONTINUE,
|
||||
EFI_PXE_DHCP4_CALLBACK_STATUS_IGNORE_CONTINUE,
|
||||
EFI_PXE_DHCP4_CALLBACK_STATUS_KEEP_CONTINUE,
|
||||
EFI_PXE_DHCP4_CALLBACK_STATUS_LAST
|
||||
} EFI_PXE_DHCP4_CALLBACK_STATUS;
|
||||
|
||||
typedef
|
||||
EFI_PXE_DHCP4_CALLBACK_STATUS
|
||||
(EFIAPI *EFI_PXE_DHCP4_CALLBACK) (
|
||||
IN EFI_PXE_DHCP4_PROTOCOL *This,
|
||||
IN EFI_PXE_DHCP4_FUNCTION Function,
|
||||
IN UINT32 PacketLen,
|
||||
IN DHCP4_PACKET *Packet OPTIONAL
|
||||
);
|
||||
|
||||
typedef struct _EFI_PXE_DHCP4_CALLBACK_PROTOCOL {
|
||||
UINT64 Revision;
|
||||
EFI_PXE_DHCP4_CALLBACK Callback;
|
||||
} EFI_PXE_DHCP4_CALLBACK_PROTOCOL;
|
||||
|
||||
//
|
||||
// GUID declaration
|
||||
//
|
||||
|
||||
extern EFI_GUID gEfiPxeDhcp4CallbackProtocolGuid;
|
||||
|
||||
#endif /* _PXE_DHCP4CALLBACK_H */
|
||||
/* EOF - PxeDhcp4Callback.h */
|
@@ -0,0 +1,30 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
TcgService.c
|
||||
|
||||
Abstract:
|
||||
|
||||
TcgService Protocol GUID as defined in TCG_EFI_Protocol_1_20_Final
|
||||
|
||||
See http://trustedcomputinggroup.org for the latest specification
|
||||
|
||||
--*/
|
||||
|
||||
#include <Tiano.h>
|
||||
|
||||
#include EFI_PROTOCOL_DEFINITION(TcgService)
|
||||
|
||||
EFI_GUID gEfiTcgProtocolGuid = EFI_TCG_PROTOCOL_GUID;
|
||||
|
||||
EFI_GUID_STRING(&gEfiTcgServiceProtocolGuid, "TcgService", "TCG Services Protocol");
|
128
EdkCompatibilityPkg/Foundation/Protocol/TcgService/TcgService.h
Normal file
128
EdkCompatibilityPkg/Foundation/Protocol/TcgService/TcgService.h
Normal file
@@ -0,0 +1,128 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
TcgService.h
|
||||
|
||||
Abstract:
|
||||
|
||||
TCG Service Protocol as defined in TCG_EFI_Protocol_1_20_Final
|
||||
|
||||
See http://trustedcomputinggroup.org for the latest specification
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _TCG_SERVICE_PROTOCOL_H_
|
||||
#define _TCG_SERVICE_PROTOCOL_H_
|
||||
|
||||
#include <EfiTpm.h>
|
||||
|
||||
#define EFI_TCG_PROTOCOL_GUID \
|
||||
{0xf541796d, 0xa62e, 0x4954, 0xa7, 0x75, 0x95, 0x84, 0xf6, 0x1b, 0x9c, 0xdd}
|
||||
|
||||
#define TSS_EVENT_DATA_MAX_SIZE 256
|
||||
|
||||
EFI_FORWARD_DECLARATION (EFI_TCG_PROTOCOL);
|
||||
|
||||
//
|
||||
// Set structure alignment to 1-byte
|
||||
//
|
||||
#pragma pack (push, 1)
|
||||
|
||||
typedef struct {
|
||||
UINT8 Major;
|
||||
UINT8 Minor;
|
||||
UINT8 RevMajor;
|
||||
UINT8 RevMinor;
|
||||
} TCG_VERSION;
|
||||
|
||||
typedef struct _TCG_EFI_BOOT_SERVICE_CAPABILITY {
|
||||
UINT8 Size; // Size of this structure
|
||||
TCG_VERSION StructureVersion;
|
||||
TCG_VERSION ProtocolSpecVersion;
|
||||
UINT8 HashAlgorithmBitmap; // Hash algorithms
|
||||
// this protocol is capable of : 01=SHA-1
|
||||
BOOLEAN TPMPresentFlag; // 00h = TPM not present
|
||||
BOOLEAN TPMDeactivatedFlag; // 01h = TPM currently deactivated
|
||||
} TCG_EFI_BOOT_SERVICE_CAPABILITY;
|
||||
|
||||
typedef UINT32 TCG_ALGORITHM_ID;
|
||||
|
||||
//
|
||||
// Restore original structure alignment
|
||||
//
|
||||
#pragma pack (pop)
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_TCG_STATUS_CHECK) (
|
||||
IN EFI_TCG_PROTOCOL *This,
|
||||
OUT TCG_EFI_BOOT_SERVICE_CAPABILITY
|
||||
*ProtocolCapability,
|
||||
OUT UINT32 *TCGFeatureFlags,
|
||||
OUT EFI_PHYSICAL_ADDRESS *EventLogLocation,
|
||||
OUT EFI_PHYSICAL_ADDRESS *EventLogLastEntry
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_TCG_HASH_ALL) (
|
||||
IN EFI_TCG_PROTOCOL *This,
|
||||
IN UINT8 *HashData,
|
||||
IN UINT64 HashDataLen,
|
||||
IN TCG_ALGORITHM_ID AlgorithmId,
|
||||
IN OUT UINT64 *HashedDataLen,
|
||||
IN OUT UINT8 **HashedDataResult
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_TCG_LOG_EVENT) (
|
||||
IN EFI_TCG_PROTOCOL *This,
|
||||
IN TCG_PCR_EVENT *TCGLogData,
|
||||
IN OUT UINT32 *EventNumber,
|
||||
IN UINT32 Flags
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_TCG_PASS_THROUGH_TO_TPM) (
|
||||
IN EFI_TCG_PROTOCOL *This,
|
||||
IN UINT32 TpmInputParamterBlockSize,
|
||||
IN UINT8 *TpmInputParamterBlock,
|
||||
IN UINT32 TpmOutputParameterBlockSize,
|
||||
IN UINT8 *TpmOutputParameterBlock
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_TCG_HASH_LOG_EXTEND_EVENT) (
|
||||
IN EFI_TCG_PROTOCOL *This,
|
||||
IN UINT8 *HashData,
|
||||
IN UINT64 HashDataLen,
|
||||
IN TCG_ALGORITHM_ID AlgorithmId,
|
||||
IN OUT TCG_PCR_EVENT *TCGLogData,
|
||||
IN OUT UINT32 *EventNumber,
|
||||
OUT EFI_PHYSICAL_ADDRESS *EventLogLastEntry
|
||||
);
|
||||
|
||||
typedef struct _EFI_TCG_PROTOCOL {
|
||||
EFI_TCG_STATUS_CHECK StatusCheck;
|
||||
EFI_TCG_HASH_ALL HashAll;
|
||||
EFI_TCG_LOG_EVENT LogEvent;
|
||||
EFI_TCG_PASS_THROUGH_TO_TPM PassThroughToTpm;
|
||||
EFI_TCG_HASH_LOG_EXTEND_EVENT HashLogExtendEvent;
|
||||
} EFI_TCG_PROTOCOL;
|
||||
|
||||
extern EFI_GUID gEfiTcgProtocolGuid;
|
||||
|
||||
#endif
|
29
EdkCompatibilityPkg/Foundation/Protocol/Tcp/Tcp.c
Normal file
29
EdkCompatibilityPkg/Foundation/Protocol/Tcp/Tcp.c
Normal file
@@ -0,0 +1,29 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
Tcp.c
|
||||
|
||||
Abstract:
|
||||
|
||||
|
||||
Revision History
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
#include EFI_PROTOCOL_DEFINITION(Tcp)
|
||||
|
||||
|
||||
EFI_GUID gEfiTcpProtocolGuid = EFI_TCP_PROTOCOL_GUID;
|
||||
|
||||
EFI_GUID_STRING(&gEfiTcpProtocolGuid, "Transmission Control Protocol", "EFI Transmission Control Protocol");
|
110
EdkCompatibilityPkg/Foundation/Protocol/Tcp/Tcp.h
Normal file
110
EdkCompatibilityPkg/Foundation/Protocol/Tcp/Tcp.h
Normal file
@@ -0,0 +1,110 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
tcp.h
|
||||
|
||||
Abstract:
|
||||
|
||||
EFI Transmission Control Protocol
|
||||
|
||||
|
||||
|
||||
Revision History
|
||||
|
||||
--*/
|
||||
|
||||
|
||||
#ifndef _EFITCP_H
|
||||
#define _EFITCP_H
|
||||
|
||||
|
||||
#include EFI_PROTOCOL_DEFINITION(PxeBaseCode)
|
||||
|
||||
//
|
||||
// PXE Base Code protocol
|
||||
//
|
||||
|
||||
#define EFI_TCP_PROTOCOL_GUID \
|
||||
{ 0x02b3d5f2, 0xac28, 0x11d3, 0x9a, 0x2d, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d }
|
||||
|
||||
EFI_FORWARD_DECLARATION (EFI_TCP_PROTOCOL);
|
||||
|
||||
|
||||
typedef UINT16 EFI_PXE_BASE_CODE_TCP_PORT;
|
||||
|
||||
//
|
||||
// Port Receive Filter definitions
|
||||
//
|
||||
#define EFI_PXE_BASE_CODE_MAX_PORTCNT 8
|
||||
typedef struct {
|
||||
UINT8 Filters;
|
||||
UINT8 IpCnt;
|
||||
UINT16 reserved;
|
||||
EFI_IP_ADDRESS IpList[EFI_PXE_BASE_CODE_MAX_PORTCNT];
|
||||
} EFI_TCP_PORT_FILTER;
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_TCP_WRITE) (
|
||||
IN EFI_PXE_BASE_CODE_PROTOCOL *This,
|
||||
IN UINT16 OpFlags,
|
||||
IN UINT16 *UrgentPointer,
|
||||
IN UINT32 *SequenceNumber,
|
||||
IN UINT32 *AckNumber,
|
||||
IN UINT16 *HlenResCode,
|
||||
IN UINT16 *Window,
|
||||
IN EFI_IP_ADDRESS *DestIp,
|
||||
IN UINT16 *DestPort,
|
||||
IN EFI_IP_ADDRESS *GatewayIp, OPTIONAL
|
||||
IN EFI_IP_ADDRESS *SrcIp, OPTIONAL
|
||||
IN UINT16 *SrcPort, OPTIONAL
|
||||
IN UINTN *HeaderSize, OPTIONAL
|
||||
IN VOID *HeaderPtr, OPTIONAL
|
||||
IN UINTN *BufferSize,
|
||||
IN VOID *BufferPtr
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_TCP_READ) (
|
||||
IN EFI_PXE_BASE_CODE_PROTOCOL *This,
|
||||
IN UINT16 OpFlags,
|
||||
IN OUT EFI_IP_ADDRESS *DestIp, OPTIONAL
|
||||
IN OUT UINT16 *DestPort, OPTIONAL
|
||||
IN OUT EFI_IP_ADDRESS *SrcIp, OPTIONAL
|
||||
IN OUT UINT16 *SrcPort, OPTIONAL
|
||||
IN UINTN *HeaderSize, OPTIONAL
|
||||
IN VOID *HeaderPtr, OPTIONAL
|
||||
IN OUT UINTN *BufferSize,
|
||||
IN VOID *BufferPtr
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_TCP_SET_PORT_FILTER) (
|
||||
IN EFI_PXE_BASE_CODE_PROTOCOL *This,
|
||||
IN EFI_TCP_PORT_FILTER *NewFilter
|
||||
);
|
||||
|
||||
//
|
||||
// TCP Protocol structure
|
||||
//
|
||||
typedef struct _EFI_TCP_PROTOCOL {
|
||||
EFI_TCP_WRITE TcpWrite;
|
||||
EFI_TCP_READ TcpRead;
|
||||
EFI_TCP_SET_PORT_FILTER SetPortFilter;
|
||||
} EFI_TCP_PROTOCOL;
|
||||
|
||||
extern EFI_GUID gEfiTcpProtocolGuid;
|
||||
|
||||
#endif /* _EFITCP_H */
|
@@ -0,0 +1,28 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
TianoDecompress.c
|
||||
|
||||
Abstract:
|
||||
|
||||
The GUID for the Tiano Decompress Protocol
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
#include EFI_PROTOCOL_DEFINITION(TianoDecompress)
|
||||
|
||||
EFI_GUID gEfiTianoDecompressProtocolGuid = EFI_TIANO_DECOMPRESS_PROTOCOL_GUID;
|
||||
|
||||
EFI_GUID_STRING(&gEfiTianoDecompressProtocolGuid, "Tiano Decompress", "Tiano Decompression Protocol");
|
||||
|
@@ -0,0 +1,139 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
TianoDecompress.h
|
||||
|
||||
Abstract:
|
||||
|
||||
The Tiano Decompress Protocol Interface
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _TIANO_DECOMPRESS_H_
|
||||
#define _TIANO_DECOMPRESS_H_
|
||||
|
||||
#define EFI_TIANO_DECOMPRESS_PROTOCOL_GUID \
|
||||
{ 0xe84cf29c, 0x191f, 0x4eae, 0x96, 0xe1, 0xf4, 0x6a, 0xec, 0xea, 0xea, 0x0b }
|
||||
|
||||
EFI_FORWARD_DECLARATION (EFI_TIANO_DECOMPRESS_PROTOCOL);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_TIANO_DECOMPRESS_GET_INFO) (
|
||||
IN EFI_TIANO_DECOMPRESS_PROTOCOL *This,
|
||||
IN VOID *Source,
|
||||
IN UINT32 SourceSize,
|
||||
OUT UINT32 *DestinationSize,
|
||||
OUT UINT32 *ScratchSize
|
||||
);
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
|
||||
The GetInfo() function retrieves the size of the uncompressed buffer
|
||||
and the temporary scratch buffer required to decompress the buffer
|
||||
specified by Source and SourceSize. If the size of the uncompressed
|
||||
buffer or the size of the scratch buffer cannot be determined from
|
||||
the compressed data specified by Source and SourceData, then
|
||||
EFI_INVALID_PARAMETER is returned. Otherwise, the size of the uncompressed
|
||||
buffer is returned in DestinationSize, the size of the scratch buffer is
|
||||
returned in ScratchSize, and EFI_SUCCESS is returned.
|
||||
|
||||
The GetInfo() function does not have scratch buffer available to perform
|
||||
a thorough checking of the validity of the source data. It just retrieves
|
||||
the 'Original Size' field from the beginning bytes of the source data and
|
||||
output it as DestinationSize. And ScratchSize is specific to the decompression
|
||||
implementation.
|
||||
|
||||
Arguments:
|
||||
|
||||
This - The protocol instance pointer
|
||||
Source - The source buffer containing the compressed data.
|
||||
SourceSize - The size, in bytes, of source buffer.
|
||||
DestinationSize - A pointer to the size, in bytes, of the uncompressed buffer
|
||||
that will be generated when the compressed buffer specified
|
||||
by Source and SourceSize is decompressed.
|
||||
ScratchSize - A pointer to the size, in bytes, of the scratch buffer that
|
||||
is required to decompress the compressed buffer specified by
|
||||
Source and SourceSize.
|
||||
|
||||
Returns:
|
||||
EFI_SUCCESS - The size of the uncompressed data was returned in DestinationSize
|
||||
and the size of the scratch buffer was returned in ScratchSize.
|
||||
EFI_INVALID_PARAMETER - The size of the uncompressed data or the size of the scratch
|
||||
buffer cannot be determined from the compressed data specified by
|
||||
Source and SourceData.
|
||||
|
||||
--*/
|
||||
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_TIANO_DECOMPRESS_DECOMPRESS) (
|
||||
IN EFI_TIANO_DECOMPRESS_PROTOCOL *This,
|
||||
IN VOID* Source,
|
||||
IN UINT32 SourceSize,
|
||||
IN OUT VOID* Destination,
|
||||
IN UINT32 DestinationSize,
|
||||
IN OUT VOID* Scratch,
|
||||
IN UINT32 ScratchSize
|
||||
);
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
|
||||
The Decompress() function extracts decompressed data to its original form.
|
||||
|
||||
This protocol is designed so that the decompression algorithm can be
|
||||
implemented without using any memory services. As a result, the
|
||||
Decompress() function is not allowed to call AllocatePool() or
|
||||
AllocatePages() in its implementation. It is the caller's responsibility
|
||||
to allocate and free the Destination and Scratch buffers.
|
||||
|
||||
If the compressed source data specified by Source and SourceSize is
|
||||
sucessfully decompressed into Destination, then EFI_SUCCESS is returned.
|
||||
If the compressed source data specified by Source and SourceSize is not in
|
||||
a valid compressed data format, then EFI_INVALID_PARAMETER is returned.
|
||||
|
||||
Arguments:
|
||||
|
||||
This - The protocol instance pointer
|
||||
Source - The source buffer containing the compressed data.
|
||||
SourceSize - The size of source data.
|
||||
Destination - On output, the destination buffer that contains
|
||||
the uncompressed data.
|
||||
DestinationSize - The size of destination buffer. The size of destination
|
||||
buffer needed is obtained from GetInfo().
|
||||
Scratch - A temporary scratch buffer that is used to perform the
|
||||
decompression.
|
||||
ScratchSize - The size of scratch buffer. The size of scratch buffer needed
|
||||
is obtained from GetInfo().
|
||||
|
||||
Returns:
|
||||
|
||||
EFI_SUCCESS - Decompression completed successfully, and the uncompressed
|
||||
buffer is returned in Destination.
|
||||
EFI_INVALID_PARAMETER
|
||||
- The source buffer specified by Source and SourceSize is
|
||||
corrupted (not in a valid compressed format).
|
||||
|
||||
--*/
|
||||
|
||||
typedef struct _EFI_TIANO_DECOMPRESS_PROTOCOL {
|
||||
EFI_TIANO_DECOMPRESS_GET_INFO GetInfo;
|
||||
EFI_TIANO_DECOMPRESS_DECOMPRESS Decompress;
|
||||
} EFI_TIANO_DECOMPRESS_PROTOCOL;
|
||||
|
||||
extern EFI_GUID gEfiTianoDecompressProtocolGuid;
|
||||
|
||||
#endif
|
@@ -0,0 +1,29 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
UgaSplash.c
|
||||
|
||||
Abstract:
|
||||
|
||||
UGA Splash protocol.
|
||||
|
||||
Abstraction of a very simple graphics device splash screen.
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
#include EFI_PROTOCOL_DEFINITION (UgaSplash)
|
||||
|
||||
EFI_GUID gEfiUgaSplashProtocolGuid = EFI_UGA_SPLASH_PROTOCOL_GUID;
|
||||
|
||||
EFI_GUID_STRING(&gEfiUgaSplashProtocolGuid, "UGA Splash Protocol", "UGA Splash Protocol");
|
@@ -0,0 +1,45 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
UgaSplash.h
|
||||
|
||||
Abstract:
|
||||
|
||||
UGA Splash screen protocol.
|
||||
|
||||
Abstraction of a very simple graphics device.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef __UGA_SPLASH_H__
|
||||
#define __UGA_SPLASH_H__
|
||||
|
||||
#include EFI_PROTOCOL_DEFINITION (GraphicsOutput)
|
||||
#include EFI_PROTOCOL_DEFINITION (UgaDraw)
|
||||
|
||||
|
||||
#define EFI_UGA_SPLASH_PROTOCOL_GUID \
|
||||
{ 0xa45b3a0d, 0x2e55, 0x4c03, 0xad, 0x9c, 0x27, 0xd4, 0x82, 0xb, 0x50, 0x7e }
|
||||
|
||||
typedef struct _EFI_UGA_SPLASH_PROTOCOL EFI_UGA_SPLASH_PROTOCOL;
|
||||
|
||||
|
||||
typedef struct _EFI_UGA_SPLASH_PROTOCOL {
|
||||
UINT32 PixelWidth;
|
||||
UINT32 PixelHeight;
|
||||
EFI_GRAPHICS_OUTPUT_BLT_PIXEL *Image;
|
||||
} EFI_UGA_SPLASH_PROTOCOL;
|
||||
|
||||
extern EFI_GUID gEfiUgaSplashProtocolGuid;
|
||||
|
||||
#endif
|
31
EdkCompatibilityPkg/Foundation/Protocol/UsbAtapi/usbatapi.c
Normal file
31
EdkCompatibilityPkg/Foundation/Protocol/UsbAtapi/usbatapi.c
Normal file
@@ -0,0 +1,31 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
UsbAtapi.c
|
||||
|
||||
Abstract:
|
||||
|
||||
EFI USB Atapi Protocol
|
||||
|
||||
Revision History
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
|
||||
#include EFI_PROTOCOL_DEFINITION (UsbIo)
|
||||
#include EFI_PROTOCOL_DEFINITION (UsbAtapi)
|
||||
|
||||
EFI_GUID gEfiUsbAtapiProtocolGuid = EFI_USB_ATAPI_PROTOCOL_GUID;
|
||||
|
||||
EFI_GUID_STRING(&gEfiUsbAtapiProtocolGuid, "Usb Atapi Protocol", "Usb Atapi Protocol");
|
83
EdkCompatibilityPkg/Foundation/Protocol/UsbAtapi/usbatapi.h
Normal file
83
EdkCompatibilityPkg/Foundation/Protocol/UsbAtapi/usbatapi.h
Normal file
@@ -0,0 +1,83 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
UsbAtapi.h
|
||||
|
||||
Abstract:
|
||||
|
||||
EFI Atapi Protocol definition.
|
||||
|
||||
Revision History
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _EFI_USB_ATAPI_H
|
||||
#define _EFI_USB_ATAPI_H
|
||||
|
||||
//
|
||||
// Transfer protocol types
|
||||
//
|
||||
#define BOT 0x50
|
||||
#define CBI0 0x00
|
||||
#define CBI1 0x01
|
||||
|
||||
//
|
||||
// SubClass Code (defines command set)
|
||||
//
|
||||
#define EFI_USB_SUBCLASS_RBC 0x01
|
||||
#define EFI_USB_SUBCLASS_ATAPI 0x02
|
||||
#define EFI_USB_SUBCLASS_QIC_157 0x03
|
||||
#define EFI_USB_SUBCLASS_UFI 0x04
|
||||
#define EFI_USB_SUBCLASS_SFF_8070i 0x05
|
||||
#define EFI_USB_SUBCLASS_SCSI 0x06
|
||||
#define EFI_USB_SUBCLASS_RESERVED_LOW 0x07
|
||||
#define EFI_USB_SUBCLASS_RESERVED_HIGH 0xff
|
||||
//
|
||||
// Global GUID for transfer protocol interface
|
||||
//
|
||||
#define EFI_USB_ATAPI_PROTOCOL_GUID \
|
||||
{ 0x2B2F68DA, 0x0CD2, 0x44cf, 0x8E, 0x8B, 0xBB, 0xA2, 0x0B, 0x1B, 0x5B, 0x75 }
|
||||
|
||||
EFI_FORWARD_DECLARATION (EFI_USB_ATAPI_PROTOCOL);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_USB_ATAPI_PACKET_CMD) (
|
||||
IN EFI_USB_ATAPI_PROTOCOL *This,
|
||||
IN VOID *Command,
|
||||
IN UINT8 CommandSize,
|
||||
IN VOID *DataBuffer,
|
||||
IN UINT32 BufferLength,
|
||||
IN EFI_USB_DATA_DIRECTION Direction,
|
||||
IN UINT16 TimeOutInMilliSeconds
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_USB_MASS_STORAGE_RESET) (
|
||||
IN EFI_USB_ATAPI_PROTOCOL *This,
|
||||
IN BOOLEAN ExtendedVerification
|
||||
);
|
||||
|
||||
//
|
||||
// Protocol Interface Structure
|
||||
//
|
||||
typedef struct _EFI_USB_ATAPI_PROTOCOL {
|
||||
EFI_USB_ATAPI_PACKET_CMD UsbAtapiPacketCmd;
|
||||
EFI_USB_MASS_STORAGE_RESET UsbAtapiReset;
|
||||
UINT32 CommandProtocol;
|
||||
} EFI_USB_ATAPI_PROTOCOL;
|
||||
|
||||
extern EFI_GUID gEfiUsbAtapiProtocolGuid;
|
||||
|
||||
#endif
|
@@ -0,0 +1,36 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
VariableStore.c
|
||||
|
||||
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
|
||||
//
|
||||
#include "Tiano.h"
|
||||
#include EFI_PROTOCOL_DEFINITION (VariableStore)
|
||||
|
||||
EFI_GUID gEfiVariableStoreProtocolGuid = EFI_VARIABLE_STORE_PROTOCOL_GUID;
|
||||
|
||||
EFI_GUID_STRING(&gEfiVariableStoreProtocolGuid, "Variable Storage Protocol", "Tiano Variable Storage Protocol");
|
@@ -0,0 +1,105 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
VariableStore.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Revision History
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _VARIABLE_STORE_H
|
||||
#define _VARIABLE_STORE_H
|
||||
|
||||
//
|
||||
// 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 EFI_VARIABLE_STORE_PROTOCOL_GUID \
|
||||
{ 0xf088cd91, 0xa046, 0x11d2, 0x8e, 0x42, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b }
|
||||
|
||||
EFI_FORWARD_DECLARATION (EFI_VARIABLE_STORE_PROTOCOL);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_CLEAR_STORE) (
|
||||
IN EFI_VARIABLE_STORE_PROTOCOL *This,
|
||||
IN OUT VOID *Scratch
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_READ_STORE) (
|
||||
IN EFI_VARIABLE_STORE_PROTOCOL *This,
|
||||
IN UINTN Offset,
|
||||
IN UINTN BufferSize,
|
||||
OUT VOID *Buffer
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_UPDATE_STORE) (
|
||||
IN EFI_VARIABLE_STORE_PROTOCOL *This,
|
||||
IN UINTN Offset,
|
||||
IN UINTN BufferSize,
|
||||
IN VOID *Buffer
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_CLEANUP_STORE) (
|
||||
IN EFI_VARIABLE_STORE_PROTOCOL *This
|
||||
);
|
||||
|
||||
typedef struct _EFI_VARIABLE_STORE_PROTOCOL {
|
||||
|
||||
//
|
||||
// Number of banks and bank size
|
||||
//
|
||||
UINT32 Attributes;
|
||||
UINT32 BankSize;
|
||||
|
||||
//
|
||||
// Functions to access the storage banks
|
||||
//
|
||||
EFI_CLEAR_STORE ClearStore;
|
||||
EFI_READ_STORE ReadStore;
|
||||
EFI_UPDATE_STORE UpdateStore;
|
||||
EFI_CLEANUP_STORE CleanupStore;
|
||||
|
||||
} EFI_VARIABLE_STORE_PROTOCOL;
|
||||
|
||||
//
|
||||
//
|
||||
// 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.
|
||||
//
|
||||
// CleanupStore() - Do garbage collection and reclaim operation.
|
||||
//
|
||||
|
||||
extern EFI_GUID gEfiVariableStoreProtocolGuid;
|
||||
|
||||
#endif // _VARIABLE_STORE_H
|
@@ -0,0 +1,28 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
|
||||
Module Name:
|
||||
|
||||
VgaMiniPort.c
|
||||
|
||||
Abstract:
|
||||
|
||||
EFI VGA Mini Port Protocol
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
#include EFI_PROTOCOL_DEFINITION (VgaMiniPort)
|
||||
|
||||
EFI_GUID gEfiVgaMiniPortProtocolGuid = EFI_VGA_MINI_PORT_PROTOCOL_GUID;
|
||||
|
||||
EFI_GUID_STRING(&gEfiVgaMiniPortProtocolGuid, "VGA Mini Port Protocol", "EFI VGA Mini Port Protocol");
|
@@ -0,0 +1,70 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
|
||||
Module Name:
|
||||
|
||||
VgaMiniPort.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Vga Mini port binding for a VGA controller
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _VGA_MINI_PORT_H
|
||||
#define _VGA_MINI_PORT_H
|
||||
|
||||
#define EFI_VGA_MINI_PORT_PROTOCOL_GUID \
|
||||
{ \
|
||||
0xc7735a2f, 0x88f5, 0x4882, 0xae, 0x63, 0xfa, 0xac, 0x8c, 0x8b, 0x86, 0xb3 \
|
||||
}
|
||||
|
||||
EFI_FORWARD_DECLARATION (EFI_VGA_MINI_PORT_PROTOCOL);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_VGA_MINI_PORT_SET_MODE) (
|
||||
IN EFI_VGA_MINI_PORT_PROTOCOL * This,
|
||||
IN UINTN ModeNumber
|
||||
);
|
||||
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
Sets the text display mode of a VGA controller
|
||||
|
||||
Arguments:
|
||||
This - Protocol instance pointer.
|
||||
Mode - Mode number. 0 - 80x25 1-80x50
|
||||
|
||||
Returns:
|
||||
EFI_SUCCESS - The mode was set
|
||||
EFI_DEVICE_ERROR - The device is not functioning properly.
|
||||
|
||||
--*/
|
||||
typedef struct _EFI_VGA_MINI_PORT_PROTOCOL {
|
||||
EFI_VGA_MINI_PORT_SET_MODE SetMode;
|
||||
|
||||
UINT64 VgaMemoryOffset;
|
||||
UINT64 CrtcAddressRegisterOffset;
|
||||
UINT64 CrtcDataRegisterOffset;
|
||||
|
||||
UINT8 VgaMemoryBar;
|
||||
UINT8 CrtcAddressRegisterBar;
|
||||
UINT8 CrtcDataRegisterBar;
|
||||
|
||||
UINT8 MaxMode;
|
||||
} EFI_VGA_MINI_PORT_PROTOCOL;
|
||||
|
||||
extern EFI_GUID gEfiVgaMiniPortProtocolGuid;
|
||||
|
||||
#endif
|
@@ -0,0 +1,27 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
VirtualMemoryAccess.c
|
||||
|
||||
Abstract:
|
||||
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
#include EFI_PROTOCOL_DEFINITION (VirtualMemoryAccess)
|
||||
|
||||
EFI_GUID gEfiVirtualMemoryAccessProtocolGuid = EFI_VIRTUAL_MEMORY_ACCESS_PROTOCOL_GUID;
|
||||
|
||||
EFI_GUID_STRING
|
||||
(&gEfiVirtualMemoryAccessProtocolGuid, "Virtual Memory Access Protocol", "Tiano Virtual Memory Access Protocol");
|
@@ -0,0 +1,64 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
VirtualmemoryAccess.h
|
||||
|
||||
Abstract:
|
||||
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _VIRTUAL_MEMORY_ACCESS_H_
|
||||
#define _VIRTUAL_MEMORY_ACCESS_H_
|
||||
|
||||
#define EFI_VIRTUAL_MEMORY_ACCESS_PROTOCOL_GUID \
|
||||
{0x745d377a, 0xb988, 0x47b2, 0xb1, 0x8f, 0xbb, 0xc8, 0xd, 0xc5, 0x66, 0x98}
|
||||
|
||||
|
||||
EFI_FORWARD_DECLARATION (EFI_VIRTUAL_MEMORY_ACCESS_PROTOCOL);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_VIRTUAL_MEMORY_ACCESS_MAP) (
|
||||
IN EFI_VIRTUAL_MEMORY_ACCESS_PROTOCOL *This,
|
||||
IN EFI_PHYSICAL_ADDRESS MappingAddress,
|
||||
IN UINTN NumberOfBytes,
|
||||
IN EFI_PHYSICAL_ADDRESS MappedAddress
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_VIRTUAL_MEMORY_ACCESS_UNMAP) (
|
||||
IN EFI_VIRTUAL_MEMORY_ACCESS_PROTOCOL *This,
|
||||
IN EFI_PHYSICAL_ADDRESS MappedAddress,
|
||||
IN UINTN PageSizeInByte
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_VIRTUAL_MEMORY_ACCESS_GET_PAGE_SIZE) (
|
||||
IN EFI_VIRTUAL_MEMORY_ACCESS_PROTOCOL *This,
|
||||
IN UINTN *PageSizeInByte
|
||||
);
|
||||
|
||||
|
||||
typedef struct _EFI_VIRTUAL_MEMORY_ACCESS_PROTOCOL {
|
||||
EFI_VIRTUAL_MEMORY_ACCESS_GET_PAGE_SIZE GetPageSize;
|
||||
EFI_VIRTUAL_MEMORY_ACCESS_MAP Map;
|
||||
EFI_VIRTUAL_MEMORY_ACCESS_UNMAP UnMap;
|
||||
} EFI_VIRTUAL_MEMORY_ACCESS_PROTOCOL;
|
||||
|
||||
extern EFI_GUID gEfiVirtualMemoryAccessProtocolGuid;
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user