Initial import.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
28
EdkModulePkg/Include/Common/CapsuleName.h
Normal file
28
EdkModulePkg/Include/Common/CapsuleName.h
Normal file
@@ -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:
|
||||
|
||||
CapsuleName.h
|
||||
|
||||
Abstract:
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _CAPSULE_NAME_H
|
||||
#define _CAPSULE_NAME_H
|
||||
|
||||
//
|
||||
// If capsule data is passed via a variable, then this name should be used.
|
||||
//
|
||||
#define EFI_CAPSULE_VARIABLE_NAME L"CapsuleUpdateData"
|
||||
|
||||
#endif
|
47
EdkModulePkg/Include/Common/DecompressLibraryHob.h
Normal file
47
EdkModulePkg/Include/Common/DecompressLibraryHob.h
Normal file
@@ -0,0 +1,47 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
DecompressLibraryHob.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Declaration of HOB that is used to pass decompressor library functions from PEI to DXE
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef __DECOMPRESS_LIBRARY_HOB_H__
|
||||
#define __DECOMPRESS_LIBRARY_HOB_H__
|
||||
|
||||
typedef
|
||||
RETURN_STATUS
|
||||
(EFIAPI *DECOMPRESS_LIBRARY_GET_INFO) (
|
||||
IN CONST VOID *Source,
|
||||
IN UINT32 SourceSize,
|
||||
OUT UINT32 *DestinationSize,
|
||||
OUT UINT32 *ScratchSize
|
||||
);
|
||||
|
||||
typedef
|
||||
RETURN_STATUS
|
||||
(EFIAPI *DECOMPRESS_LIBRARY_DECOMPRESS) (
|
||||
IN CONST VOID *Source,
|
||||
IN OUT VOID *Destination,
|
||||
IN OUT VOID *Scratch
|
||||
);
|
||||
|
||||
typedef struct {
|
||||
DECOMPRESS_LIBRARY_GET_INFO GetInfo;
|
||||
DECOMPRESS_LIBRARY_DECOMPRESS Decompress;
|
||||
} DECOMPRESS_LIBRARY;
|
||||
|
||||
#endif
|
110
EdkModulePkg/Include/Common/FlashMap.h
Normal file
110
EdkModulePkg/Include/Common/FlashMap.h
Normal file
@@ -0,0 +1,110 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
FlashMap.h
|
||||
|
||||
Abstract:
|
||||
|
||||
FlashMap PPI defined in Tiano
|
||||
|
||||
This code abstracts FlashMap access
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef __COMMON_FLASHMAP_H__
|
||||
#define __COMMON_FLASHMAP_H__
|
||||
|
||||
#include <Common/Hob.h>
|
||||
//
|
||||
// Definition for flash map GUIDed HOBs
|
||||
//
|
||||
typedef UINT32 EFI_FLASH_AREA_ATTRIBUTES;
|
||||
|
||||
#define EFI_FLASH_AREA_FV 0x0001
|
||||
#define EFI_FLASH_AREA_SUBFV 0x0002
|
||||
#define EFI_FLASH_AREA_MEMMAPPED_FV 0x0004
|
||||
#define EFI_FLASH_AREA_REQUIRED 0x0008
|
||||
#define EFI_FLASH_AREA_CORRUPT 0x0010
|
||||
|
||||
typedef UINT8 EFI_FLASH_AREA_TYPE;
|
||||
|
||||
#define EFI_FLASH_AREA_RECOVERY_BIOS 0x0 // Recovery code
|
||||
#define EFI_FLASH_AREA_MAIN_BIOS 0x1 // Regular BIOS code
|
||||
#define EFI_FLASH_AREA_PAL_B 0x2 // PAL-B
|
||||
#define EFI_FLASH_AREA_RESERVED_03 0x3 // Reserved for backwards compatibility
|
||||
#define EFI_FLASH_AREA_RESERVED_04 0x4 // Reserved for backwards compatibility
|
||||
#define EFI_FLASH_AREA_DMI_FRU 0x5 // DMI FRU information
|
||||
#define EFI_FLASH_AREA_OEM_BINARY 0x6 // OEM Binary Code/data
|
||||
#define EFI_FLASH_AREA_RESERVED_07 0x7 // Reserved for backwards compatibility
|
||||
#define EFI_FLASH_AREA_RESERVED_08 0x8 // Reserved for backwards compatibility
|
||||
#define EFI_FLASH_AREA_RESERVED_09 0x9 // Reserved for backwards compatibility
|
||||
#define EFI_FLASH_AREA_RESERVED_0A 0x0a // Reserved for backwards compatibility
|
||||
#define EFI_FLASH_AREA_EFI_VARIABLES 0x0b // EFI variables
|
||||
#define EFI_FLASH_AREA_MCA_LOG 0x0c // MCA error log
|
||||
#define EFI_FLASH_AREA_SMBIOS_LOG 0x0d // SMBIOS error log
|
||||
#define EFI_FLASH_AREA_FTW_BACKUP 0x0e // A backup block during FTW operations
|
||||
#define EFI_FLASH_AREA_FTW_STATE 0x0f // State information during FTW operations
|
||||
#define EFI_FLASH_AREA_UNUSED 0x0fd // Not used
|
||||
#define EFI_FLASH_AREA_GUID_DEFINED 0x0fe // Usage defined by a GUID
|
||||
#pragma pack(1)
|
||||
//
|
||||
// An individual sub-area Entry.
|
||||
// A single flash area may consist of more than one sub-area.
|
||||
//
|
||||
typedef struct {
|
||||
EFI_FLASH_AREA_ATTRIBUTES Attributes;
|
||||
UINT32 Reserved;
|
||||
EFI_PHYSICAL_ADDRESS Base;
|
||||
EFI_PHYSICAL_ADDRESS Length;
|
||||
EFI_GUID FileSystem;
|
||||
} EFI_FLASH_SUBAREA_ENTRY;
|
||||
|
||||
typedef struct {
|
||||
UINT8 Reserved[3];
|
||||
EFI_FLASH_AREA_TYPE AreaType;
|
||||
EFI_GUID AreaTypeGuid;
|
||||
UINT32 NumEntries;
|
||||
EFI_FLASH_SUBAREA_ENTRY Entries[1];
|
||||
} EFI_FLASH_MAP_ENTRY_DATA;
|
||||
|
||||
typedef struct {
|
||||
EFI_HOB_GENERIC_HEADER Header;
|
||||
EFI_GUID Name;
|
||||
UINT8 Reserved[3];
|
||||
EFI_FLASH_AREA_TYPE AreaType;
|
||||
EFI_GUID AreaTypeGuid;
|
||||
UINT32 NumEntries;
|
||||
EFI_FLASH_SUBAREA_ENTRY Entries[1];
|
||||
} EFI_HOB_FLASH_MAP_ENTRY_TYPE;
|
||||
|
||||
//
|
||||
// Internal definitions
|
||||
//
|
||||
typedef struct {
|
||||
UINT8 Reserved[3];
|
||||
EFI_FLASH_AREA_TYPE AreaType;
|
||||
EFI_GUID AreaTypeGuid;
|
||||
UINT32 NumberOfEntries;
|
||||
EFI_FLASH_SUBAREA_ENTRY SubAreaData;
|
||||
} EFI_FLASH_AREA_HOB_DATA;
|
||||
|
||||
typedef struct {
|
||||
UINTN Base;
|
||||
UINTN Length;
|
||||
EFI_FLASH_AREA_ATTRIBUTES Attributes;
|
||||
EFI_FLASH_AREA_TYPE AreaType;
|
||||
} EFI_FLASH_AREA_DATA;
|
||||
|
||||
#pragma pack()
|
||||
|
||||
#endif
|
78
EdkModulePkg/Include/Common/Variable.h
Normal file
78
EdkModulePkg/Include/Common/Variable.h
Normal file
@@ -0,0 +1,78 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
EfiVariable.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Header file for EFI Variable Services
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _EFI_VARIABLE_H_
|
||||
#define _EFI_VARIABLE_H_
|
||||
|
||||
#define VARIABLE_STORE_SIGNATURE EFI_SIGNATURE_32 ('$', 'V', 'S', 'S')
|
||||
|
||||
#define MAX_VARIABLE_SIZE 1024
|
||||
|
||||
#define VARIABLE_DATA 0x55AA
|
||||
|
||||
//
|
||||
// Variable Store Header flags
|
||||
//
|
||||
#define VARIABLE_STORE_FORMATTED 0x5a
|
||||
#define VARIABLE_STORE_HEALTHY 0xfe
|
||||
|
||||
//
|
||||
// Variable Store Status
|
||||
//
|
||||
typedef enum {
|
||||
EfiRaw,
|
||||
EfiValid,
|
||||
EfiInvalid,
|
||||
EfiUnknown
|
||||
} VARIABLE_STORE_STATUS;
|
||||
|
||||
//
|
||||
// Variable State flags
|
||||
//
|
||||
#define VAR_IN_DELETED_TRANSITION 0xfe // Variable is in obsolete transistion
|
||||
#define VAR_DELETED 0xfd // Variable is obsolete
|
||||
#define VAR_ADDED 0x7f // Variable has been completely added
|
||||
#define IS_VARIABLE_STATE(_c, _Mask) (BOOLEAN) (((~_c) & (~_Mask)) != 0)
|
||||
|
||||
#pragma pack(1)
|
||||
|
||||
typedef struct {
|
||||
UINT32 Signature;
|
||||
UINT32 Size;
|
||||
UINT8 Format;
|
||||
UINT8 State;
|
||||
UINT16 Reserved;
|
||||
UINT32 Reserved1;
|
||||
} VARIABLE_STORE_HEADER;
|
||||
|
||||
typedef struct {
|
||||
UINT16 StartId;
|
||||
UINT8 State;
|
||||
UINT8 Reserved;
|
||||
UINT32 Attributes;
|
||||
UINT32 NameSize;
|
||||
UINT32 DataSize;
|
||||
EFI_GUID VendorGuid;
|
||||
} VARIABLE_HEADER;
|
||||
|
||||
#pragma pack()
|
||||
|
||||
#endif // _EFI_VARIABLE_H_
|
47
EdkModulePkg/Include/Common/WorkingBlockHeader.h
Normal file
47
EdkModulePkg/Include/Common/WorkingBlockHeader.h
Normal file
@@ -0,0 +1,47 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
EfiWorkingBlockHeader.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Defines data structure that is the headers found at the runtime
|
||||
updatable firmware volumes, such as the FileSystemGuid of the
|
||||
working block, the header structure of the variable block, FTW
|
||||
working block, or event log block.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _EFI_WORKING_BLOCK_HEADER_H_
|
||||
#define _EFI_WORKING_BLOCK_HEADER_H_
|
||||
|
||||
//
|
||||
// EFI Fault tolerant working block header
|
||||
// The header is immediately followed by the write queue.
|
||||
//
|
||||
typedef struct {
|
||||
EFI_GUID Signature;
|
||||
UINT32 Crc;
|
||||
UINT32 WorkingBlockValid : 1;
|
||||
UINT32 WorkingBlockInvalid : 1;
|
||||
#define WORKING_BLOCK_VALID 0x1
|
||||
#define WORKING_BLOCK_INVALID 0x2
|
||||
UINT32 Reserved : 6;
|
||||
UINT8 Reserved3[3];
|
||||
UINTN WriteQueueSize;
|
||||
//
|
||||
// UINT8 WriteQueue[WriteQueueSize];
|
||||
//
|
||||
} EFI_FAULT_TOLERANT_WORKING_BLOCK_HEADER;
|
||||
|
||||
#endif
|
95
EdkModulePkg/Include/EdkDxe.h
Normal file
95
EdkModulePkg/Include/EdkDxe.h
Normal file
@@ -0,0 +1,95 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
EdkDxe.h
|
||||
|
||||
Abstract:
|
||||
This file defines the base package surface area for writting a PEIM
|
||||
|
||||
Things defined in the Tiano specification go in DxeCis.h.
|
||||
|
||||
Dxe.h contains build environment and library information needed to build
|
||||
a basic Dxe driver. This file must match the "base package" definition of
|
||||
how to write a Dxe driver.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef __EDK_DXE_H__
|
||||
#define __EDK_DXE_H__
|
||||
|
||||
//
|
||||
#include <Common/FlashMap.h>
|
||||
// BUGBUG: We must include this lib here due to ordering issues
|
||||
//
|
||||
#include <Ipf/SalApi.h>
|
||||
#include <Library/PeCoffLib.h>
|
||||
|
||||
|
||||
#include <Guid/MemoryTypeInformation.h>
|
||||
#include <Guid/FlashMapHob.h>
|
||||
#include <Guid/SystemNvDataGuid.h>
|
||||
#include <Guid/AlternateFvBlock.h>
|
||||
#include <Guid/ConsoleInDevice.h>
|
||||
#include <Guid/ConsoleOutDevice.h>
|
||||
#include <Guid/StandardErrorDevice.h>
|
||||
#include <Guid/HotPlugDevice.h>
|
||||
#include <Guid/PrimaryStandardErrorDevice.h>
|
||||
#include <Guid/PrimaryConsoleInDevice.h>
|
||||
#include <Guid/PrimaryConsoleOutDevice.h>
|
||||
#include <Guid/Bmp.h>
|
||||
#include <Guid/BootState.h>
|
||||
#include <Guid/ShellFile.h>
|
||||
#include <Guid/MiniShellFile.h>
|
||||
#include <Guid/StatusCode.h>
|
||||
#include <Guid/PciOptionRomTable.h>
|
||||
#include <Guid/PciHotplugDevice.h>
|
||||
#include <Guid/ExtendedSalGuid.h>
|
||||
#include <Guid/PeiPeCoffLoader.h>
|
||||
#include <Guid/CapsuleVendor.h>
|
||||
#include <Guid/CompatibleMemoryTested.h>
|
||||
|
||||
#include <Ppi/StatusCodeMemory.h>
|
||||
|
||||
#include <Protocol/CustomizedDecompress.h>
|
||||
#include <Protocol/DebugLevel.h>
|
||||
#include <Protocol/LoadPe32Image.h>
|
||||
#include <Protocol/EdkDecompress.h>
|
||||
#include <Protocol/Print.h>
|
||||
#include <Protocol/GenericMemoryTest.h>
|
||||
#include <Protocol/DiskInfo.h>
|
||||
#include <Protocol/FvbExtension.h>
|
||||
#include <Protocol/SecurityPolicy.h>
|
||||
#include <Protocol/FaultTolerantWriteLite.h>
|
||||
#include <Protocol/ConsoleControl.h>
|
||||
#include <Protocol/OEMBadging.h>
|
||||
#include <Protocol/LegacyBios.h>
|
||||
#include <Protocol/UgaSplash.h>
|
||||
#include <Protocol/AcpiS3Save.h>
|
||||
#include <Protocol/Performance.h>
|
||||
#include <Protocol/PxeDhcp4.h>
|
||||
#include <Protocol/PxeDhcp4Callback.h>
|
||||
#include <Protocol/UgaIo.h>
|
||||
#include <Protocol/DebugAssert.h>
|
||||
#include <Protocol/usbatapi.h>
|
||||
#include <Protocol/PciHotPlugRequest.h>
|
||||
#include <Protocol/ExtendedSalBootService.h>
|
||||
#include <Protocol/IsaAcpi.h>
|
||||
|
||||
#if ((EDK_RELEASE_VERSION != 0) && (EFI_SPECIFICATION_VERSION < 0x00020000))
|
||||
//
|
||||
// Tiano8.5 Module use ScsiPassThru protocol together with the original ScsiIo protocol
|
||||
// In UEFI2.0, Module use ScsiPassThruExt Protocol with new UEFI2.0 ScsiIo protocol
|
||||
//
|
||||
#include <Protocol/ScsiIo.h>
|
||||
#endif
|
||||
|
||||
#endif
|
53
EdkModulePkg/Include/EdkDxeCore.h
Normal file
53
EdkModulePkg/Include/EdkDxeCore.h
Normal file
@@ -0,0 +1,53 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
EdkDxe.h
|
||||
|
||||
Abstract:
|
||||
This file defines the base package surface area for writting a PEIM
|
||||
|
||||
Things defined in the Tiano specification go in DxeCis.h.
|
||||
|
||||
Dxe.h contains build environment and library information needed to build
|
||||
a basic Dxe driver. This file must match the "base package" definition of
|
||||
how to write a Dxe driver.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef __EDK_DXE_CORE_H__
|
||||
#define __EDK_DXE_CORE_H__
|
||||
|
||||
//
|
||||
// BUGBUG: We must include this lib here due to ordering issues
|
||||
//
|
||||
#include <Common/DecompressLibraryHob.h>
|
||||
#include <Library/PeCoffLib.h>
|
||||
|
||||
//
|
||||
// BUGBUG: Performance related protocol and Guid.
|
||||
// They are Tiano-private, but are required for DxeCore
|
||||
//
|
||||
#include <Protocol/Performance.h>
|
||||
#include <Guid/PeiPerformanceHob.h>
|
||||
//
|
||||
// BUGBUG: Do these really belomg here?
|
||||
//
|
||||
#include <Guid/PeiPeCoffLoader.h>
|
||||
#include <Guid/MemoryTypeInformation.h>
|
||||
|
||||
#include <Protocol/CustomizedDecompress.h>
|
||||
#include <Protocol/DebugLevel.h>
|
||||
#include <Protocol/LoadPe32Image.h>
|
||||
#include <Protocol/EdkDecompress.h>
|
||||
#include <Protocol/Print.h>
|
||||
|
||||
#endif
|
62
EdkModulePkg/Include/EdkDxeDepex.h
Normal file
62
EdkModulePkg/Include/EdkDxeDepex.h
Normal file
@@ -0,0 +1,62 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
EdkDxeDepex.h
|
||||
|
||||
Abstract:
|
||||
This include file is only used in *.DXS files. Do not use this
|
||||
include file in normal DXE code.
|
||||
|
||||
Depex - Dependency Expresion
|
||||
|
||||
The BNF grammar is thus:
|
||||
<depex> ::= before GUID
|
||||
| after GUID
|
||||
| SOR <bool>
|
||||
| <bool>
|
||||
<bool> ::= <bool> and <term>
|
||||
| <bool> or <term>
|
||||
| <term>
|
||||
<term> ::= not <factor>
|
||||
| <factor>
|
||||
<factor> ::= <bool>
|
||||
| <boolval>
|
||||
| <depinst>
|
||||
| <termval>
|
||||
<boolval> ::= true
|
||||
| false
|
||||
<depinst> ::= push GUID
|
||||
<termval> ::= end
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef __EDK_DXE_DEPEX_H__
|
||||
#define __EDK_DXE_DEPEX_H__
|
||||
|
||||
#include <EdkDxe.h>
|
||||
|
||||
//
|
||||
// The Depex grammer needs the following strings so we must undo
|
||||
// any pre-processor redefinitions
|
||||
//
|
||||
#undef DEPENDENCY_START
|
||||
#undef BEFORE
|
||||
#undef AFTER
|
||||
#undef SOR
|
||||
#undef AND
|
||||
#undef OR
|
||||
#undef NOT
|
||||
#undef TRUE
|
||||
#undef FALSE
|
||||
#undef DEPENDENCY_END
|
||||
|
||||
#endif
|
42
EdkModulePkg/Include/EdkPeiCore.h
Normal file
42
EdkModulePkg/Include/EdkPeiCore.h
Normal file
@@ -0,0 +1,42 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
EdkDxe.h
|
||||
|
||||
Abstract:
|
||||
This file defines the base package surface area for writting a PEIM
|
||||
|
||||
Things defined in the Tiano specification go in DxeCis.h.
|
||||
|
||||
Dxe.h contains build environment and library information needed to build
|
||||
a basic Dxe driver. This file must match the "base package" definition of
|
||||
how to write a Dxe driver.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef __EDK_PEI_CORE_H__
|
||||
#define __EDK_PEI_CORE_H__
|
||||
|
||||
//
|
||||
// BUGBUG: We must include this lib here due to ordering issues
|
||||
//
|
||||
#include <Library/PeCoffLib.h>
|
||||
|
||||
#include <Guid/PeiPeCoffLoader.h>
|
||||
|
||||
//
|
||||
// BUGBUG: Performance related Guid.
|
||||
// It is Tiano-private, but is required for PeiCore
|
||||
//
|
||||
#include <Guid/PeiPerformanceHob.h>
|
||||
|
||||
#endif
|
58
EdkModulePkg/Include/EdkPeim.h
Normal file
58
EdkModulePkg/Include/EdkPeim.h
Normal file
@@ -0,0 +1,58 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
EdkPeim.h
|
||||
|
||||
Abstract:
|
||||
This file defines the base package surface area for writting a PEIM
|
||||
|
||||
Things defined in the PEI CIS specification go in PeiCis.h.
|
||||
|
||||
EdkPeim.h contains build environment and library information needed to build
|
||||
a basic PEIM that needs Tiano specific definitiosn. T
|
||||
|
||||
Currently we just add in some extra PPI and GUID definitions
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef __EDK_PEIM_H__
|
||||
#define __EDK_PEIM_H__
|
||||
|
||||
//
|
||||
#include <Common/FlashMap.h>
|
||||
#include <Common/DecompressLibraryHob.h>
|
||||
// BUGBUG: We must include this lib here due to ordering issues
|
||||
//
|
||||
#include <Library/PeCoffLib.h>
|
||||
|
||||
//
|
||||
// BUGBUG: Performance related Guid.
|
||||
// It is Tiano-private, but is required for PeiCore
|
||||
//
|
||||
#include <Guid/PeiPerformanceHob.h>
|
||||
#include <Guid/PeiPeCoffLoader.h>
|
||||
#include <Guid/SystemNvDataGuid.h>
|
||||
#include <Guid/FlashMapHob.h>
|
||||
#include <Guid/MemoryTypeInformation.h>
|
||||
|
||||
#include <Ppi/PeiInMemory.h>
|
||||
#include <Ppi/FlashMap.h>
|
||||
#include <Ppi/BaseMemoryTest.h>
|
||||
#include <Ppi/StatusCodeMemory.h>
|
||||
|
||||
#include <Protocol/CustomizedDecompress.h>
|
||||
#include <Protocol/EdkDecompress.h>
|
||||
|
||||
#include <Dxe/ArchProtocol/StatusCode.h>
|
||||
|
||||
#endif
|
56
EdkModulePkg/Include/EdkPeimDepex.h
Normal file
56
EdkModulePkg/Include/EdkPeimDepex.h
Normal file
@@ -0,0 +1,56 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
EdkPeimDepex.h
|
||||
|
||||
Abstract:
|
||||
This include file is only used in *.DXS files. Do not use this
|
||||
include file in normal Peim code.
|
||||
|
||||
Depex - Dependency Expresion
|
||||
|
||||
The BNF grammar is thus:
|
||||
<depex> ::= <bool>
|
||||
<bool> ::= <bool> and <term>
|
||||
| <bool> or <term>
|
||||
| <term>
|
||||
<term> ::= not <factor>
|
||||
| <factor>
|
||||
<factor> ::= <bool>
|
||||
| <boolval>
|
||||
| <depinst>
|
||||
| <termval>
|
||||
<boolval> ::= true
|
||||
| false
|
||||
<depinst> ::= push GUID
|
||||
<termval> ::= end
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef __EDK_PEIM_DEPEX_H__
|
||||
#define __EDK_PEIM_DEPEX_H__
|
||||
|
||||
#include <EdkPeim.h>
|
||||
|
||||
//
|
||||
// The Depex grammer needs the following strings so we must undo
|
||||
// any pre-processor redefinitions
|
||||
//
|
||||
#undef DEPENDENCY_START
|
||||
#undef AND
|
||||
#undef OR
|
||||
#undef NOT
|
||||
#undef TRUE
|
||||
#undef FALSE
|
||||
#undef DEPENDENCY_END
|
||||
|
||||
#endif
|
32
EdkModulePkg/Include/Guid/AlternateFvBlock.h
Normal file
32
EdkModulePkg/Include/Guid/AlternateFvBlock.h
Normal file
@@ -0,0 +1,32 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
AlternateFvBlock.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Tiano Guid used to define the Alternate Firmware Volume Block Guid.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _ALT_FVB_GUID_H
|
||||
#define _ALT_FVB_GUID_H
|
||||
|
||||
#define EFI_ALTERNATE_FV_BLOCK_GUID \
|
||||
{ \
|
||||
0xf496922d, 0x172f, 0x4bbc, {0xa1, 0xeb, 0xe, 0xeb, 0x94, 0x9c, 0x34, 0x86 } \
|
||||
}
|
||||
|
||||
extern EFI_GUID gEfiAlternateFvBlockGuid;
|
||||
|
||||
#endif
|
62
EdkModulePkg/Include/Guid/Bmp.h
Normal file
62
EdkModulePkg/Include/Guid/Bmp.h
Normal file
@@ -0,0 +1,62 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
Bmp.h
|
||||
|
||||
Abstract:
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _BMP_GUID_H_
|
||||
#define _BMP_GUID_H_
|
||||
|
||||
|
||||
//
|
||||
// Definitions for BMP files
|
||||
//
|
||||
#pragma pack(1)
|
||||
|
||||
typedef struct {
|
||||
UINT8 Blue;
|
||||
UINT8 Green;
|
||||
UINT8 Red;
|
||||
UINT8 Reserved;
|
||||
} BMP_COLOR_MAP;
|
||||
|
||||
typedef struct {
|
||||
CHAR8 CharB;
|
||||
CHAR8 CharM;
|
||||
UINT32 Size;
|
||||
UINT16 Reserved[2];
|
||||
UINT32 ImageOffset;
|
||||
UINT32 HeaderSize;
|
||||
UINT32 PixelWidth;
|
||||
UINT32 PixelHeight;
|
||||
UINT16 Planes; // Must be 1
|
||||
UINT16 BitPerPixel; // 1, 4, 8, or 24
|
||||
UINT32 CompressionType;
|
||||
UINT32 ImageSize; // Compressed image size in bytes
|
||||
UINT32 XPixelsPerMeter;
|
||||
UINT32 YPixelsPerMeter;
|
||||
UINT32 NumberOfColors;
|
||||
UINT32 ImportantColors;
|
||||
} BMP_IMAGE_HEADER;
|
||||
|
||||
#pragma pack()
|
||||
|
||||
#define EFI_DEFAULT_BMP_LOGO_GUID \
|
||||
{0x7BB28B99,0x61BB,0x11d5,{0x9A,0x5D,0x00,0x90,0x27,0x3F,0xC1,0x4D}}
|
||||
|
||||
extern EFI_GUID gEfiDefaultBmpLogoGuid;
|
||||
|
||||
#endif
|
36
EdkModulePkg/Include/Guid/BootState.h
Normal file
36
EdkModulePkg/Include/Guid/BootState.h
Normal file
@@ -0,0 +1,36 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
BootState.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Constants and declarations that are common accross PEI and DXE.
|
||||
--*/
|
||||
|
||||
#ifndef _BOOT_STATE_H_
|
||||
#define _BOOT_STATE_H_
|
||||
|
||||
//
|
||||
// BOOT STATE
|
||||
//
|
||||
|
||||
typedef UINT32 EFI_BOOT_STATE;
|
||||
|
||||
#define BOOT_STATE_VARIABLE_NAME L"BootState"
|
||||
|
||||
#define EFI_BOOT_STATE_VARIABLE_GUID \
|
||||
{0x60b5e939, 0xfcf, 0x4227, {0xba, 0x83, 0x6b, 0xbe, 0xd4, 0x5b, 0xc0, 0xe3} }
|
||||
|
||||
extern EFI_GUID gEfiBootStateGuid;
|
||||
#endif
|
35
EdkModulePkg/Include/Guid/CapsuleVendor.h
Normal file
35
EdkModulePkg/Include/Guid/CapsuleVendor.h
Normal file
@@ -0,0 +1,35 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
CapsuleVendor.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Capsule update Guid definitions
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _EFI_CAPSULE_VENDOR_GUID_H_
|
||||
#define _EFI_CAPSULE_VENDOR_GUID_H_
|
||||
|
||||
//
|
||||
// Note -- This guid is used as a vendor GUID (depending on implementation)
|
||||
// for the capsule variable if the capsule pointer is passes through reset
|
||||
// via a variable.
|
||||
//
|
||||
#define EFI_CAPSULE_VENDOR_GUID \
|
||||
{ 0x711C703F, 0xC285, 0x4B10, { 0xA3, 0xB0, 0x36, 0xEC, 0xBD, 0x3C, 0x8B, 0xE2 } }
|
||||
|
||||
extern EFI_GUID gEfiCapsuleVendorGuid;
|
||||
|
||||
#endif // #ifndef _EFI_CAPSULE_VENDOR_GUID_H_
|
32
EdkModulePkg/Include/Guid/CompatibleMemoryTested.h
Normal file
32
EdkModulePkg/Include/Guid/CompatibleMemoryTested.h
Normal file
@@ -0,0 +1,32 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
CompatibleMemoryTested.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Tiano Guid used for all Compatible Memory Range Tested GUID.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _COMPATIBLE_MEMORY_TESTED_GUID_H_
|
||||
#define _COMPATIBLE_MEMORY_TESTED_GUID_H_
|
||||
|
||||
#define EFI_COMPATIBLE_MEMORY_TESTED_PROTOCOL_GUID \
|
||||
{ \
|
||||
0x64c475ef, 0x344b, 0x492c, 0x93, 0xad, 0xab, 0x9e, 0xb4, 0x39, 0x50, 0x4 \
|
||||
}
|
||||
|
||||
extern EFI_GUID gEfiCompatibleMemoryTestedGuid;
|
||||
|
||||
#endif
|
29
EdkModulePkg/Include/Guid/ConsoleInDevice.h
Normal file
29
EdkModulePkg/Include/Guid/ConsoleInDevice.h
Normal file
@@ -0,0 +1,29 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
ConsoleInDevice.h
|
||||
|
||||
Abstract:
|
||||
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _CONSOLE_IN_DEVICE_H_
|
||||
#define _CONSOLE_IN_DEVICE_H_
|
||||
|
||||
#define EFI_CONSOLE_IN_DEVICE_GUID \
|
||||
{ 0xd3b36f2b, 0xd551, 0x11d4, {0x9a, 0x46, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } }
|
||||
|
||||
extern EFI_GUID gEfiConsoleInDeviceGuid;
|
||||
|
||||
#endif
|
29
EdkModulePkg/Include/Guid/ConsoleOutDevice.h
Normal file
29
EdkModulePkg/Include/Guid/ConsoleOutDevice.h
Normal file
@@ -0,0 +1,29 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
ConsoleOutDevice.h
|
||||
|
||||
Abstract:
|
||||
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _CONSOLE_OUT_DEVICE_H_
|
||||
#define _CONSOLE_OUT_DEVICE_H_
|
||||
|
||||
#define EFI_CONSOLE_OUT_DEVICE_GUID \
|
||||
{ 0xd3b36f2c, 0xd551, 0x11d4, {0x9a, 0x46, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } }
|
||||
|
||||
extern EFI_GUID gEfiConsoleOutDeviceGuid;
|
||||
|
||||
#endif
|
279
EdkModulePkg/Include/Guid/ExtendedSalGuid.h
Normal file
279
EdkModulePkg/Include/Guid/ExtendedSalGuid.h
Normal file
@@ -0,0 +1,279 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
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
|
||||
} 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 {
|
||||
ReportStatusCodeService
|
||||
} 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
|
33
EdkModulePkg/Include/Guid/FlashMapHob.h
Normal file
33
EdkModulePkg/Include/Guid/FlashMapHob.h
Normal file
@@ -0,0 +1,33 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
FlashMapHob.h
|
||||
|
||||
Abstract:
|
||||
|
||||
GUID used for Flash Map HOB entries in the HOB list.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _FLASH_MAP_HOB_GUID_H_
|
||||
#define _FLASH_MAP_HOB_GUID_H_
|
||||
|
||||
//
|
||||
// Definitions for Flash Map
|
||||
//
|
||||
#define EFI_FLASH_MAP_HOB_GUID \
|
||||
{ 0xb091e7d2, 0x5a0, 0x4198, {0x94, 0xf0, 0x74, 0xb7, 0xb8, 0xc5, 0x54, 0x59 } }
|
||||
|
||||
extern EFI_GUID gEfiFlashMapHobGuid;
|
||||
|
||||
#endif // _FLASH_MAP_HOB_GUID_H_
|
28
EdkModulePkg/Include/Guid/HotPlugDevice.h
Normal file
28
EdkModulePkg/Include/Guid/HotPlugDevice.h
Normal file
@@ -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:
|
||||
|
||||
HotPlugDevice.h
|
||||
|
||||
Abstract:
|
||||
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _HOT_PLUG_DEVICE_H_
|
||||
#define _HOT_PLUG_DEVICE_H_
|
||||
|
||||
#define HOT_PLUG_DEVICE_GUID \
|
||||
{ 0x220ac432, 0x1d43, 0x49e5, {0xa7, 0x4f, 0x4c, 0x9d, 0xa6, 0x7a, 0xd2, 0x3b } }
|
||||
|
||||
extern EFI_GUID gEfiHotPlugDeviceGuid;
|
||||
#endif
|
35
EdkModulePkg/Include/Guid/MemoryTypeInformation.h
Normal file
35
EdkModulePkg/Include/Guid/MemoryTypeInformation.h
Normal file
@@ -0,0 +1,35 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
MemoryTypeInformation.h
|
||||
|
||||
Abstract:
|
||||
GUID used for Memory Type Information entries in the HOB list.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef __MEMORY_TYPE_INFORMATION_GUID_H__
|
||||
#define __MEMORY_TYPE_INFORMATION_GUID_H__
|
||||
|
||||
#define EFI_MEMORY_TYPE_INFORMATION_GUID \
|
||||
{ 0x4c19049f,0x4137,0x4dd3, { 0x9c,0x10,0x8b,0x97,0xa8,0x3f,0xfd,0xfa } }
|
||||
|
||||
#define EFI_MEMORY_TYPE_INFORMATION_VARIABLE_NAME L"MemoryTypeInformation"
|
||||
|
||||
extern EFI_GUID gEfiMemoryTypeInformationGuid;
|
||||
|
||||
typedef struct {
|
||||
UINT32 Type;
|
||||
UINT32 NumberOfPages;
|
||||
} EFI_MEMORY_TYPE_INFORMATION;
|
||||
|
||||
#endif
|
30
EdkModulePkg/Include/Guid/MiniShellFile.h
Normal file
30
EdkModulePkg/Include/Guid/MiniShellFile.h
Normal file
@@ -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:
|
||||
|
||||
EfiShell.h
|
||||
|
||||
Abstract:
|
||||
|
||||
FFS Filename for EFI Shell
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _MINISHELLFILE_H_
|
||||
#define _MINISHELLFILE_H_
|
||||
|
||||
#define EFI_MINI_SHELL_FILE_GUID \
|
||||
{ 0x86ad232b, 0xd33a, 0x465c, {0xbf, 0x5f, 0x41, 0x37, 0xb, 0xa9, 0x2f, 0xe2 } }
|
||||
|
||||
extern EFI_GUID gEfiMiniShellFileGuid;
|
||||
|
||||
#endif
|
30
EdkModulePkg/Include/Guid/PciHotplugDevice.h
Normal file
30
EdkModulePkg/Include/Guid/PciHotplugDevice.h
Normal file
@@ -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:
|
||||
|
||||
PciHotplugDevice.h
|
||||
|
||||
Abstract:
|
||||
|
||||
GUIDs used to indicate the device is Pccard hotplug device
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _PCI_HOTPLUG_DEVICE_GUID_H_
|
||||
#define _PCI_HOTPLUG_DEVICE_GUID_H_
|
||||
|
||||
#define EFI_PCI_HOTPLUG_DEVICE_GUID \
|
||||
{ 0x0b280816, 0x52e7, 0x4e51, {0xaa, 0x57, 0x11, 0xbd, 0x41, 0xcb, 0xef, 0xc3 } }
|
||||
|
||||
extern EFI_GUID gEfiPciHotplugDeviceGuid;
|
||||
|
||||
#endif
|
46
EdkModulePkg/Include/Guid/PciOptionRomTable.h
Normal file
46
EdkModulePkg/Include/Guid/PciOptionRomTable.h
Normal file
@@ -0,0 +1,46 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
PciOptionRomTable.h
|
||||
|
||||
Abstract:
|
||||
|
||||
GUID and data structure used to describe the list of PCI Option ROMs present in a system.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _PCI_OPTION_ROM_TABLE_GUID_H_
|
||||
|
||||
#define EFI_PCI_OPTION_ROM_TABLE_GUID \
|
||||
{ 0x7462660f, 0x1cbd, 0x48da, {0xad, 0x11, 0x91, 0x71, 0x79, 0x13, 0x83, 0x1c } }
|
||||
|
||||
extern EFI_GUID gEfiPciOptionRomTableGuid;
|
||||
|
||||
typedef struct {
|
||||
EFI_PHYSICAL_ADDRESS RomAddress;
|
||||
EFI_MEMORY_TYPE MemoryType;
|
||||
UINT32 RomLength;
|
||||
UINT32 Seg;
|
||||
UINT8 Bus;
|
||||
UINT8 Dev;
|
||||
UINT8 Func;
|
||||
BOOLEAN ExecutedLegacyBiosImage;
|
||||
BOOLEAN DontLoadEfiRom;
|
||||
} EFI_PCI_OPTION_ROM_DESCRIPTOR;
|
||||
|
||||
typedef struct {
|
||||
UINT64 PciOptionRomCount;
|
||||
EFI_PCI_OPTION_ROM_DESCRIPTOR *PciOptionRomDescriptors;
|
||||
} EFI_PCI_OPTION_ROM_TABLE;
|
||||
|
||||
#endif
|
67
EdkModulePkg/Include/Guid/PeiPeCoffLoader.h
Normal file
67
EdkModulePkg/Include/Guid/PeiPeCoffLoader.h
Normal file
@@ -0,0 +1,67 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
PeiPeCoffLoader.h
|
||||
|
||||
Abstract:
|
||||
GUID for the PE/COFF Loader APIs shared between PEI and DXE
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef __PEI_PE_COFF_LOADER_H__
|
||||
#define __PEI_PE_COFF_LOADER_H__
|
||||
|
||||
|
||||
#define EFI_PEI_PE_COFF_LOADER_GUID \
|
||||
{ 0xd8117cff, 0x94a6, 0x11d4, {0x9a, 0x3a, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } }
|
||||
|
||||
typedef struct _EFI_PEI_PE_COFF_LOADER_PROTOCOL EFI_PEI_PE_COFF_LOADER_PROTOCOL;
|
||||
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_PE_COFF_LOADER_GET_IMAGE_INFO) (
|
||||
IN EFI_PEI_PE_COFF_LOADER_PROTOCOL *This,
|
||||
IN OUT PE_COFF_LOADER_IMAGE_CONTEXT *ImageContext
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_PE_COFF_LOADER_LOAD_IMAGE) (
|
||||
IN EFI_PEI_PE_COFF_LOADER_PROTOCOL *This,
|
||||
IN OUT PE_COFF_LOADER_IMAGE_CONTEXT *ImageContext
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_PE_COFF_LOADER_RELOCATE_IMAGE) (
|
||||
IN EFI_PEI_PE_COFF_LOADER_PROTOCOL *This,
|
||||
IN OUT PE_COFF_LOADER_IMAGE_CONTEXT *ImageContext
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_PE_COFF_LOADER_UNLOAD_IMAGE) (
|
||||
IN EFI_PEI_PE_COFF_LOADER_PROTOCOL *This,
|
||||
IN PE_COFF_LOADER_IMAGE_CONTEXT *ImageContext
|
||||
);
|
||||
|
||||
struct _EFI_PEI_PE_COFF_LOADER_PROTOCOL {
|
||||
EFI_PEI_PE_COFF_LOADER_GET_IMAGE_INFO GetImageInfo;
|
||||
EFI_PEI_PE_COFF_LOADER_LOAD_IMAGE LoadImage;
|
||||
EFI_PEI_PE_COFF_LOADER_RELOCATE_IMAGE RelocateImage;
|
||||
EFI_PEI_PE_COFF_LOADER_UNLOAD_IMAGE UnloadImage;
|
||||
};
|
||||
|
||||
extern EFI_GUID gEfiPeiPeCoffLoaderGuid;
|
||||
|
||||
#endif
|
60
EdkModulePkg/Include/Guid/PeiPerformanceHob.h
Normal file
60
EdkModulePkg/Include/Guid/PeiPerformanceHob.h
Normal file
@@ -0,0 +1,60 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
PeiPerformanceHob.h
|
||||
|
||||
Abstract:
|
||||
|
||||
GUIDs used for PEI Performance HOB data structures
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef __PEI_PERFORMANCE_HOB_H__
|
||||
#define __PEI_PERFORMANCE_HOB_H__
|
||||
|
||||
//
|
||||
// This is the GUID of PEI performance HOB
|
||||
//
|
||||
#define PEI_PERFORMANCE_HOB_GUID \
|
||||
{ 0xec4df5af, 0x4395, 0x4cc9, { 0x94, 0xde, 0x77, 0x50, 0x6d, 0x12, 0xc7, 0xb8 } }
|
||||
|
||||
//
|
||||
// PEI_PERFORMANCE_STRING_SIZE must be a multiple of 8.
|
||||
//
|
||||
#define PEI_PERFORMANCE_STRING_SIZE 8
|
||||
#define PEI_PERFORMANCE_STRING_LENGTH (PEI_PERFORMANCE_STRING_SIZE - 1)
|
||||
//
|
||||
// Bugbug: This macro will be replaced by a binary patchable PCD entry in EdkModulePkg
|
||||
//
|
||||
#define MAX_PEI_PERFORMANCE_LOG_ENTRIES 28
|
||||
|
||||
typedef struct {
|
||||
EFI_PHYSICAL_ADDRESS Handle;
|
||||
CHAR8 Token[PEI_PERFORMANCE_STRING_SIZE];
|
||||
CHAR8 Module[PEI_PERFORMANCE_STRING_SIZE];
|
||||
UINT64 StartTimeStamp;
|
||||
UINT64 EndTimeStamp;
|
||||
} PEI_PERFORMANCE_LOG_ENTRY;
|
||||
|
||||
//
|
||||
// The header must be aligned at 8 bytes.
|
||||
//
|
||||
typedef struct {
|
||||
UINT32 NumberOfEntries;
|
||||
UINT32 Reserved;
|
||||
} PEI_PERFORMANCE_LOG_HEADER;
|
||||
|
||||
|
||||
extern EFI_GUID gPeiPerformanceHobGuid;
|
||||
|
||||
#endif
|
29
EdkModulePkg/Include/Guid/PrimaryConsoleInDevice.h
Normal file
29
EdkModulePkg/Include/Guid/PrimaryConsoleInDevice.h
Normal file
@@ -0,0 +1,29 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
PrimaryConsoleInDevice.h
|
||||
|
||||
Abstract:
|
||||
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _PRIMARY_CONSOLE_IN_DEVICE_H_
|
||||
#define _PRIMARY_CONSOLE_IN_DEVICE_H_
|
||||
|
||||
#define EFI_PRIMARY_CONSOLE_IN_DEVICE_GUID \
|
||||
{ 0xe451dcbe, 0x96a1, 0x4729, {0xa5, 0xcf, 0x6b, 0x9c, 0x2c, 0xff, 0x47, 0xfd } }
|
||||
|
||||
extern EFI_GUID gEfiPrimaryConsoleInDeviceGuid;
|
||||
|
||||
#endif
|
28
EdkModulePkg/Include/Guid/PrimaryConsoleOutDevice.h
Normal file
28
EdkModulePkg/Include/Guid/PrimaryConsoleOutDevice.h
Normal file
@@ -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:
|
||||
|
||||
PrimaryConsoleOutDevice.h
|
||||
|
||||
Abstract:
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _PRIMARY_CONSOLE_OUT_DEVICE_H_
|
||||
#define _PRIMARY_CONSOLE_OUT_DEVICE_H_
|
||||
|
||||
#define EFI_PRIMARY_CONSOLE_OUT_DEVICE_GUID \
|
||||
{ 0x62bdf38a, 0xe3d5, 0x492c, {0x95, 0xc, 0x23, 0xa7, 0xf6, 0x6e, 0x67, 0x2e } }
|
||||
|
||||
extern EFI_GUID gEfiPrimaryConsoleOutDeviceGuid;
|
||||
|
||||
#endif
|
28
EdkModulePkg/Include/Guid/PrimaryStandardErrorDevice.h
Normal file
28
EdkModulePkg/Include/Guid/PrimaryStandardErrorDevice.h
Normal file
@@ -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:
|
||||
|
||||
PrimaryStandardErrorDevice.h
|
||||
|
||||
Abstract:
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _PRIMARY_STANDARD_ERROR_DEVICE_H_
|
||||
#define _PRIMARY_STANDARD_ERROR_DEVICE_H_
|
||||
|
||||
#define EFI_PRIMARY_STANDARD_ERROR_DEVICE_GUID \
|
||||
{ 0x5a68191b, 0x9b97, 0x4752, {0x99, 0x46, 0xe3, 0x6a, 0x5d, 0xa9, 0x42, 0xb1 } }
|
||||
|
||||
extern EFI_GUID gEfiPrimaryStandardErrorDeviceGuid;
|
||||
|
||||
#endif
|
31
EdkModulePkg/Include/Guid/ShellFile.h
Normal file
31
EdkModulePkg/Include/Guid/ShellFile.h
Normal file
@@ -0,0 +1,31 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
EfiShell.h
|
||||
|
||||
Abstract:
|
||||
|
||||
FFS Filename for EFI Shell
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _SHELLFILE_H_
|
||||
#define _SHELLFILE_H_
|
||||
|
||||
#define EFI_SHELL_FILE_GUID \
|
||||
{ 0xc57ad6b7, 0x0515, 0x40a8, {0x9d, 0x21, 0x55, 0x16, 0x52, 0x85, 0x4e, 0x37 } }
|
||||
|
||||
|
||||
extern EFI_GUID gEfiShellFileGuid;
|
||||
|
||||
#endif
|
29
EdkModulePkg/Include/Guid/StandardErrorDevice.h
Normal file
29
EdkModulePkg/Include/Guid/StandardErrorDevice.h
Normal file
@@ -0,0 +1,29 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
StandardErrorDevice.h
|
||||
|
||||
Abstract:
|
||||
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _STANDARD_ERROR_DEVICE_H_
|
||||
#define _STANDARD_ERROR_DEVICE_H_
|
||||
|
||||
#define EFI_STANDARD_ERROR_DEVICE_GUID \
|
||||
{ 0xd3b36f2d, 0xd551, 0x11d4, {0x9a, 0x46, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } }
|
||||
|
||||
extern EFI_GUID gEfiStandardErrorDeviceGuid;
|
||||
|
||||
#endif
|
33
EdkModulePkg/Include/Guid/StatusCode.h
Normal file
33
EdkModulePkg/Include/Guid/StatusCode.h
Normal file
@@ -0,0 +1,33 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
StatusCode.h
|
||||
|
||||
Abstract:
|
||||
|
||||
GUID used to identify Data Hub records that originate from the Tiano
|
||||
ReportStatusCode API.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _STATUS_CODE_H__
|
||||
#define _STATUS_CODE_H__
|
||||
|
||||
#define EFI_STATUS_CODE_GUID \
|
||||
{ \
|
||||
0xd083e94c, 0x6560, 0x42e4, {0xb6, 0xd4, 0x2d, 0xf7, 0x5a, 0xdf, 0x6a, 0x2a } \
|
||||
}
|
||||
|
||||
extern EFI_GUID gEfiStatusCodeGuid;
|
||||
|
||||
#endif
|
30
EdkModulePkg/Include/Guid/StatusCodeCallerId.h
Normal file
30
EdkModulePkg/Include/Guid/StatusCodeCallerId.h
Normal file
@@ -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:
|
||||
StatusCodeCallerId.h
|
||||
|
||||
Abstract:
|
||||
GUID used to identify id for the caller who is initiating the Status Code.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef __STATUS_CODE_CALLER_ID_H__
|
||||
#define __STATUS_CODE_CALLER_ID_H__
|
||||
|
||||
|
||||
#define EFI_STANDARD_CALLER_ID_GUID \
|
||||
{0xC9DCF469, 0xA7C4, 0x11D5, {0x87, 0xDA, 0x00, 0x06, 0x29, 0x45, 0xC3, 0xB9} }
|
||||
|
||||
extern EFI_GUID gEfiCallerIdGuid;
|
||||
|
||||
|
||||
#endif
|
45
EdkModulePkg/Include/Guid/SystemNvDataGuid.h
Normal file
45
EdkModulePkg/Include/Guid/SystemNvDataGuid.h
Normal file
@@ -0,0 +1,45 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
SystemNvDataGuid.h
|
||||
|
||||
Abstract:
|
||||
|
||||
GUIDs used for System Non Volatile HOB entries in the in the HOB list and FV Guids carrying
|
||||
the System specific information.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef __SYSTEM_NV_DATA_GUID_H__
|
||||
#define __SYSTEM_NV_DATA_GUID_H__
|
||||
|
||||
#define EFI_SYSTEM_NV_DATA_FV_GUID \
|
||||
{0xfff12b8d, 0x7696, 0x4c8b, {0xa9, 0x85, 0x27, 0x47, 0x7, 0x5b, 0x4f, 0x50} }
|
||||
|
||||
#define EFI_SYSTEM_NV_DATA_HOB_GUID \
|
||||
{0xd6e5092d, 0xc7b2, 0x4872, {0xaf, 0x66, 0xfd, 0xc0, 0xe6, 0xf9, 0x5e, 0x78} }
|
||||
|
||||
typedef struct {
|
||||
EFI_GUID SystemNvDataHobGuid;
|
||||
EFI_GUID SystemNvDataFvGuid;
|
||||
EFI_LBA StartLba;
|
||||
UINTN StartLbaOffset;
|
||||
EFI_LBA EndLba;
|
||||
UINTN EndLbaOffset;
|
||||
UINT32 DataTypeSignature;
|
||||
} NV_SYSTEM_DATA_GUID_TYPE;
|
||||
|
||||
extern EFI_GUID gEfiSystemNvDataHobGuid;
|
||||
extern EFI_GUID gEfiSystemNvDataFvGuid;
|
||||
|
||||
#endif
|
42
EdkModulePkg/Include/Library/CustomDecompressLib.h
Normal file
42
EdkModulePkg/Include/Library/CustomDecompressLib.h
Normal file
@@ -0,0 +1,42 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
CustomDecompressLib.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Custom Decompress Functions
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef __CUSTOM_DECPOMPRESS_LIB_H__
|
||||
#define __CUSTOM_DECPOMPRESS_LIB_H__
|
||||
|
||||
RETURN_STATUS
|
||||
EFIAPI
|
||||
CustomDecompressGetInfo (
|
||||
IN CONST VOID *Source,
|
||||
IN UINT32 SourceSize,
|
||||
OUT UINT32 *DestinationSize,
|
||||
OUT UINT32 *ScratchSize
|
||||
);
|
||||
|
||||
RETURN_STATUS
|
||||
EFIAPI
|
||||
CustomDecompress (
|
||||
IN CONST VOID *Source,
|
||||
IN OUT VOID *Destination,
|
||||
IN OUT VOID *Scratch
|
||||
);
|
||||
|
||||
#endif
|
47
EdkModulePkg/Include/Library/EdkBsDataHubStatusCodeLib.h
Normal file
47
EdkModulePkg/Include/Library/EdkBsDataHubStatusCodeLib.h
Normal file
@@ -0,0 +1,47 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
BsDataHubStatusCodeLib.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Lib to provide data hub status code reporting.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _EFI_BS_DATA_HUB_STATUS_CODE_LIB_H_
|
||||
#define _EFI_BS_DATA_HUB_STATUS_CODE_LIB_H_
|
||||
|
||||
//
|
||||
// Initialization function
|
||||
//
|
||||
VOID
|
||||
BsDataHubStatusCodeInitialize (
|
||||
VOID
|
||||
)
|
||||
;
|
||||
|
||||
//
|
||||
// Status code reporting function
|
||||
//
|
||||
EFI_STATUS
|
||||
BsDataHubReportStatusCode (
|
||||
IN EFI_STATUS_CODE_TYPE CodeType,
|
||||
IN EFI_STATUS_CODE_VALUE Value,
|
||||
IN UINT32 Instance,
|
||||
IN EFI_GUID * CallerId,
|
||||
IN EFI_STATUS_CODE_DATA * Data OPTIONAL
|
||||
)
|
||||
;
|
||||
|
||||
#endif
|
141
EdkModulePkg/Include/Library/EdkDxeSalLib.h
Normal file
141
EdkModulePkg/Include/Library/EdkDxeSalLib.h
Normal file
@@ -0,0 +1,141 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
EdkDxeSalLib.h
|
||||
|
||||
Abstract:
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _ESAL_SERVICE_LIB_H__
|
||||
#define _ESAL_SERVICE_LIB_H__
|
||||
|
||||
//#include <Ipf/SalApi.h>
|
||||
|
||||
EFI_STATUS
|
||||
RegisterEsalFunction (
|
||||
IN UINT64 FunctionId,
|
||||
IN EFI_GUID *ClassGuid,
|
||||
IN SAL_INTERNAL_EXTENDED_SAL_PROC Function,
|
||||
IN VOID *ModuleGlobal
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
|
||||
Register ESAL Class Function and it's asociated global.
|
||||
This function is boot service only!
|
||||
|
||||
Arguments:
|
||||
FunctionId - ID of function to register
|
||||
ClassGuid - GUID of function class
|
||||
Function - Function to register under ClassGuid/FunctionId pair
|
||||
ModuleGlobal - Module global for Function.
|
||||
|
||||
Returns:
|
||||
EFI_SUCCESS - If ClassGuid/FunctionId Function was registered.
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
EFI_STATUS
|
||||
RegisterEsalClass (
|
||||
IN EFI_GUID *ClassGuid,
|
||||
IN VOID *ModuleGlobal,
|
||||
...
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
|
||||
Register ESAL Class and it's asociated global.
|
||||
This function is boot service only!
|
||||
|
||||
Arguments:
|
||||
ClassGuid - GUID of function class
|
||||
ModuleGlobal - Module global for Function.
|
||||
.. - SAL_INTERNAL_EXTENDED_SAL_PROC and FunctionId pairs. NULL
|
||||
indicates the end of the list.
|
||||
|
||||
Returns:
|
||||
EFI_SUCCESS - All members of ClassGuid registered
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
SAL_RETURN_REGS
|
||||
EfiCallEsalService (
|
||||
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
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
|
||||
Call module that is not linked direclty to this module. This code is IP
|
||||
relative and hides the binding issues of virtual or physical calling. The
|
||||
function that gets dispatched has extra arguments that include the registered
|
||||
module global and a boolean flag to indicate if the system is in virutal mode.
|
||||
|
||||
Arguments:
|
||||
ClassGuid - GUID of function
|
||||
FunctionId - Function in ClassGuid to call
|
||||
Arg2 - Argument 2 ClassGuid/FunctionId defined
|
||||
Arg3 - Argument 3 ClassGuid/FunctionId defined
|
||||
Arg4 - Argument 4 ClassGuid/FunctionId defined
|
||||
Arg5 - Argument 5 ClassGuid/FunctionId defined
|
||||
Arg6 - Argument 6 ClassGuid/FunctionId defined
|
||||
Arg7 - Argument 7 ClassGuid/FunctionId defined
|
||||
Arg8 - Argument 8 ClassGuid/FunctionId defined
|
||||
|
||||
Returns:
|
||||
Status of ClassGuid/FuncitonId
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
SAL_RETURN_REGS
|
||||
SetEsalVirtualEntryPoint (
|
||||
IN UINT64 EntryPoint,
|
||||
IN UINT64 Gp
|
||||
)
|
||||
;
|
||||
|
||||
SAL_RETURN_REGS
|
||||
SetEsalPhysicalEntryPoint (
|
||||
IN UINT64 EntryPoint,
|
||||
IN UINT64 Gp
|
||||
)
|
||||
;
|
||||
|
||||
SAL_RETURN_REGS
|
||||
GetEsalEntryPoint (
|
||||
VOID
|
||||
)
|
||||
;
|
||||
|
||||
VOID
|
||||
SalFlushCache (
|
||||
IN EFI_PHYSICAL_ADDRESS Start,
|
||||
IN UINT64 Length
|
||||
)
|
||||
;
|
||||
|
||||
#endif
|
250
EdkModulePkg/Include/Library/EdkFvbServiceLib.h
Normal file
250
EdkModulePkg/Include/Library/EdkFvbServiceLib.h
Normal file
@@ -0,0 +1,250 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
EdkFvbServiceLib.h
|
||||
|
||||
Abstract:
|
||||
|
||||
--*/
|
||||
#ifndef __EDK_FVB_SERVICE_LIB_H__
|
||||
#define __EDK_FVB_SERVICE_LIB_H__
|
||||
|
||||
EFI_STATUS
|
||||
EfiFvbReadBlock (
|
||||
IN UINTN Instance,
|
||||
IN EFI_LBA Lba,
|
||||
IN UINTN Offset,
|
||||
IN OUT UINTN *NumBytes,
|
||||
IN UINT8 *Buffer
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
Reads specified number of bytes into a buffer from the specified block
|
||||
|
||||
Arguments:
|
||||
Instance - The FV instance to be read from
|
||||
Lba - The logical block address to be read from
|
||||
Offset - Offset into the block at which to begin reading
|
||||
NumBytes - Pointer that on input contains the total size of
|
||||
the buffer. On output, it contains the total number
|
||||
of bytes read
|
||||
Buffer - Pointer to a caller allocated buffer that will be
|
||||
used to hold the data read
|
||||
|
||||
Returns:
|
||||
|
||||
Status code
|
||||
|
||||
EFI_INVALID_PARAMETER - invalid parameter
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
EFI_STATUS
|
||||
EfiFvbWriteBlock (
|
||||
IN UINTN Instance,
|
||||
IN EFI_LBA Lba,
|
||||
IN UINTN Offset,
|
||||
IN OUT UINTN *NumBytes,
|
||||
IN UINT8 *Buffer
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
Writes specified number of bytes from the input buffer to the block
|
||||
|
||||
Arguments:
|
||||
Instance - The FV instance to be written to
|
||||
Lba - The starting logical block index to write to
|
||||
Offset - Offset into the block at which to begin writing
|
||||
NumBytes - Pointer that on input contains the total size of
|
||||
the buffer. On output, it contains the total number
|
||||
of bytes actually written
|
||||
Buffer - Pointer to a caller allocated buffer that contains
|
||||
the source for the write
|
||||
|
||||
Returns:
|
||||
|
||||
Status code
|
||||
|
||||
EFI_INVALID_PARAMETER - invalid parameter
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
EFI_STATUS
|
||||
EfiFvbEraseBlock (
|
||||
IN UINTN Instance,
|
||||
IN EFI_LBA Lba
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
Erases and initializes a firmware volume block
|
||||
|
||||
Arguments:
|
||||
Instance - The FV instance to be erased
|
||||
Lba - The logical block index to be erased
|
||||
|
||||
Returns:
|
||||
|
||||
Status code
|
||||
|
||||
EFI_INVALID_PARAMETER - invalid parameter
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
EFI_STATUS
|
||||
EfiFvbGetVolumeAttributes (
|
||||
IN UINTN Instance,
|
||||
OUT EFI_FVB_ATTRIBUTES *Attributes
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
Retrieves attributes, insures positive polarity of attribute bits, returns
|
||||
resulting attributes in output parameter
|
||||
|
||||
Arguments:
|
||||
Instance - The FV instance whose attributes is going to be
|
||||
returned
|
||||
Attributes - Output buffer which contains attributes
|
||||
|
||||
Returns:
|
||||
Status code
|
||||
|
||||
EFI_INVALID_PARAMETER - invalid parameter
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
EFI_STATUS
|
||||
EfiFvbSetVolumeAttributes (
|
||||
IN UINTN Instance,
|
||||
IN EFI_FVB_ATTRIBUTES Attributes
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
Modifies the current settings of the firmware volume according to the
|
||||
input parameter, and returns the new setting of the volume
|
||||
|
||||
Arguments:
|
||||
Instance - The FV instance whose attributes is going to be
|
||||
modified
|
||||
Attributes - On input, it is a pointer to EFI_FVB_ATTRIBUTES
|
||||
containing the desired firmware volume settings.
|
||||
On successful return, it contains the new settings
|
||||
of the firmware volume
|
||||
|
||||
Returns:
|
||||
Status code
|
||||
|
||||
EFI_INVALID_PARAMETER - invalid parameter
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
EFI_STATUS
|
||||
EfiFvbGetPhysicalAddress (
|
||||
IN UINTN Instance,
|
||||
OUT EFI_PHYSICAL_ADDRESS *BaseAddress
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
Retrieves the physical address of a memory mapped FV
|
||||
|
||||
Arguments:
|
||||
Instance - The FV instance whose base address is going to be
|
||||
returned
|
||||
BaseAddress - Pointer to a caller allocated EFI_PHYSICAL_ADDRESS
|
||||
that on successful return, contains the base address
|
||||
of the firmware volume.
|
||||
|
||||
Returns:
|
||||
|
||||
Status code
|
||||
|
||||
EFI_INVALID_PARAMETER - invalid parameter
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
EFI_STATUS
|
||||
EfiFvbGetBlockSize (
|
||||
IN UINTN Instance,
|
||||
IN EFI_LBA Lba,
|
||||
OUT UINTN *BlockSize,
|
||||
OUT UINTN *NumOfBlocks
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
Retrieve the size of a logical block
|
||||
|
||||
Arguments:
|
||||
Instance - The FV instance whose block size is going to be
|
||||
returned
|
||||
Lba - Indicates which block to return the size for.
|
||||
BlockSize - A pointer to a caller allocated UINTN in which
|
||||
the size of the block is returned
|
||||
NumOfBlocks - a pointer to a caller allocated UINTN in which the
|
||||
number of consecutive blocks starting with Lba is
|
||||
returned. All blocks in this range have a size of
|
||||
BlockSize
|
||||
|
||||
Returns:
|
||||
EFI_SUCCESS - The firmware volume was read successfully and
|
||||
contents are in Buffer
|
||||
|
||||
EFI_INVALID_PARAMETER - invalid parameter
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
EFI_STATUS
|
||||
EfiFvbEraseCustomBlockRange (
|
||||
IN UINTN Instance,
|
||||
IN EFI_LBA StartLba,
|
||||
IN UINTN OffsetStartLba,
|
||||
IN EFI_LBA LastLba,
|
||||
IN UINTN OffsetLastLba
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
Erases and initializes a specified range of a firmware volume
|
||||
|
||||
Arguments:
|
||||
Instance - The FV instance to be erased
|
||||
StartLba - The starting logical block index to be erased
|
||||
OffsetStartLba - Offset into the starting block at which to
|
||||
begin erasing
|
||||
LastLba - The last logical block index to be erased
|
||||
OffsetLastLba - Offset into the last block at which to end erasing
|
||||
|
||||
Returns:
|
||||
|
||||
Status code
|
||||
|
||||
EFI_INVALID_PARAMETER - invalid parameter
|
||||
|
||||
EFI_UNSUPPORTED - not support
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
#endif
|
185
EdkModulePkg/Include/Library/EdkGraphicsLib.h
Normal file
185
EdkModulePkg/Include/Library/EdkGraphicsLib.h
Normal file
@@ -0,0 +1,185 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
GraphicsLib.h
|
||||
|
||||
Abstract:
|
||||
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _EFI_GRAPHICS_LIB_H_
|
||||
#define _EFI_GRAPHICS_LIB_H_
|
||||
|
||||
EFI_STATUS
|
||||
GetGraphicsBitMapFromFV (
|
||||
IN EFI_GUID *FileNameGuid,
|
||||
OUT VOID **Image,
|
||||
OUT UINTN *ImageSize
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
|
||||
Return the graphics image file named FileNameGuid into Image and return it's
|
||||
size in ImageSize. All Firmware Volumes (FV) in the system are searched for the
|
||||
file name.
|
||||
|
||||
Arguments:
|
||||
|
||||
FileNameGuid - File Name of graphics file in the FV(s).
|
||||
|
||||
Image - Pointer to pointer to return graphics image. If NULL, a
|
||||
buffer will be allocated.
|
||||
|
||||
ImageSize - Size of the graphics Image in bytes. Zero if no image found.
|
||||
|
||||
|
||||
Returns:
|
||||
|
||||
EFI_SUCCESS - Image and ImageSize are valid.
|
||||
EFI_BUFFER_TOO_SMALL - Image not big enough. ImageSize has required size
|
||||
EFI_NOT_FOUND - FileNameGuid not found
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
EFI_STATUS
|
||||
ConvertBmpToUgaBlt (
|
||||
IN VOID *BmpImage,
|
||||
IN UINTN BmpImageSize,
|
||||
IN OUT VOID **UgaBlt,
|
||||
IN OUT UINTN *UgaBltSize,
|
||||
OUT UINTN *PixelHeight,
|
||||
OUT UINTN *PixelWidth
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
|
||||
Convert a *.BMP graphics image to a UGA blt buffer. If a NULL UgaBlt buffer
|
||||
is passed in a UgaBlt buffer will be allocated by this routine. If a UgaBlt
|
||||
buffer is passed in it will be used if it is big enough.
|
||||
|
||||
Arguments:
|
||||
|
||||
BmpImage - Pointer to BMP file
|
||||
|
||||
BmpImageSize - Number of bytes in BmpImage
|
||||
|
||||
UgaBlt - Buffer containing UGA version of BmpImage.
|
||||
|
||||
UgaBltSize - Size of UgaBlt in bytes.
|
||||
|
||||
PixelHeight - Height of UgaBlt/BmpImage in pixels
|
||||
|
||||
PixelWidth - Width of UgaBlt/BmpImage in pixels
|
||||
|
||||
|
||||
Returns:
|
||||
|
||||
EFI_SUCCESS - UgaBlt and UgaBltSize are returned.
|
||||
EFI_UNSUPPORTED - BmpImage is not a valid *.BMP image
|
||||
EFI_BUFFER_TOO_SMALL - The passed in UgaBlt buffer is not big enough.
|
||||
UgaBltSize will contain the required size.
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
EFI_STATUS
|
||||
EnableQuietBoot (
|
||||
IN EFI_GUID *LogoFile
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
|
||||
Use Console Control to turn off UGA based Simple Text Out consoles from going
|
||||
to the UGA device. Put up LogoFile on every UGA device that is a console
|
||||
|
||||
Arguments:
|
||||
|
||||
LogoFile - File name of logo to display on the center of the screen.
|
||||
|
||||
|
||||
Returns:
|
||||
|
||||
EFI_SUCCESS - ConsoleControl has been flipped to graphics and logo
|
||||
displayed.
|
||||
EFI_UNSUPPORTED - Logo not found
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
EFI_STATUS
|
||||
DisableQuietBoot (
|
||||
VOID
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
|
||||
Use Console Control to turn on UGA based Simple Text Out consoles. The UGA
|
||||
Simple Text Out screens will now be synced up with all non UGA output devices
|
||||
|
||||
Arguments:
|
||||
|
||||
NONE
|
||||
|
||||
Returns:
|
||||
|
||||
EFI_SUCCESS - UGA devices are back in text mode and synced up.
|
||||
EFI_UNSUPPORTED - Logo not found
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
EFI_STATUS
|
||||
LockKeyboards (
|
||||
IN CHAR16 *Password
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
Use Console Control Protocol to lock the Console In Spliter virtual handle.
|
||||
This is the ConInHandle and ConIn handle in the EFI system table. All key
|
||||
presses will be ignored until the Password is typed in. The only way to
|
||||
disable the password is to type it in to a ConIn device.
|
||||
|
||||
Arguments:
|
||||
Password - Password used to lock ConIn device
|
||||
|
||||
|
||||
Returns:
|
||||
|
||||
EFI_SUCCESS - ConsoleControl has been flipped to graphics and logo
|
||||
displayed.
|
||||
EFI_UNSUPPORTED - Logo not found
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
UINTN
|
||||
EFIAPI
|
||||
PrintXY (
|
||||
IN UINTN X,
|
||||
IN UINTN Y,
|
||||
IN EFI_UGA_PIXEL *Foreground, OPTIONAL
|
||||
IN EFI_UGA_PIXEL *Background, OPTIONAL
|
||||
IN CHAR16 *Fmt,
|
||||
...
|
||||
)
|
||||
;
|
||||
|
||||
|
||||
#endif
|
1270
EdkModulePkg/Include/Library/EdkIfrSupportLib.h
Normal file
1270
EdkModulePkg/Include/Library/EdkIfrSupportLib.h
Normal file
File diff suppressed because it is too large
Load Diff
48
EdkModulePkg/Include/Library/EdkMemoryStatusCodeLib.h
Normal file
48
EdkModulePkg/Include/Library/EdkMemoryStatusCodeLib.h
Normal file
@@ -0,0 +1,48 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
MemoryStatusCodeLib.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Lib to provide memory status code reporting.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _PEI_MEMORY_STATUS_CODE_LIB_H_
|
||||
#define _PEI_MEMORY_STATUS_CODE_LIB_H_
|
||||
|
||||
//
|
||||
// Initialization function
|
||||
//
|
||||
EFI_STATUS
|
||||
MemoryStatusCodeInitialize (
|
||||
IN EFI_FFS_FILE_HEADER *FfsHeader,
|
||||
IN EFI_PEI_SERVICES **PeiServices
|
||||
)
|
||||
;
|
||||
|
||||
//
|
||||
// Status code reporting function
|
||||
//
|
||||
EFI_STATUS
|
||||
MemoryReportStatusCode (
|
||||
IN EFI_STATUS_CODE_TYPE CodeType,
|
||||
IN EFI_STATUS_CODE_VALUE Value,
|
||||
IN UINT32 Instance,
|
||||
IN EFI_GUID * CallerId,
|
||||
IN EFI_STATUS_CODE_DATA * Data OPTIONAL
|
||||
)
|
||||
;
|
||||
|
||||
#endif
|
32
EdkModulePkg/Include/Library/EdkPeCoffLoaderLib.h
Normal file
32
EdkModulePkg/Include/Library/EdkPeCoffLoaderLib.h
Normal file
@@ -0,0 +1,32 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
EdkPeCoffLoaderLib.h
|
||||
|
||||
Abstract:
|
||||
Wrap the Base PE/COFF loader with the PE COFF Protocol
|
||||
|
||||
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef __EDK_PE_COFF_LOADER_LIB__
|
||||
#define __EDK_PE_COFF_LOADER_LIB__
|
||||
|
||||
EFI_PEI_PE_COFF_LOADER_PROTOCOL *
|
||||
EFIAPI
|
||||
GetPeCoffLoaderProtocol (
|
||||
VOID
|
||||
);
|
||||
|
||||
#endif
|
33
EdkModulePkg/Include/Library/EdkPeCoffLoaderX64Lib.h
Normal file
33
EdkModulePkg/Include/Library/EdkPeCoffLoaderX64Lib.h
Normal file
@@ -0,0 +1,33 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
EdkPeCoffLoaderX64Lib.h
|
||||
|
||||
Abstract:
|
||||
Wrap the Base PE/COFF loader with the PE COFF Protocol
|
||||
|
||||
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef __EDK_PE_COFF_LOADER_X64_LIB__
|
||||
#define __EDK_PE_COFF_LOADER_X64_LIB__
|
||||
|
||||
EFI_PEI_PE_COFF_LOADER_PROTOCOL *
|
||||
EFIAPI
|
||||
GetPeCoffLoaderX64Protocol (
|
||||
VOID
|
||||
);
|
||||
|
||||
#endif
|
||||
|
66
EdkModulePkg/Include/Library/EdkRtMemoryStatusCodeLib.h
Normal file
66
EdkModulePkg/Include/Library/EdkRtMemoryStatusCodeLib.h
Normal file
@@ -0,0 +1,66 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
RtMemoryStatusCodeLib.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Lib to provide memory status code reporting.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _EFI_RT_MEMORY_STATUS_CODE_LIB_H_
|
||||
#define _EFI_RT_MEMORY_STATUS_CODE_LIB_H_
|
||||
|
||||
//
|
||||
// Initialization function
|
||||
//
|
||||
VOID
|
||||
RtMemoryStatusCodeInitialize (
|
||||
VOID
|
||||
)
|
||||
;
|
||||
|
||||
//
|
||||
// Status code reporting function
|
||||
//
|
||||
EFI_STATUS
|
||||
RtMemoryReportStatusCode (
|
||||
IN EFI_STATUS_CODE_TYPE CodeType,
|
||||
IN EFI_STATUS_CODE_VALUE Value,
|
||||
IN UINT32 Instance,
|
||||
IN EFI_GUID * CallerId,
|
||||
IN EFI_STATUS_CODE_DATA * Data OPTIONAL
|
||||
)
|
||||
;
|
||||
|
||||
//
|
||||
// Playback all prior status codes to a listener
|
||||
//
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(*PLATFORM_REPORT_STATUS_CODE) (
|
||||
IN EFI_STATUS_CODE_TYPE Type,
|
||||
IN EFI_STATUS_CODE_VALUE Value,
|
||||
IN UINT32 Instance,
|
||||
IN EFI_GUID * CallerId OPTIONAL,
|
||||
IN EFI_STATUS_CODE_DATA * Data OPTIONAL
|
||||
);
|
||||
|
||||
VOID
|
||||
PlaybackStatusCodes (
|
||||
IN PLATFORM_REPORT_STATUS_CODE ReportStatusCode
|
||||
)
|
||||
;
|
||||
|
||||
#endif
|
49
EdkModulePkg/Include/Library/EdkRtPlatformStatusCodeLib.h
Normal file
49
EdkModulePkg/Include/Library/EdkRtPlatformStatusCodeLib.h
Normal file
@@ -0,0 +1,49 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
RtPlatformStatusCodeLib.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Lib to provide platform implementations necessary for the Monolithic status
|
||||
code to work.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _EFI_PLATFORM_STATUS_CODE_LIB_H_
|
||||
#define _EFI_PLATFORM_STATUS_CODE_LIB_H_
|
||||
|
||||
|
||||
//
|
||||
// Initialization function
|
||||
//
|
||||
VOID
|
||||
RtPlatformStatusCodeInitialize (
|
||||
VOID
|
||||
)
|
||||
;
|
||||
|
||||
//
|
||||
// Status code reporting function
|
||||
//
|
||||
EFI_STATUS
|
||||
RtPlatformReportStatusCode (
|
||||
IN EFI_STATUS_CODE_TYPE CodeType,
|
||||
IN EFI_STATUS_CODE_VALUE Value,
|
||||
IN UINT32 Instance,
|
||||
IN EFI_GUID * CallerId,
|
||||
IN EFI_STATUS_CODE_DATA * Data OPTIONAL
|
||||
)
|
||||
;
|
||||
|
||||
#endif
|
299
EdkModulePkg/Include/Library/EdkScsiLib.h
Normal file
299
EdkModulePkg/Include/Library/EdkScsiLib.h
Normal file
@@ -0,0 +1,299 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
ScsiLib.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Common Libarary for SCSI
|
||||
|
||||
Revision History
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _SCSI_LIB_H
|
||||
#define _SCSI_LIB_H
|
||||
|
||||
//
|
||||
// the time unit is 100ns, since the SCSI I/O defines timeout in 100ns unit.
|
||||
//
|
||||
#define EFI_SCSI_STALL_1_MICROSECOND 10
|
||||
#define EFI_SCSI_STALL_1_MILLISECOND 10000
|
||||
#define EFI_SCSI_STALL_1_SECOND 10000000
|
||||
|
||||
//
|
||||
// this macro cannot be directly used by the gBS->Stall(),
|
||||
// since the value output by this macro is in 100ns unit,
|
||||
// not 1us unit (1us = 1000ns)
|
||||
//
|
||||
#define EfiScsiStallSeconds(a) (a) * EFI_SCSI_STALL_1_SECOND
|
||||
|
||||
EFI_STATUS
|
||||
SubmitTestUnitReadyCommand (
|
||||
IN EFI_SCSI_IO_PROTOCOL *ScsiIo,
|
||||
IN UINT64 Timeout,
|
||||
OUT VOID *SenseData,
|
||||
OUT UINT8 *SenseDataLength,
|
||||
OUT UINT8 *HostAdapterStatus,
|
||||
OUT UINT8 *TargetStatus
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
|
||||
TODO: Add function description
|
||||
|
||||
Arguments:
|
||||
|
||||
ScsiIo - TODO: add argument description
|
||||
Timeout - TODO: add argument description
|
||||
SenseData - TODO: add argument description
|
||||
SenseDataLength - TODO: add argument description
|
||||
HostAdapterStatus - TODO: add argument description
|
||||
TargetStatus - TODO: add argument description
|
||||
|
||||
Returns:
|
||||
|
||||
TODO: add return values
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
EFI_STATUS
|
||||
SubmitInquiryCommand (
|
||||
IN EFI_SCSI_IO_PROTOCOL *ScsiIo,
|
||||
IN UINT64 Timeout,
|
||||
IN VOID *SenseData,
|
||||
IN OUT UINT8 *SenseDataLength,
|
||||
OUT UINT8 *HostAdapterStatus,
|
||||
OUT UINT8 *TargetStatus,
|
||||
IN OUT VOID *InquiryDataBuffer,
|
||||
IN OUT UINT32 *InquiryDataLength,
|
||||
IN BOOLEAN EnableVitalProductData
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
|
||||
TODO: Add function description
|
||||
|
||||
Arguments:
|
||||
|
||||
ScsiIo - TODO: add argument description
|
||||
Timeout - TODO: add argument description
|
||||
SenseData - TODO: add argument description
|
||||
SenseDataLength - TODO: add argument description
|
||||
HostAdapterStatus - TODO: add argument description
|
||||
TargetStatus - TODO: add argument description
|
||||
InquiryDataBuffer - TODO: add argument description
|
||||
InquiryDataLength - TODO: add argument description
|
||||
EnableVitalProductData - TODO: add argument description
|
||||
|
||||
Returns:
|
||||
|
||||
TODO: add return values
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
EFI_STATUS
|
||||
SubmitModeSense10Command (
|
||||
IN EFI_SCSI_IO_PROTOCOL *ScsiIo,
|
||||
IN UINT64 Timeout,
|
||||
IN VOID *SenseData,
|
||||
IN OUT UINT8 *SenseDataLength,
|
||||
OUT UINT8 *HostAdapterStatus,
|
||||
OUT UINT8 *TargetStatus,
|
||||
IN VOID *DataBuffer,
|
||||
IN OUT UINT32 *DataLength,
|
||||
IN UINT8 DBDField, OPTIONAL
|
||||
IN UINT8 PageControl,
|
||||
IN UINT8 PageCode
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
|
||||
TODO: Add function description
|
||||
|
||||
Arguments:
|
||||
|
||||
ScsiIo - TODO: add argument description
|
||||
Timeout - TODO: add argument description
|
||||
SenseData - TODO: add argument description
|
||||
SenseDataLength - TODO: add argument description
|
||||
HostAdapterStatus - TODO: add argument description
|
||||
TargetStatus - TODO: add argument description
|
||||
DataBuffer - TODO: add argument description
|
||||
DataLength - TODO: add argument description
|
||||
DBDField - TODO: add argument description
|
||||
PageControl - TODO: add argument description
|
||||
PageCode - TODO: add argument description
|
||||
|
||||
Returns:
|
||||
|
||||
TODO: add return values
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
EFI_STATUS
|
||||
SubmitRequestSenseCommand (
|
||||
IN EFI_SCSI_IO_PROTOCOL *ScsiIo,
|
||||
IN UINT64 Timeout,
|
||||
IN VOID *SenseData,
|
||||
IN OUT UINT8 *SenseDataLength,
|
||||
OUT UINT8 *HostAdapterStatus,
|
||||
OUT UINT8 *TargetStatus
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
|
||||
TODO: Add function description
|
||||
|
||||
Arguments:
|
||||
|
||||
ScsiIo - TODO: add argument description
|
||||
Timeout - TODO: add argument description
|
||||
SenseData - TODO: add argument description
|
||||
SenseDataLength - TODO: add argument description
|
||||
HostAdapterStatus - TODO: add argument description
|
||||
TargetStatus - TODO: add argument description
|
||||
|
||||
Returns:
|
||||
|
||||
TODO: add return values
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
//
|
||||
// Commands for direct access command
|
||||
//
|
||||
EFI_STATUS
|
||||
SubmitReadCapacityCommand (
|
||||
IN EFI_SCSI_IO_PROTOCOL *ScsiIo,
|
||||
IN UINT64 Timeout,
|
||||
IN VOID *SenseData,
|
||||
IN OUT UINT8 *SenseDataLength,
|
||||
OUT UINT8 *HostAdapterStatus,
|
||||
OUT UINT8 *TargetStatus,
|
||||
OUT VOID *DataBuffer,
|
||||
IN OUT UINT32 *DataLength,
|
||||
IN BOOLEAN PMI
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
|
||||
TODO: Add function description
|
||||
|
||||
Arguments:
|
||||
|
||||
ScsiIo - TODO: add argument description
|
||||
Timeout - TODO: add argument description
|
||||
SenseData - TODO: add argument description
|
||||
SenseDataLength - TODO: add argument description
|
||||
HostAdapterStatus - TODO: add argument description
|
||||
TargetStatus - TODO: add argument description
|
||||
DataBuffer - TODO: add argument description
|
||||
DataLength - TODO: add argument description
|
||||
PMI - TODO: add argument description
|
||||
|
||||
Returns:
|
||||
|
||||
TODO: add return values
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
EFI_STATUS
|
||||
SubmitRead10Command (
|
||||
IN EFI_SCSI_IO_PROTOCOL *ScsiIo,
|
||||
IN UINT64 Timeout,
|
||||
IN VOID *SenseData,
|
||||
IN OUT UINT8 *SenseDataLength,
|
||||
OUT UINT8 *HostAdapterStatus,
|
||||
OUT UINT8 *TargetStatus,
|
||||
OUT VOID *DataBuffer,
|
||||
IN OUT UINT32 *DataLength,
|
||||
IN UINT32 StartLba,
|
||||
IN UINT32 SectorSize
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
|
||||
TODO: Add function description
|
||||
|
||||
Arguments:
|
||||
|
||||
ScsiIo - TODO: add argument description
|
||||
Timeout - TODO: add argument description
|
||||
SenseData - TODO: add argument description
|
||||
SenseDataLength - TODO: add argument description
|
||||
HostAdapterStatus - TODO: add argument description
|
||||
TargetStatus - TODO: add argument description
|
||||
DataBuffer - TODO: add argument description
|
||||
DataLength - TODO: add argument description
|
||||
StartLba - TODO: add argument description
|
||||
SectorSize - TODO: add argument description
|
||||
|
||||
Returns:
|
||||
|
||||
TODO: add return values
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
EFI_STATUS
|
||||
SubmitWrite10Command (
|
||||
IN EFI_SCSI_IO_PROTOCOL *ScsiIo,
|
||||
IN UINT64 Timeout,
|
||||
IN VOID *SenseData,
|
||||
IN OUT UINT8 *SenseDataLength,
|
||||
OUT UINT8 *HostAdapterStatus,
|
||||
OUT UINT8 *TargetStatus,
|
||||
OUT VOID *DataBuffer,
|
||||
IN OUT UINT32 *DataLength,
|
||||
IN UINT32 StartLba,
|
||||
IN UINT32 SectorSize
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
|
||||
TODO: Add function description
|
||||
|
||||
Arguments:
|
||||
|
||||
ScsiIo - TODO: add argument description
|
||||
Timeout - TODO: add argument description
|
||||
SenseData - TODO: add argument description
|
||||
SenseDataLength - TODO: add argument description
|
||||
HostAdapterStatus - TODO: add argument description
|
||||
TargetStatus - TODO: add argument description
|
||||
DataBuffer - TODO: add argument description
|
||||
DataLength - TODO: add argument description
|
||||
StartLba - TODO: add argument description
|
||||
SectorSize - TODO: add argument description
|
||||
|
||||
Returns:
|
||||
|
||||
TODO: add return values
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
#endif
|
373
EdkModulePkg/Include/Library/EdkUsbLib.h
Normal file
373
EdkModulePkg/Include/Library/EdkUsbLib.h
Normal file
@@ -0,0 +1,373 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
UsbDxeLib.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Common Dxe Libarary for USB
|
||||
Add Constants & structure definitions for Usb HID
|
||||
|
||||
Revision History
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _USB_DXE_LIB_H
|
||||
#define _USB_DXE_LIB_H
|
||||
|
||||
//
|
||||
// define the timeout time as 3ms
|
||||
//
|
||||
#define TIMEOUT_VALUE 3 * 1000
|
||||
|
||||
//
|
||||
// HID constants definition, see HID rev1.0
|
||||
//
|
||||
//
|
||||
// HID report item format
|
||||
//
|
||||
#define HID_ITEM_FORMAT_SHORT 0
|
||||
#define HID_ITEM_FORMAT_LONG 1
|
||||
|
||||
//
|
||||
// Special tag indicating long items
|
||||
//
|
||||
#define HID_ITEM_TAG_LONG 15
|
||||
|
||||
//
|
||||
// HID report descriptor item type (prefix bit 2,3)
|
||||
//
|
||||
#define HID_ITEM_TYPE_MAIN 0
|
||||
#define HID_ITEM_TYPE_GLOBAL 1
|
||||
#define HID_ITEM_TYPE_LOCAL 2
|
||||
#define HID_ITEM_TYPE_RESERVED 3
|
||||
|
||||
//
|
||||
// HID report descriptor main item tags
|
||||
//
|
||||
#define HID_MAIN_ITEM_TAG_INPUT 8
|
||||
#define HID_MAIN_ITEM_TAG_OUTPUT 9
|
||||
#define HID_MAIN_ITEM_TAG_FEATURE 11
|
||||
#define HID_MAIN_ITEM_TAG_BEGIN_COLLECTION 10
|
||||
#define HID_MAIN_ITEM_TAG_END_COLLECTION 12
|
||||
|
||||
//
|
||||
// HID report descriptor main item contents
|
||||
//
|
||||
#define HID_MAIN_ITEM_CONSTANT 0x001
|
||||
#define HID_MAIN_ITEM_VARIABLE 0x002
|
||||
#define HID_MAIN_ITEM_RELATIVE 0x004
|
||||
#define HID_MAIN_ITEM_WRAP 0x008
|
||||
#define HID_MAIN_ITEM_NONLINEAR 0x010
|
||||
#define HID_MAIN_ITEM_NO_PREFERRED 0x020
|
||||
#define HID_MAIN_ITEM_NULL_STATE 0x040
|
||||
#define HID_MAIN_ITEM_VOLATILE 0x080
|
||||
#define HID_MAIN_ITEM_BUFFERED_BYTE 0x100
|
||||
|
||||
//
|
||||
// HID report descriptor collection item types
|
||||
//
|
||||
#define HID_COLLECTION_PHYSICAL 0
|
||||
#define HID_COLLECTION_APPLICATION 1
|
||||
#define HID_COLLECTION_LOGICAL 2
|
||||
|
||||
//
|
||||
// HID report descriptor global item tags
|
||||
//
|
||||
#define HID_GLOBAL_ITEM_TAG_USAGE_PAGE 0
|
||||
#define HID_GLOBAL_ITEM_TAG_LOGICAL_MINIMUM 1
|
||||
#define HID_GLOBAL_ITEM_TAG_LOGICAL_MAXIMUM 2
|
||||
#define HID_GLOBAL_ITEM_TAG_PHYSICAL_MINIMUM 3
|
||||
#define HID_GLOBAL_ITEM_TAG_PHYSICAL_MAXIMUM 4
|
||||
#define HID_GLOBAL_ITEM_TAG_UNIT_EXPONENT 5
|
||||
#define HID_GLOBAL_ITEM_TAG_UNIT 6
|
||||
#define HID_GLOBAL_ITEM_TAG_REPORT_SIZE 7
|
||||
#define HID_GLOBAL_ITEM_TAG_REPORT_ID 8
|
||||
#define HID_GLOBAL_ITEM_TAG_REPORT_COUNT 9
|
||||
#define HID_GLOBAL_ITEM_TAG_PUSH 10
|
||||
#define HID_GLOBAL_ITEM_TAG_POP 11
|
||||
|
||||
//
|
||||
// HID report descriptor local item tags
|
||||
//
|
||||
#define HID_LOCAL_ITEM_TAG_USAGE 0
|
||||
#define HID_LOCAL_ITEM_TAG_USAGE_MINIMUM 1
|
||||
#define HID_LOCAL_ITEM_TAG_USAGE_MAXIMUM 2
|
||||
#define HID_LOCAL_ITEM_TAG_DESIGNATOR_INDEX 3
|
||||
#define HID_LOCAL_ITEM_TAG_DESIGNATOR_MINIMUM 4
|
||||
#define HID_LOCAL_ITEM_TAG_DESIGNATOR_MAXIMUM 5
|
||||
#define HID_LOCAL_ITEM_TAG_STRING_INDEX 7
|
||||
#define HID_LOCAL_ITEM_TAG_STRING_MINIMUM 8
|
||||
#define HID_LOCAL_ITEM_TAG_STRING_MAXIMUM 9
|
||||
#define HID_LOCAL_ITEM_TAG_DELIMITER 10
|
||||
|
||||
//
|
||||
// HID usage tables
|
||||
//
|
||||
#define HID_USAGE_PAGE 0xffff0000
|
||||
|
||||
#define HID_UP_GENDESK 0x00010000
|
||||
#define HID_UP_KEYBOARD 0x00070000
|
||||
#define HID_UP_LED 0x00080000
|
||||
#define HID_UP_BUTTON 0x00090000
|
||||
#define HID_UP_CONSUMER 0x000c0000
|
||||
#define HID_UP_DIGITIZER 0x000d0000
|
||||
#define HID_UP_PID 0x000f0000
|
||||
|
||||
#define HID_USAGE 0x0000ffff
|
||||
|
||||
#define HID_GD_POINTER 0x00010001
|
||||
#define HID_GD_MOUSE 0x00010002
|
||||
#define HID_GD_JOYSTICK 0x00010004
|
||||
#define HID_GD_GAMEPAD 0x00010005
|
||||
#define HID_GD_HATSWITCH 0x00010039
|
||||
|
||||
//
|
||||
// HID report types
|
||||
//
|
||||
#define HID_INPUT_REPORT 1
|
||||
#define HID_OUTPUT_REPORT 2
|
||||
#define HID_FEATURE_REPORT 3
|
||||
|
||||
//
|
||||
// HID device quirks.
|
||||
//
|
||||
#define HID_QUIRK_INVERT 0x01
|
||||
#define HID_QUIRK_NOTOUCH 0x02
|
||||
|
||||
//
|
||||
// HID class protocol request
|
||||
//
|
||||
#define EFI_USB_GET_REPORT_REQUEST 0x01
|
||||
#define EFI_USB_GET_IDLE_REQUEST 0x02
|
||||
#define EFI_USB_GET_PROTOCOL_REQUEST 0x03
|
||||
#define EFI_USB_SET_REPORT_REQUEST 0x09
|
||||
#define EFI_USB_SET_IDLE_REQUEST 0x0a
|
||||
#define EFI_USB_SET_PROTOCOL_REQUEST 0x0b
|
||||
|
||||
#pragma pack(1)
|
||||
//
|
||||
// Descriptor header for Report/Physical Descriptors
|
||||
//
|
||||
typedef struct hid_class_descriptor {
|
||||
UINT8 DescriptorType;
|
||||
UINT16 DescriptorLength;
|
||||
} EFI_USB_HID_CLASS_DESCRIPTOR;
|
||||
|
||||
typedef struct hid_descriptor {
|
||||
UINT8 Length;
|
||||
UINT8 DescriptorType;
|
||||
UINT16 BcdHID;
|
||||
UINT8 CountryCode;
|
||||
UINT8 NumDescriptors;
|
||||
EFI_USB_HID_CLASS_DESCRIPTOR HidClassDesc[1];
|
||||
} EFI_USB_HID_DESCRIPTOR;
|
||||
|
||||
#pragma pack()
|
||||
|
||||
EFI_STATUS
|
||||
UsbGetHidDescriptor (
|
||||
IN EFI_USB_IO_PROTOCOL *UsbIo,
|
||||
IN UINT8 InterfaceNum,
|
||||
OUT EFI_USB_HID_DESCRIPTOR *HidDescriptor
|
||||
);
|
||||
|
||||
EFI_STATUS
|
||||
UsbGetReportDescriptor (
|
||||
IN EFI_USB_IO_PROTOCOL *UsbIo,
|
||||
IN UINT8 InterfaceNum,
|
||||
IN UINT16 DescriptorSize,
|
||||
OUT UINT8 *DescriptorBuffer
|
||||
);
|
||||
|
||||
EFI_STATUS
|
||||
UsbGetProtocolRequest (
|
||||
IN EFI_USB_IO_PROTOCOL *UsbIo,
|
||||
IN UINT8 Interface,
|
||||
IN UINT8 *Protocol
|
||||
);
|
||||
|
||||
EFI_STATUS
|
||||
UsbSetProtocolRequest (
|
||||
IN EFI_USB_IO_PROTOCOL *UsbIo,
|
||||
IN UINT8 Interface,
|
||||
IN UINT8 Protocol
|
||||
);
|
||||
|
||||
EFI_STATUS
|
||||
UsbSetIdleRequest (
|
||||
IN EFI_USB_IO_PROTOCOL *UsbIo,
|
||||
IN UINT8 Interface,
|
||||
IN UINT8 ReportId,
|
||||
IN UINT8 Duration
|
||||
);
|
||||
|
||||
EFI_STATUS
|
||||
UsbGetIdleRequest (
|
||||
IN EFI_USB_IO_PROTOCOL *UsbIo,
|
||||
IN UINT8 Interface,
|
||||
IN UINT8 ReportId,
|
||||
OUT UINT8 *Duration
|
||||
);
|
||||
|
||||
EFI_STATUS
|
||||
UsbSetReportRequest (
|
||||
IN EFI_USB_IO_PROTOCOL *UsbIo,
|
||||
IN UINT8 Interface,
|
||||
IN UINT8 ReportId,
|
||||
IN UINT8 ReportType,
|
||||
IN UINT16 ReportLen,
|
||||
IN UINT8 *Report
|
||||
);
|
||||
|
||||
EFI_STATUS
|
||||
UsbGetReportRequest (
|
||||
IN EFI_USB_IO_PROTOCOL *UsbIo,
|
||||
IN UINT8 Interface,
|
||||
IN UINT8 ReportId,
|
||||
IN UINT8 ReportType,
|
||||
IN UINT16 ReportLen,
|
||||
IN UINT8 *Report
|
||||
);
|
||||
|
||||
//
|
||||
// Get Device Descriptor
|
||||
//
|
||||
EFI_STATUS
|
||||
UsbGetDescriptor (
|
||||
IN EFI_USB_IO_PROTOCOL *UsbIo,
|
||||
IN UINT16 Value,
|
||||
IN UINT16 Index,
|
||||
IN UINT16 DescriptorLength,
|
||||
OUT VOID *Descriptor,
|
||||
OUT UINT32 *Status
|
||||
);
|
||||
|
||||
//
|
||||
// Set Device Descriptor
|
||||
//
|
||||
EFI_STATUS
|
||||
UsbSetDescriptor (
|
||||
IN EFI_USB_IO_PROTOCOL *UsbIo,
|
||||
IN UINT16 Value,
|
||||
IN UINT16 Index,
|
||||
IN UINT16 DescriptorLength,
|
||||
IN VOID *Descriptor,
|
||||
OUT UINT32 *Status
|
||||
);
|
||||
|
||||
//
|
||||
// Get device Interface
|
||||
//
|
||||
EFI_STATUS
|
||||
UsbGetDeviceInterface (
|
||||
IN EFI_USB_IO_PROTOCOL *UsbIo,
|
||||
IN UINT16 Index,
|
||||
OUT UINT8 *AltSetting,
|
||||
OUT UINT32 *Status
|
||||
);
|
||||
|
||||
//
|
||||
// Set device interface
|
||||
//
|
||||
EFI_STATUS
|
||||
UsbSetDeviceInterface (
|
||||
IN EFI_USB_IO_PROTOCOL *UsbIo,
|
||||
IN UINT16 InterfaceNo,
|
||||
IN UINT16 AltSetting,
|
||||
OUT UINT32 *Status
|
||||
);
|
||||
|
||||
//
|
||||
// Get device configuration
|
||||
//
|
||||
EFI_STATUS
|
||||
UsbGetDeviceConfiguration (
|
||||
IN EFI_USB_IO_PROTOCOL *UsbIo,
|
||||
OUT UINT8 *ConfigValue,
|
||||
OUT UINT32 *Status
|
||||
);
|
||||
|
||||
//
|
||||
// Set device configuration
|
||||
//
|
||||
EFI_STATUS
|
||||
UsbSetDeviceConfiguration (
|
||||
IN EFI_USB_IO_PROTOCOL *UsbIo,
|
||||
IN UINT16 Value,
|
||||
OUT UINT32 *Status
|
||||
);
|
||||
|
||||
//
|
||||
// Set Device Feature
|
||||
//
|
||||
EFI_STATUS
|
||||
UsbSetDeviceFeature (
|
||||
IN EFI_USB_IO_PROTOCOL *UsbIo,
|
||||
IN EFI_USB_RECIPIENT Recipient,
|
||||
IN UINT16 Value,
|
||||
IN UINT16 Target,
|
||||
OUT UINT32 *Status
|
||||
);
|
||||
|
||||
//
|
||||
// Clear Device Feature
|
||||
//
|
||||
EFI_STATUS
|
||||
UsbClearDeviceFeature (
|
||||
IN EFI_USB_IO_PROTOCOL *UsbIo,
|
||||
IN EFI_USB_RECIPIENT Recipient,
|
||||
IN UINT16 Value,
|
||||
IN UINT16 Target,
|
||||
OUT UINT32 *Status
|
||||
);
|
||||
|
||||
//
|
||||
// Get Device Status
|
||||
//
|
||||
EFI_STATUS
|
||||
UsbGetDeviceStatus (
|
||||
IN EFI_USB_IO_PROTOCOL *UsbIo,
|
||||
IN EFI_USB_RECIPIENT Recipient,
|
||||
IN UINT16 Target,
|
||||
OUT UINT16 *DevStatus,
|
||||
OUT UINT32 *Status
|
||||
);
|
||||
|
||||
//
|
||||
// The following APIs are not basic library, but they are common used.
|
||||
//
|
||||
//
|
||||
// Usb Get String
|
||||
//
|
||||
EFI_STATUS
|
||||
UsbGetString (
|
||||
IN EFI_USB_IO_PROTOCOL *UsbIo,
|
||||
IN UINT16 LangID,
|
||||
IN UINT8 Index,
|
||||
IN VOID *Buf,
|
||||
IN UINTN BufSize,
|
||||
OUT UINT32 *Status
|
||||
);
|
||||
|
||||
//
|
||||
// Clear endpoint stall
|
||||
//
|
||||
EFI_STATUS
|
||||
UsbClearEndpointHalt (
|
||||
IN EFI_USB_IO_PROTOCOL *UsbIo,
|
||||
IN UINT8 EndpointNo,
|
||||
OUT UINT32 *Status
|
||||
);
|
||||
|
||||
#endif
|
42
EdkModulePkg/Include/Library/TianoDecompressLib.h
Normal file
42
EdkModulePkg/Include/Library/TianoDecompressLib.h
Normal file
@@ -0,0 +1,42 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
TianoDecompressLib.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Tiano Decompress functions
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef __TIANO_DECPOMPRESS_LIB_H__
|
||||
#define __TIANO_DECPOMPRESS_LIB_H__
|
||||
|
||||
RETURN_STATUS
|
||||
EFIAPI
|
||||
TianoDecompressGetInfo (
|
||||
IN CONST VOID *Source,
|
||||
IN UINT32 SourceSize,
|
||||
OUT UINT32 *DestinationSize,
|
||||
OUT UINT32 *ScratchSize
|
||||
);
|
||||
|
||||
RETURN_STATUS
|
||||
EFIAPI
|
||||
TianoDecompress (
|
||||
IN CONST VOID *Source,
|
||||
IN OUT VOID *Destination,
|
||||
IN OUT VOID *Scratch
|
||||
);
|
||||
|
||||
#endif
|
56
EdkModulePkg/Include/Ppi/BaseMemoryTest.h
Normal file
56
EdkModulePkg/Include/Ppi/BaseMemoryTest.h
Normal file
@@ -0,0 +1,56 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
BaseMemoryTest.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Pei memory test PPI as defined in Tiano
|
||||
|
||||
Used to Pei memory test in PEI
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _BASE_MEMORY_TEST_H_
|
||||
#define _BASE_MEMORY_TEST_H_
|
||||
|
||||
#define PEI_BASE_MEMORY_TEST_GUID \
|
||||
{ 0xb6ec423c, 0x21d2, 0x490d, {0x85, 0xc6, 0xdd, 0x58, 0x64, 0xea, 0xa6, 0x74 } }
|
||||
|
||||
typedef struct _PEI_BASE_MEMORY_TEST_PPI PEI_BASE_MEMORY_TEST_PPI;
|
||||
|
||||
typedef enum {
|
||||
Ignore,
|
||||
Quick,
|
||||
Sparse,
|
||||
Extensive
|
||||
} PEI_MEMORY_TEST_OP;
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *PEI_BASE_MEMORY_TEST) (
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN PEI_BASE_MEMORY_TEST_PPI * This,
|
||||
IN EFI_PHYSICAL_ADDRESS BeginAddress,
|
||||
IN UINT64 MemoryLength,
|
||||
IN PEI_MEMORY_TEST_OP Operation,
|
||||
OUT EFI_PHYSICAL_ADDRESS * ErrorAddress
|
||||
);
|
||||
|
||||
struct _PEI_BASE_MEMORY_TEST_PPI {
|
||||
PEI_BASE_MEMORY_TEST BaseMemoryTest;
|
||||
};
|
||||
|
||||
extern EFI_GUID gPeiBaseMemoryTestPpiGuid;
|
||||
|
||||
#endif
|
52
EdkModulePkg/Include/Ppi/FlashMap.h
Normal file
52
EdkModulePkg/Include/Ppi/FlashMap.h
Normal file
@@ -0,0 +1,52 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
FlashMap.h
|
||||
|
||||
Abstract:
|
||||
|
||||
FlashMap PPI defined in Tiano
|
||||
|
||||
This code abstracts FlashMap access
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _PEI_FLASH_MAP_PPI_H_
|
||||
#define _PEI_FLASH_MAP_PPI_H_
|
||||
|
||||
#define PEI_FLASH_MAP_PPI_GUID \
|
||||
{ 0xf34c2fa0, 0xde88, 0x4270, {0x84, 0x14, 0x96, 0x12, 0x22, 0xf4, 0x52, 0x1c } }
|
||||
|
||||
typedef struct _PEI_FLASH_MAP_PPI PEI_FLASH_MAP_PPI;
|
||||
//
|
||||
// Functions
|
||||
//
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *PEI_GET_FLASH_AREA_INFO) (
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN PEI_FLASH_MAP_PPI *This,
|
||||
IN EFI_FLASH_AREA_TYPE AreaType,
|
||||
IN EFI_GUID *AreaTypeGuid,
|
||||
OUT UINT32 *NumEntries,
|
||||
OUT EFI_FLASH_SUBAREA_ENTRY **Entries
|
||||
);
|
||||
|
||||
|
||||
struct _PEI_FLASH_MAP_PPI {
|
||||
PEI_GET_FLASH_AREA_INFO GetAreaInfo;
|
||||
};
|
||||
|
||||
extern EFI_GUID gPeiFlashMapPpiGuid;
|
||||
|
||||
#endif
|
29
EdkModulePkg/Include/Ppi/PeiInMemory.h
Normal file
29
EdkModulePkg/Include/Ppi/PeiInMemory.h
Normal file
@@ -0,0 +1,29 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
PeiInMemory.h
|
||||
|
||||
Abstract:
|
||||
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef __PEI_IN_MEMORY_H__
|
||||
#define __PEI_IN_MEMORY_H__
|
||||
|
||||
#define PEI_IN_MEMORY_GUID \
|
||||
{0x643b8786, 0xb417, 0x48d2, {0x8f, 0x5e, 0x78, 0x19, 0x93, 0x1c, 0xae, 0xd8} }
|
||||
|
||||
extern EFI_GUID gPeiInMemoryGuid;
|
||||
|
||||
#endif
|
53
EdkModulePkg/Include/Ppi/StatusCodeMemory.h
Normal file
53
EdkModulePkg/Include/Ppi/StatusCodeMemory.h
Normal file
@@ -0,0 +1,53 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
StatusCodeMemory.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Status Code memory descriptor PPI. Contains information about memory that
|
||||
the Status Code PEIM may use to journal Status Codes.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _PEI_STATUS_CODE_MEMORY_PPI_H_
|
||||
#define _PEI_STATUS_CODE_MEMORY_PPI_H_
|
||||
|
||||
//
|
||||
// GUID definition
|
||||
//
|
||||
#define PEI_STATUS_CODE_MEMORY_PPI_GUID \
|
||||
{ 0x26f8ab01, 0xd3cd, 0x489c, {0x98, 0x4f, 0xdf, 0xde, 0xf7, 0x68, 0x39, 0x5b } }
|
||||
|
||||
//
|
||||
// Data types
|
||||
//
|
||||
typedef struct {
|
||||
EFI_STATUS_CODE_TYPE Type;
|
||||
EFI_STATUS_CODE_VALUE Value;
|
||||
UINT32 Instance;
|
||||
} EFI_STATUS_CODE_ENTRY;
|
||||
|
||||
//
|
||||
// PPI definition
|
||||
//
|
||||
typedef struct {
|
||||
UINTN FirstEntry;
|
||||
UINTN LastEntry;
|
||||
EFI_PHYSICAL_ADDRESS Address;
|
||||
UINTN Length;
|
||||
} PEI_STATUS_CODE_MEMORY_PPI;
|
||||
|
||||
extern EFI_GUID gPeiStatusCodeMemoryPpiGuid;
|
||||
|
||||
#endif
|
61
EdkModulePkg/Include/Protocol/AcpiS3Save.h
Normal file
61
EdkModulePkg/Include/Protocol/AcpiS3Save.h
Normal file
@@ -0,0 +1,61 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
AcpiS3Save.h
|
||||
|
||||
Abstract:
|
||||
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _ACPI_S3_SAVE_PROTOCOL_H
|
||||
#define _ACPI_S3_SAVE_PROTOCOL_H
|
||||
|
||||
//
|
||||
// Forward reference for pure ANSI compatability
|
||||
//
|
||||
typedef struct _EFI_ACPI_S3_SAVE_PROTOCOL EFI_ACPI_S3_SAVE_PROTOCOL;
|
||||
|
||||
//
|
||||
// S3 Save Protocol GUID
|
||||
//
|
||||
#define EFI_ACPI_S3_SAVE_GUID \
|
||||
{ \
|
||||
0x125f2de1, 0xfb85, 0x440c, {0xa5, 0x4c, 0x4d, 0x99, 0x35, 0x8a, 0x8d, 0x38 } \
|
||||
}
|
||||
|
||||
//
|
||||
// Protocol Data Structures
|
||||
//
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_ACPI_S3_SAVE) (
|
||||
IN EFI_ACPI_S3_SAVE_PROTOCOL * This,
|
||||
IN VOID * LegacyMemoryAddress
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_ACPI_GET_LEGACY_MEMORY_SIZE) (
|
||||
IN EFI_ACPI_S3_SAVE_PROTOCOL * This,
|
||||
OUT UINTN * Size
|
||||
);
|
||||
|
||||
struct _EFI_ACPI_S3_SAVE_PROTOCOL {
|
||||
EFI_ACPI_GET_LEGACY_MEMORY_SIZE GetLegacyMemorySize;
|
||||
EFI_ACPI_S3_SAVE S3Save;
|
||||
};
|
||||
|
||||
extern EFI_GUID gEfiAcpiS3SaveProtocolGuid;
|
||||
|
||||
#endif
|
121
EdkModulePkg/Include/Protocol/ConsoleControl.h
Normal file
121
EdkModulePkg/Include/Protocol/ConsoleControl.h
Normal file
@@ -0,0 +1,121 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
ConsoleControl.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Abstraction of a Text mode or 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 *UgaExists, OPTIONAL
|
||||
OUT BOOLEAN *StdInLocked OPTIONAL
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
Return the current video mode information. Also returns info about existence
|
||||
of 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.
|
||||
UgaExists - TRUE if UGA Spliter has found a 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
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
|
||||
|
||||
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;
|
||||
};
|
||||
|
||||
extern EFI_GUID gEfiConsoleControlProtocolGuid;
|
||||
|
||||
#endif
|
137
EdkModulePkg/Include/Protocol/CustomizedDecompress.h
Normal file
137
EdkModulePkg/Include/Protocol/CustomizedDecompress.h
Normal file
@@ -0,0 +1,137 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
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 } }
|
||||
|
||||
typedef struct _EFI_CUSTOMIZED_DECOMPRESS_PROTOCOL 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).
|
||||
|
||||
--*/
|
||||
|
||||
struct _EFI_CUSTOMIZED_DECOMPRESS_PROTOCOL {
|
||||
EFI_CUSTOMIZED_DECOMPRESS_GET_INFO GetInfo;
|
||||
EFI_CUSTOMIZED_DECOMPRESS_DECOMPRESS Decompress;
|
||||
};
|
||||
|
||||
extern EFI_GUID gEfiCustomizedDecompressProtocolGuid;
|
||||
|
||||
#endif
|
89
EdkModulePkg/Include/Protocol/DebugAssert.h
Normal file
89
EdkModulePkg/Include/Protocol/DebugAssert.h
Normal file
@@ -0,0 +1,89 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
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
|
||||
//
|
||||
typedef struct _EFI_DEBUG_ASSERT_PROTOCOL 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
|
||||
);
|
||||
|
||||
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;
|
||||
|
||||
};
|
||||
|
||||
extern EFI_GUID gEfiDebugAssertProtocolGuid;
|
||||
|
||||
#endif
|
40
EdkModulePkg/Include/Protocol/DebugLevel.h
Normal file
40
EdkModulePkg/Include/Protocol/DebugLevel.h
Normal file
@@ -0,0 +1,40 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
DebugLevel.h
|
||||
|
||||
Abstract:
|
||||
This protocol is used to abstract the Debug Mask serivces for
|
||||
the specific driver or application image.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef __DEBUG_LEVEL_H__
|
||||
#define __DEBUG_LEVEL_H__
|
||||
|
||||
//
|
||||
// 8D4C62E6-CD98-4e1d-AD6E-48BB50D29FF7
|
||||
//
|
||||
#define EFI_DEBUG_LEVEL_PROTOCOL_GUID \
|
||||
{ 0x8d4c62e6, 0xcd98, 0x4e1d, {0xad, 0x6e, 0x48, 0xbb, 0x50, 0xd2, 0x9f, 0xf7 } }
|
||||
|
||||
//
|
||||
// DebugLevel protocol definition
|
||||
//
|
||||
typedef struct _EFI_DEBUG_LEVEL_PROTOCOL {
|
||||
UINTN DebugLevel;
|
||||
} EFI_DEBUG_LEVEL_PROTOCOL;
|
||||
|
||||
extern EFI_GUID gEfiDebugLevelProtocolGuid;
|
||||
|
||||
#endif
|
179
EdkModulePkg/Include/Protocol/DiskInfo.h
Normal file
179
EdkModulePkg/Include/Protocol/DiskInfo.h
Normal file
@@ -0,0 +1,179 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
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 } \
|
||||
}
|
||||
|
||||
//
|
||||
// Forward reference for pure ANSI compatability
|
||||
//
|
||||
typedef struct _EFI_DISK_INFO_PROTOCOL 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;
|
||||
|
||||
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;
|
||||
};
|
||||
|
||||
extern EFI_GUID gEfiDiskInfoProtocolGuid;
|
||||
|
||||
#endif
|
||||
|
||||
|
137
EdkModulePkg/Include/Protocol/EdkDecompress.h
Normal file
137
EdkModulePkg/Include/Protocol/EdkDecompress.h
Normal file
@@ -0,0 +1,137 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
EdkDecompress.h
|
||||
|
||||
Abstract:
|
||||
The Tiano Decompress Protocol Interface
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef __EDK_DECOMPRESS_H__
|
||||
#define __EDK_DECOMPRESS_H__
|
||||
|
||||
#define EFI_TIANO_DECOMPRESS_PROTOCOL_GUID \
|
||||
{ 0xe84cf29c, 0x191f, 0x4eae, {0x96, 0xe1, 0xf4, 0x6a, 0xec, 0xea, 0xea, 0x0b } }
|
||||
|
||||
typedef struct _EFI_TIANO_DECOMPRESS_PROTOCOL 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).
|
||||
|
||||
--*/
|
||||
|
||||
struct _EFI_TIANO_DECOMPRESS_PROTOCOL {
|
||||
EFI_TIANO_DECOMPRESS_GET_INFO GetInfo;
|
||||
EFI_TIANO_DECOMPRESS_DECOMPRESS Decompress;
|
||||
};
|
||||
|
||||
extern EFI_GUID gEfiTianoDecompressProtocolGuid;
|
||||
|
||||
#endif
|
113
EdkModulePkg/Include/Protocol/ExtendedSalBootService.h
Normal file
113
EdkModulePkg/Include/Protocol/ExtendedSalBootService.h
Normal file
@@ -0,0 +1,113 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
ExtendedSalBootService.h
|
||||
|
||||
Abstract:
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _EXTENDED_SAL_PROTOCOL_H_
|
||||
#define _EXTENDED_SAL_PROTOCOL_H_
|
||||
|
||||
#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;
|
||||
|
||||
typedef struct _EXTENDED_SAL_BOOT_SERVICE_PROTOCOL 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
|
||||
//
|
||||
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;
|
||||
};
|
||||
|
||||
extern EFI_GUID gEfiExtendedSalBootServiceProtocolGuid;
|
||||
|
||||
#endif
|
88
EdkModulePkg/Include/Protocol/FaultTolerantWriteLite.h
Normal file
88
EdkModulePkg/Include/Protocol/FaultTolerantWriteLite.h
Normal file
@@ -0,0 +1,88 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
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
|
||||
//
|
||||
typedef struct _EFI_FTW_LITE_PROTOCOL 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
|
||||
//
|
||||
struct _EFI_FTW_LITE_PROTOCOL {
|
||||
EFI_FTW_LITE_WRITE Write;
|
||||
};
|
||||
|
||||
extern EFI_GUID gEfiFaultTolerantWriteLiteProtocolGuid;
|
||||
|
||||
#endif
|
53
EdkModulePkg/Include/Protocol/FvbExtension.h
Normal file
53
EdkModulePkg/Include/Protocol/FvbExtension.h
Normal file
@@ -0,0 +1,53 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
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 } }
|
||||
|
||||
typedef struct _EFI_FVB_EXTENSION_PROTOCOL 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
|
||||
//
|
||||
struct _EFI_FVB_EXTENSION_PROTOCOL {
|
||||
EFI_FV_ERASE_CUSTOM_BLOCK EraseFvbCustomBlock;
|
||||
};
|
||||
|
||||
extern EFI_GUID gEfiFvbExtensionProtocolGuid;
|
||||
|
||||
#endif
|
||||
|
156
EdkModulePkg/Include/Protocol/GenericMemoryTest.h
Normal file
156
EdkModulePkg/Include/Protocol/GenericMemoryTest.h
Normal file
@@ -0,0 +1,156 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
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} }
|
||||
|
||||
typedef struct _EFI_GENERIC_MEMORY_TEST_PROTOCOL 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.
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
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;
|
||||
};
|
||||
|
||||
extern EFI_GUID gEfiGenericMemTestProtocolGuid;
|
||||
|
||||
#endif
|
||||
|
177
EdkModulePkg/Include/Protocol/IsaAcpi.h
Normal file
177
EdkModulePkg/Include/Protocol/IsaAcpi.h
Normal file
@@ -0,0 +1,177 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
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 } }
|
||||
|
||||
typedef struct _EFI_ISA_ACPI_PROTOCOL EFI_ISA_ACPI_PROTOCOL;
|
||||
|
||||
//
|
||||
// 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_PROTOCOL *This,
|
||||
OUT EFI_ISA_ACPI_DEVICE_ID **Device
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_ISA_ACPI_SET_DEVICE_POWER) (
|
||||
IN EFI_ISA_ACPI_PROTOCOL *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_PROTOCOL *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_PROTOCOL *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_PROTOCOL *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_PROTOCOL *This,
|
||||
IN EFI_ISA_ACPI_DEVICE_ID *Device,
|
||||
IN BOOLEAN Enable
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_ISA_ACPI_INIT_DEVICE) (
|
||||
IN EFI_ISA_ACPI_PROTOCOL *This,
|
||||
IN EFI_ISA_ACPI_DEVICE_ID *Device
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_ISA_ACPI_INTERFACE_INIT) (
|
||||
IN EFI_ISA_ACPI_PROTOCOL *This
|
||||
);
|
||||
|
||||
//
|
||||
// Interface structure for the ISA ACPI Protocol
|
||||
//
|
||||
struct _EFI_ISA_ACPI_PROTOCOL {
|
||||
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;
|
||||
};
|
||||
|
||||
extern EFI_GUID gEfiIsaAcpiProtocolGuid;
|
||||
|
||||
#endif
|
174
EdkModulePkg/Include/Protocol/IsaIo.h
Normal file
174
EdkModulePkg/Include/Protocol/IsaIo.h
Normal file
@@ -0,0 +1,174 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
IsaIo.h
|
||||
|
||||
Abstract:
|
||||
|
||||
EFI ISA I/O Protocol
|
||||
|
||||
Revision History
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _EFI_ISA_IO_H
|
||||
#define _EFI_ISA_IO_H
|
||||
|
||||
//
|
||||
// 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 } }
|
||||
|
||||
typedef struct _EFI_ISA_IO_PROTOCOL EFI_ISA_IO_PROTOCOL;
|
||||
|
||||
//
|
||||
// Prototypes for the ISA I/O Protocol
|
||||
//
|
||||
|
||||
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;
|
||||
|
||||
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
|
||||
//
|
||||
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;
|
||||
};
|
||||
|
||||
extern EFI_GUID gEfiIsaIoProtocolGuid;
|
||||
|
||||
#endif
|
68
EdkModulePkg/Include/Protocol/LoadPe32Image.h
Normal file
68
EdkModulePkg/Include/Protocol/LoadPe32Image.h
Normal file
@@ -0,0 +1,68 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
LoadPe32Image.h
|
||||
|
||||
Abstract:
|
||||
Load File protocol as defined in the EFI 1.0 specification.
|
||||
|
||||
Load file protocol exists to supports the addition of new boot devices,
|
||||
and to support booting from devices that do not map well to file system.
|
||||
Network boot is done via a LoadFile protocol.
|
||||
|
||||
EFI 1.0 can boot from any device that produces a LoadFile 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
|
||||
|
||||
typedef struct _EFI_PE32_IMAGE_PROTOCOL 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
|
||||
);
|
||||
|
||||
struct _EFI_PE32_IMAGE_PROTOCOL {
|
||||
LOAD_PE_IMAGE LoadPeImage;
|
||||
UNLOAD_PE_IMAGE UnLoadPeImage;
|
||||
};
|
||||
|
||||
extern EFI_GUID gEfiLoadPeImageProtocolGuid;
|
||||
|
||||
#endif
|
||||
|
79
EdkModulePkg/Include/Protocol/OEMBadging.h
Normal file
79
EdkModulePkg/Include/Protocol/OEMBadging.h
Normal file
@@ -0,0 +1,79 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
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 } }
|
||||
|
||||
|
||||
typedef struct _EFI_OEM_BADGING_PROTOCOL 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
|
||||
);
|
||||
|
||||
|
||||
struct _EFI_OEM_BADGING_PROTOCOL {
|
||||
EFI_BADGING_GET_IMAGE GetImage;
|
||||
};
|
||||
|
||||
|
||||
extern EFI_GUID gEfiOEMBadgingProtocolGuid;
|
||||
|
||||
#endif
|
54
EdkModulePkg/Include/Protocol/PciHotPlugRequest.h
Normal file
54
EdkModulePkg/Include/Protocol/PciHotPlugRequest.h
Normal file
@@ -0,0 +1,54 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
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;
|
||||
|
||||
typedef struct _EFI_PCI_HOTPLUG_REQUEST_PROTOCOL 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
|
||||
);
|
||||
|
||||
|
||||
|
||||
struct _EFI_PCI_HOTPLUG_REQUEST_PROTOCOL {
|
||||
EFI_PCI_HOTPLUG_REQUEST_NOTIFY Notify;
|
||||
};
|
||||
|
||||
extern EFI_GUID gEfiPciHotPlugRequestProtocolGuid;
|
||||
|
||||
#endif
|
166
EdkModulePkg/Include/Protocol/Performance.h
Normal file
166
EdkModulePkg/Include/Protocol/Performance.h
Normal file
@@ -0,0 +1,166 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
Performance.h
|
||||
|
||||
Abstract:
|
||||
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef __PERFORMANCE_H_
|
||||
#define __PERFORMANCE_H_
|
||||
|
||||
#define PERFORMANCE_PROTOCOL_GUID \
|
||||
{ 0x76b6bdfa, 0x2acd, 0x4462, {0x9E, 0x3F, 0xcb, 0x58, 0xC9, 0x69, 0xd9, 0x37 } }
|
||||
|
||||
//
|
||||
// Forward reference for pure ANSI compatability
|
||||
//
|
||||
typedef struct _PERFORMANCE_PROTOCOL PERFORMANCE_PROTOCOL;
|
||||
|
||||
#define DXE_TOK "DXE"
|
||||
#define SHELL_TOK "SHELL"
|
||||
#define PEI_TOK "PEI"
|
||||
#define BDS_TOK "BDS"
|
||||
#define DRIVERBINDING_START_TOK "DriverBinding:Start"
|
||||
#define DRIVERBINDING_SUPPORT_TOK "DriverBinding:Support"
|
||||
#define START_IMAGE_TOK "StartImage"
|
||||
#define LOAD_IMAGE_TOK "LoadImage"
|
||||
|
||||
//
|
||||
// DXE_PERFORMANCE_STRING_SIZE must be a multiple of 8.
|
||||
//
|
||||
#define DXE_PERFORMANCE_STRING_SIZE 32
|
||||
#define DXE_PERFORMANCE_STRING_LENGTH (DXE_PERFORMANCE_STRING_SIZE - 1)
|
||||
|
||||
//
|
||||
// The default guage entries number for DXE phase.
|
||||
//
|
||||
#define INIT_DXE_GAUGE_DATA_ENTRIES 800
|
||||
|
||||
typedef struct {
|
||||
EFI_PHYSICAL_ADDRESS Handle;
|
||||
CHAR8 Token[DXE_PERFORMANCE_STRING_SIZE];
|
||||
CHAR8 Module[DXE_PERFORMANCE_STRING_SIZE];
|
||||
UINT64 StartTimeStamp;
|
||||
UINT64 EndTimeStamp;
|
||||
} GAUGE_DATA_ENTRY;
|
||||
|
||||
//
|
||||
// The header must be aligned at 8 bytes
|
||||
//
|
||||
typedef struct {
|
||||
UINT32 NumberOfEntries;
|
||||
UINT32 Reserved;
|
||||
} GAUGE_DATA_HEADER;
|
||||
|
||||
/**
|
||||
Adds a record at the end of the performance measurement log
|
||||
that records the start time of a performance measurement.
|
||||
|
||||
Adds a record to the end of the performance measurement log
|
||||
that contains the Handle, Token, and Module.
|
||||
The end time of the new record must be set to zero.
|
||||
If TimeStamp is not zero, then TimeStamp is used to fill in the start time in the record.
|
||||
If TimeStamp is zero, the start time in the record is filled in with the value
|
||||
read from the current time stamp.
|
||||
|
||||
@param Handle Pointer to environment specific context used
|
||||
to identify the component being measured.
|
||||
@param Token Pointer to a Null-terminated ASCII string
|
||||
that identifies the component being measured.
|
||||
@param Module Pointer to a Null-terminated ASCII string
|
||||
that identifies the module being measured.
|
||||
@param TimeStamp 64-bit time stamp.
|
||||
|
||||
@retval EFI_SUCCESS The data was read correctly from the device.
|
||||
@retval EFI_OUT_OF_RESOURCES There are not enough resources to record the measurement.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI * PERFORMANCE_START_GAUGE) (
|
||||
IN CONST VOID *Handle, OPTIONAL
|
||||
IN CONST CHAR8 *Token, OPTIONAL
|
||||
IN CONST CHAR8 *Module, OPTIONAL
|
||||
IN UINT64 TimeStamp
|
||||
);
|
||||
|
||||
/**
|
||||
Searches the performance measurement log from the beginning of the log
|
||||
for the first matching record that contains a zero end time and fills in a valid end time.
|
||||
|
||||
Searches the performance measurement log from the beginning of the log
|
||||
for the first record that matches Handle, Token, and Module and has an end time value of zero.
|
||||
If the record can not be found then return EFI_NOT_FOUND.
|
||||
If the record is found and TimeStamp is not zero,
|
||||
then the end time in the record is filled in with the value specified by TimeStamp.
|
||||
If the record is found and TimeStamp is zero, then the end time in the matching record
|
||||
is filled in with the current time stamp value.
|
||||
|
||||
@param Handle Pointer to environment specific context used
|
||||
to identify the component being measured.
|
||||
@param Token Pointer to a Null-terminated ASCII string
|
||||
that identifies the component being measured.
|
||||
@param Module Pointer to a Null-terminated ASCII string
|
||||
that identifies the module being measured.
|
||||
@param TimeStamp 64-bit time stamp.
|
||||
|
||||
@retval EFI_SUCCESS The end of the measurement was recorded.
|
||||
@retval EFI_NOT_FOUND The specified measurement record could not be found.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI * PERFORMANCE_END_GAUGE) (
|
||||
IN CONST VOID *Handle, OPTIONAL
|
||||
IN CONST CHAR8 *Token, OPTIONAL
|
||||
IN CONST CHAR8 *Module, OPTIONAL
|
||||
IN UINT64 TimeStamp
|
||||
);
|
||||
|
||||
/**
|
||||
Retrieves a previously logged performance measurement.
|
||||
|
||||
Retrieves the performance log entry from the performance log specified by LogEntryKey.
|
||||
If it stands for a valid entry, then EFI_SUCCESS is returned and
|
||||
GaugeDataEntry stores the pointer to that entry.
|
||||
|
||||
@param LogEntryKey The key for the previous performance measurement log entry.
|
||||
If 0, then the first performance measurement log entry is retrieved.
|
||||
@param GaugeDataEntry The indirect pointer to the gauge data entry specified by LogEntryKey
|
||||
if the retrieval is successful.
|
||||
|
||||
@retval EFI_SUCCESS The GuageDataEntry is successfuly found based on LogEntryKey.
|
||||
@retval EFI_NOT_FOUND The LogEntryKey is the last entry (equals to the total entry number).
|
||||
@retval EFI_INVALIDE_PARAMETER The LogEntryKey is not a valid entry (greater than the total entry number).
|
||||
@retval EFI_INVALIDE_PARAMETER GaugeDataEntry is NULL.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI * PERFORMANCE_GET_GAUGE) (
|
||||
IN UINTN LogEntryKey,
|
||||
OUT GAUGE_DATA_ENTRY **GaugeDataEntry
|
||||
);
|
||||
|
||||
struct _PERFORMANCE_PROTOCOL {
|
||||
PERFORMANCE_START_GAUGE StartGauge;
|
||||
PERFORMANCE_END_GAUGE EndGauge;
|
||||
PERFORMANCE_GET_GAUGE GetGauge;
|
||||
};
|
||||
|
||||
extern EFI_GUID gPerformanceProtocolGuid;
|
||||
|
||||
#endif
|
50
EdkModulePkg/Include/Protocol/Print.h
Normal file
50
EdkModulePkg/Include/Protocol/Print.h
Normal file
@@ -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:
|
||||
|
||||
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
|
||||
//
|
||||
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
|
||||
);
|
||||
|
||||
struct _EFI_PRINT_PROTOCOL {
|
||||
EFI_VSPRINT VSPrint;
|
||||
};
|
||||
|
||||
|
||||
extern EFI_GUID gEfiPrintProtocolGuid;
|
||||
|
||||
#endif
|
350
EdkModulePkg/Include/Protocol/PxeDhcp4.h
Normal file
350
EdkModulePkg/Include/Protocol/PxeDhcp4.h
Normal file
@@ -0,0 +1,350 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
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
|
||||
//
|
||||
|
||||
typedef struct _EFI_PXE_DHCP4_PROTOCOL 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
|
||||
|
||||
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;
|
||||
};
|
||||
|
||||
//
|
||||
//
|
||||
//
|
||||
|
||||
extern EFI_GUID gEfiPxeDhcp4ProtocolGuid;
|
||||
|
||||
#endif /* _PXEDHCP4_H_ */
|
||||
/* EOF - PxeDhcp4.h */
|
85
EdkModulePkg/Include/Protocol/PxeDhcp4CallBack.h
Normal file
85
EdkModulePkg/Include/Protocol/PxeDhcp4CallBack.h
Normal file
@@ -0,0 +1,85 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
PxeDhcp4Callback.h
|
||||
|
||||
Abstract:
|
||||
EFI PXE DHCP4 Callback protocol definition.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _PXE_DHCP4CALLBACK_H
|
||||
#define _PXE_DHCP4CALLBACK_H
|
||||
|
||||
#include <Protocol/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
|
||||
//
|
||||
|
||||
typedef struct _EFI_PXE_DHCP4_CALLBACK_PROTOCOL 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
|
||||
);
|
||||
|
||||
struct _EFI_PXE_DHCP4_CALLBACK_PROTOCOL {
|
||||
UINT64 Revision;
|
||||
EFI_PXE_DHCP4_CALLBACK Callback;
|
||||
};
|
||||
|
||||
//
|
||||
// GUID declaration
|
||||
//
|
||||
|
||||
extern EFI_GUID gEfiPxeDhcp4CallbackProtocolGuid;
|
||||
|
||||
#endif /* _PXE_DHCP4CALLBACK_H */
|
||||
/* EOF - PxeDhcp4Callback.h */
|
241
EdkModulePkg/Include/Protocol/ScsiIo.h
Normal file
241
EdkModulePkg/Include/Protocol/ScsiIo.h
Normal file
@@ -0,0 +1,241 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
ScsiIo.h
|
||||
|
||||
Abstract:
|
||||
|
||||
SCSI I/O protocol.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef __SCSI_IO_H__
|
||||
#define __SCSI_IO_H__
|
||||
|
||||
#define EFI_SCSI_IO_PROTOCOL_GUID \
|
||||
{ 0x403cd195, 0xf233, 0x48ec, {0x84, 0x55, 0xb2, 0xe5, 0x2f, 0x1d, 0x9e, 0x2 } }
|
||||
|
||||
//
|
||||
// Forward reference for pure ANSI compatability
|
||||
//
|
||||
typedef struct _EFI_SCSI_IO_PROTOCOL EFI_SCSI_IO_PROTOCOL;
|
||||
|
||||
//
|
||||
// SCSI Host Adapter Status definition
|
||||
//
|
||||
#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_OK 0x00
|
||||
#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_TIMEOUT_COMMAND 0x09 // timeout when processing the command
|
||||
#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_TIMEOUT 0x0b // timeout when waiting for the command processing
|
||||
#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_MESSAGE_REJECT 0x0d // a message reject was received when processing command
|
||||
#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_BUS_RESET 0x0e // a bus reset was detected
|
||||
#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_PARITY_ERROR 0x0f
|
||||
#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_REQUEST_SENSE_FAILED 0x10 // the adapter failed in issuing request sense command
|
||||
#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_SELECTION_TIMEOUT 0x11 // selection timeout
|
||||
#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_DATA_OVERRUN_UNDERRUN 0x12 // data overrun or data underrun
|
||||
#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_BUS_FREE 0x13 // Unexepected bus free
|
||||
#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_PHASE_ERROR 0x14 // Target bus phase sequence failure
|
||||
#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_OTHER 0x7f
|
||||
|
||||
|
||||
//
|
||||
// SCSI Target Status definition
|
||||
//
|
||||
#define EFI_SCSI_IO_STATUS_TARGET_GOOD 0x00
|
||||
#define EFI_SCSI_IO_STATUS_TARGET_CHECK_CONDITION 0x02 // check condition
|
||||
#define EFI_SCSI_IO_STATUS_TARGET_CONDITION_MET 0x04 // condition met
|
||||
#define EFI_SCSI_IO_STATUS_TARGET_BUSY 0x08 // busy
|
||||
#define EFI_SCSI_IO_STATUS_TARGET_INTERMEDIATE 0x10 // intermediate
|
||||
#define EFI_SCSI_IO_STATUS_TARGET_INTERMEDIATE_CONDITION_MET 0x14 // intermediate-condition met
|
||||
#define EFI_SCSI_IO_STATUS_TARGET_RESERVATION_CONFLICT 0x18 // reservation conflict
|
||||
#define EFI_SCSI_IO_STATUS_TARGET_COMMOND_TERMINATED 0x22 // command terminated
|
||||
#define EFI_SCSI_IO_STATUS_TARGET_QUEUE_FULL 0x28 // queue full
|
||||
|
||||
typedef struct {
|
||||
UINT64 Timeout;
|
||||
VOID *DataBuffer;
|
||||
VOID *SenseData;
|
||||
VOID *Cdb;
|
||||
UINT32 TransferLength;
|
||||
UINT8 CdbLength;
|
||||
UINT8 DataDirection;
|
||||
UINT8 HostAdapterStatus;
|
||||
UINT8 TargetStatus;
|
||||
UINT8 SenseDataLength;
|
||||
}EFI_SCSI_IO_SCSI_REQUEST_PACKET;
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_SCSI_IO_PROTOCOL_GET_DEVICE_TYPE) (
|
||||
IN EFI_SCSI_IO_PROTOCOL *This,
|
||||
OUT UINT8 *DeviceType
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
Retrieves the device type information of the SCSI Controller.
|
||||
|
||||
Arguments:
|
||||
This - Protocol instance pointer.
|
||||
DeviceType - A pointer to the device type information
|
||||
retrieved from the SCSI Controller.
|
||||
|
||||
Returns:
|
||||
EFI_SUCCESS - Retrieves the device type information successfully.
|
||||
EFI_INVALID_PARAMETER - The DeviceType is NULL.
|
||||
--*/
|
||||
;
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_SCSI_IO_PROTOCOL_GET_DEVICE_LOCATION) (
|
||||
IN EFI_SCSI_IO_PROTOCOL *This,
|
||||
OUT UINT32 *Target,
|
||||
OUT UINT64 *Lun
|
||||
)
|
||||
/*++
|
||||
Routine Description:
|
||||
Retrieves the device location in the SCSI channel.
|
||||
|
||||
Arguments:
|
||||
This - Protocol instance pointer.
|
||||
Target - A pointer to the Target ID of a SCSI device
|
||||
on the SCSI channel.
|
||||
Lun - A pointer to the LUN of the SCSI device on
|
||||
the SCSI channel.
|
||||
|
||||
Returns:
|
||||
EFI_SUCCESS - Retrieves the device location successfully.
|
||||
EFI_INVALID_PARAMETER - The Target or Lun is NULL.
|
||||
--*/
|
||||
;
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_SCSI_IO_PROTOCOL_RESET_BUS) (
|
||||
IN EFI_SCSI_IO_PROTOCOL *This
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
Resets the SCSI Bus that the SCSI Controller is attached to.
|
||||
|
||||
Arguments:
|
||||
This - Protocol instance pointer.
|
||||
|
||||
Returns:
|
||||
EFI_SUCCESS - The SCSI bus is reset successfully.
|
||||
EFI_DEVICE_ERROR - Errors encountered when resetting the SCSI bus.
|
||||
EFI_UNSUPPORTED - The bus reset operation is not supported by the
|
||||
SCSI Host Controller.
|
||||
EFI_TIMEOUT - A timeout occurred while attempting to reset
|
||||
the SCSI bus.
|
||||
--*/
|
||||
;
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_SCSI_IO_PROTOCOL_RESET_DEVICE) (
|
||||
IN EFI_SCSI_IO_PROTOCOL *This
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
Resets the SCSI Controller that the device handle specifies.
|
||||
|
||||
Arguments:
|
||||
This - Protocol instance pointer.
|
||||
|
||||
|
||||
Returns:
|
||||
EFI_SUCCESS - Reset the SCSI controller successfully.
|
||||
EFI_DEVICE_ERROR - Errors are encountered when resetting the
|
||||
SCSI Controller.
|
||||
EFI_UNSUPPORTED - The SCSI bus does not support a device
|
||||
reset operation.
|
||||
EFI_TIMEOUT - A timeout occurred while attempting to
|
||||
reset the SCSI Controller.
|
||||
--*/
|
||||
;
|
||||
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_SCSI_IO_PROTOCOL_EXEC_SCSI_CMD) (
|
||||
IN EFI_SCSI_IO_PROTOCOL *This,
|
||||
IN OUT EFI_SCSI_IO_SCSI_REQUEST_PACKET *Packet,
|
||||
IN EFI_EVENT Event OPTIONAL
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
Sends a SCSI Request Packet to the SCSI Controller for execution.
|
||||
|
||||
Arguments:
|
||||
This - Protocol instance pointer.
|
||||
Packet - The SCSI request packet to send to the SCSI
|
||||
Controller specified by the device handle.
|
||||
Event - If the SCSI bus where the SCSI device is attached
|
||||
does not support non-blocking I/O, then Event is
|
||||
ignored, and blocking I/O is performed.
|
||||
If Event is NULL, then blocking I/O is performed.
|
||||
If Event is not NULL and non-blocking I/O is
|
||||
supported, then non-blocking I/O is performed,
|
||||
and Event will be signaled when the SCSI Request
|
||||
Packet completes.
|
||||
Returns:
|
||||
EFI_SUCCESS - The SCSI Request Packet was sent by the host
|
||||
successfully, and TransferLength bytes were
|
||||
transferred to/from DataBuffer.See
|
||||
HostAdapterStatus, TargetStatus,
|
||||
SenseDataLength, and SenseData in that order
|
||||
for additional status information.
|
||||
EFI_WARN_BUFFER_TOO_SMALL - The SCSI Request Packet was executed,
|
||||
but the entire DataBuffer could not be transferred.
|
||||
The actual number of bytes transferred is returned
|
||||
in TransferLength. See HostAdapterStatus,
|
||||
TargetStatus, SenseDataLength, and SenseData in
|
||||
that order for additional status information.
|
||||
EFI_NOT_READY - The SCSI Request Packet could not be sent because
|
||||
there are too many SCSI Command Packets already
|
||||
queued.The caller may retry again later.
|
||||
EFI_DEVICE_ERROR - A device error occurred while attempting to send
|
||||
the SCSI Request Packet. See HostAdapterStatus,
|
||||
TargetStatus, SenseDataLength, and SenseData in
|
||||
that order for additional status information.
|
||||
EFI_INVALID_PARAMETER - The contents of CommandPacket are invalid.
|
||||
The SCSI Request Packet was not sent, so no
|
||||
additional status information is available.
|
||||
EFI_UNSUPPORTED - The command described by the SCSI Request Packet
|
||||
is not supported by the SCSI initiator(i.e., SCSI
|
||||
Host Controller). The SCSI Request Packet was not
|
||||
sent, so no additional status information is
|
||||
available.
|
||||
EFI_TIMEOUT - A timeout occurred while waiting for the SCSI
|
||||
Request Packet to execute. See HostAdapterStatus,
|
||||
TargetStatus, SenseDataLength, and SenseData in
|
||||
that order for additional status information.
|
||||
--*/
|
||||
;
|
||||
|
||||
struct _EFI_SCSI_IO_PROTOCOL {
|
||||
EFI_SCSI_IO_PROTOCOL_GET_DEVICE_TYPE GetDeviceType;
|
||||
EFI_SCSI_IO_PROTOCOL_GET_DEVICE_LOCATION GetDeviceLocation;
|
||||
EFI_SCSI_IO_PROTOCOL_RESET_BUS ResetBus;
|
||||
EFI_SCSI_IO_PROTOCOL_RESET_DEVICE ResetDevice;
|
||||
EFI_SCSI_IO_PROTOCOL_EXEC_SCSI_CMD ExecuteSCSICommand;
|
||||
};
|
||||
|
||||
extern EFI_GUID gEfiScsiIoProtocolGuid;
|
||||
|
||||
#endif
|
||||
|
33
EdkModulePkg/Include/Protocol/SecurityPolicy.h
Normal file
33
EdkModulePkg/Include/Protocol/SecurityPolicy.h
Normal file
@@ -0,0 +1,33 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
SecurityPolicy.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Security Policy protocol as defined in the DXE CIS
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _SECURITY_POLICY_H_
|
||||
#define _SECURITY_POLICY_H_
|
||||
|
||||
//
|
||||
// Security policy protocol GUID definition
|
||||
//
|
||||
#define EFI_SECURITY_POLICY_PROTOCOL_GUID \
|
||||
{0x78E4D245, 0xCD4D, 0x4a05, {0xA2, 0xBA, 0x47, 0x43, 0xE8, 0x6C, 0xFC, 0xAB} }
|
||||
|
||||
extern EFI_GUID gEfiSecurityPolicyProtocolGuid;
|
||||
|
||||
#endif
|
236
EdkModulePkg/Include/Protocol/UgaIo.h
Normal file
236
EdkModulePkg/Include/Protocol/UgaIo.h
Normal file
@@ -0,0 +1,236 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
UgaIo.h
|
||||
|
||||
Abstract:
|
||||
|
||||
UGA IO protocol from the EFI 1.1 specification.
|
||||
|
||||
Abstraction of a very simple graphics device.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef __UGA_IO_H__
|
||||
#define __UGA_IO_H__
|
||||
|
||||
#define EFI_UGA_IO_PROTOCOL_GUID \
|
||||
{ \
|
||||
0x61a4d49e, 0x6f68, 0x4f1b, { 0xb9, 0x22, 0xa8, 0x6e, 0xed, 0xb, 0x7, 0xa2 } \
|
||||
}
|
||||
|
||||
typedef struct _EFI_UGA_IO_PROTOCOL EFI_UGA_IO_PROTOCOL;
|
||||
|
||||
typedef UINT32 UGA_STATUS;
|
||||
|
||||
typedef enum {
|
||||
UgaDtParentBus = 1,
|
||||
UgaDtGraphicsController,
|
||||
UgaDtOutputController,
|
||||
UgaDtOutputPort,
|
||||
UgaDtOther
|
||||
}
|
||||
UGA_DEVICE_TYPE, *PUGA_DEVICE_TYPE;
|
||||
|
||||
typedef UINT32 UGA_DEVICE_ID, *PUGA_DEVICE_ID;
|
||||
|
||||
typedef struct {
|
||||
UGA_DEVICE_TYPE deviceType;
|
||||
UGA_DEVICE_ID deviceId;
|
||||
UINT32 ui32DeviceContextSize;
|
||||
UINT32 ui32SharedContextSize;
|
||||
}
|
||||
UGA_DEVICE_DATA, *PUGA_DEVICE_DATA;
|
||||
|
||||
typedef struct _UGA_DEVICE {
|
||||
VOID *pvDeviceContext;
|
||||
VOID *pvSharedContext;
|
||||
VOID *pvRunTimeContext;
|
||||
struct _UGA_DEVICE *pParentDevice;
|
||||
VOID *pvBusIoServices;
|
||||
VOID *pvStdIoServices;
|
||||
UGA_DEVICE_DATA deviceData;
|
||||
}
|
||||
UGA_DEVICE, *PUGA_DEVICE;
|
||||
|
||||
#ifndef UGA_IO_REQUEST_CODE
|
||||
//
|
||||
// Prevent conflicts with UGA typedefs.
|
||||
//
|
||||
typedef enum {
|
||||
UgaIoGetVersion = 1,
|
||||
UgaIoGetChildDevice,
|
||||
UgaIoStartDevice,
|
||||
UgaIoStopDevice,
|
||||
UgaIoFlushDevice,
|
||||
UgaIoResetDevice,
|
||||
UgaIoGetDeviceState,
|
||||
UgaIoSetDeviceState,
|
||||
UgaIoSetPowerState,
|
||||
UgaIoGetMemoryConfiguration,
|
||||
UgaIoSetVideoMode,
|
||||
UgaIoCopyRectangle,
|
||||
UgaIoGetEdidSegment,
|
||||
UgaIoDeviceChannelOpen,
|
||||
UgaIoDeviceChannelClose,
|
||||
UgaIoDeviceChannelRead,
|
||||
UgaIoDeviceChannelWrite,
|
||||
UgaIoGetPersistentDataSize,
|
||||
UgaIoGetPersistentData,
|
||||
UgaIoSetPersistentData,
|
||||
UgaIoGetDevicePropertySize,
|
||||
UgaIoGetDeviceProperty,
|
||||
UgaIoBtPrivateInterface
|
||||
}
|
||||
UGA_IO_REQUEST_CODE, *PUGA_IO_REQUEST_CODE;
|
||||
|
||||
#endif
|
||||
|
||||
typedef struct {
|
||||
IN UGA_IO_REQUEST_CODE ioRequestCode;
|
||||
IN VOID *pvInBuffer;
|
||||
IN UINT64 ui64InBufferSize;
|
||||
OUT VOID *pvOutBuffer;
|
||||
IN UINT64 ui64OutBufferSize;
|
||||
OUT UINT64 ui64BytesReturned;
|
||||
}
|
||||
UGA_IO_REQUEST, *PUGA_IO_REQUEST;
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_UGA_IO_PROTOCOL_CREATE_DEVICE) (
|
||||
IN EFI_UGA_IO_PROTOCOL * This,
|
||||
IN UGA_DEVICE * ParentDevice,
|
||||
IN UGA_DEVICE_DATA * DeviceData,
|
||||
IN VOID *RunTimeContext,
|
||||
OUT UGA_DEVICE **Device
|
||||
);
|
||||
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
|
||||
Dynamically allocate storage for a child UGA_DEVICE .
|
||||
|
||||
Arguments:
|
||||
|
||||
This - The EFI_UGA_IO_PROTOCOL instance. Type EFI_UGA_IO_PROTOCOL is
|
||||
defined in Section 10.7.
|
||||
|
||||
ParentDevice - ParentDevice specifies a pointer to the parent device of Device.
|
||||
|
||||
DeviceData - A pointer to UGA_DEVICE_DATA returned from a call to DispatchService()
|
||||
with a UGA_DEVICE of Parent and an IoRequest of type UgaIoGetChildDevice.
|
||||
|
||||
RuntimeContext - Context to associate with Device.
|
||||
|
||||
Device - The Device returns a dynamically allocated child UGA_DEVICE object
|
||||
for ParentDevice. The caller is responsible for deleting Device.
|
||||
|
||||
Returns:
|
||||
|
||||
EFI_SUCCESS - Device was returned.
|
||||
|
||||
EFI_INVALID_PARAMETER - One of the arguments was not valid.
|
||||
|
||||
EFI_DEVICE_ERROR - The device had an error and could not complete the request.
|
||||
|
||||
--*/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_UGA_IO_PROTOCOL_DELETE_DEVICE) (
|
||||
IN EFI_UGA_IO_PROTOCOL * This,
|
||||
IN UGA_DEVICE * Device
|
||||
);
|
||||
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
|
||||
Delete a dynamically allocated child UGA_DEVICE object that was allocated via
|
||||
CreateDevice() .
|
||||
|
||||
Arguments:
|
||||
|
||||
This - The EFI_UGA_IO_PROTOCOL instance. Type EFI_UGA_IO_PROTOCOL is defined
|
||||
in Section 10.7.
|
||||
|
||||
Device - The Device points to a UGA_DEVICE object that was dynamically
|
||||
allocated via a CreateDevice() call.
|
||||
|
||||
Returns:
|
||||
|
||||
EFI_SUCCESS - Device was deleted.
|
||||
|
||||
EFI_INVALID_PARAMETER - The Device was not allocated via CreateDevice()
|
||||
|
||||
--*/
|
||||
typedef UGA_STATUS (EFIAPI *PUGA_FW_SERVICE_DISPATCH) (IN PUGA_DEVICE pDevice, IN OUT PUGA_IO_REQUEST pIoRequest);
|
||||
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
|
||||
This is the main UGA service dispatch routine for all UGA_IO_REQUEST s.
|
||||
|
||||
Arguments:
|
||||
|
||||
pDevice - pDevice specifies a pointer to a device object associated with a
|
||||
device enumerated by a pIoRequest->ioRequestCode of type
|
||||
UgaIoGetChildDevice. The root device for the EFI_UGA_IO_PROTOCOL
|
||||
is represented by pDevice being set to NULL.
|
||||
|
||||
pIoRequest - pIoRequest points to a caller allocated buffer that contains data
|
||||
defined by pIoRequest->ioRequestCode. See Related Definitions for
|
||||
a definition of UGA_IO_REQUEST_CODE s and their associated data
|
||||
structures.
|
||||
|
||||
Returns:
|
||||
|
||||
Varies depending on pIoRequest.
|
||||
|
||||
--*/
|
||||
struct _EFI_UGA_IO_PROTOCOL {
|
||||
EFI_UGA_IO_PROTOCOL_CREATE_DEVICE CreateDevice;
|
||||
EFI_UGA_IO_PROTOCOL_DELETE_DEVICE DeleteDevice;
|
||||
PUGA_FW_SERVICE_DISPATCH DispatchService;
|
||||
};
|
||||
|
||||
extern EFI_GUID gEfiUgaIoProtocolGuid;
|
||||
|
||||
//
|
||||
// Data structure that is stored in the EFI Configuration Table with the
|
||||
// EFI_UGA_IO_PROTOCOL_GUID. The option ROMs listed in this table may have
|
||||
// EBC UGA drivers.
|
||||
//
|
||||
typedef struct {
|
||||
UINT32 Version;
|
||||
UINT32 HeaderSize;
|
||||
UINT32 SizeOfEntries;
|
||||
UINT32 NumberOfEntries;
|
||||
} EFI_DRIVER_OS_HANDOFF_HEADER;
|
||||
|
||||
typedef enum {
|
||||
EfiUgaDriverFromPciRom,
|
||||
EfiUgaDriverFromSystem,
|
||||
EfiDriverHandoffMax
|
||||
} EFI_DRIVER_HANOFF_ENUM;
|
||||
|
||||
typedef struct {
|
||||
EFI_DRIVER_HANOFF_ENUM Type;
|
||||
EFI_DEVICE_PATH_PROTOCOL *DevicePath;
|
||||
VOID *PciRomImage;
|
||||
UINT64 PciRomSize;
|
||||
} EFI_DRIVER_OS_HANDOFF;
|
||||
|
||||
#endif
|
42
EdkModulePkg/Include/Protocol/UgaSplash.h
Normal file
42
EdkModulePkg/Include/Protocol/UgaSplash.h
Normal file
@@ -0,0 +1,42 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
UgaSplash.h
|
||||
|
||||
Abstract:
|
||||
|
||||
UGA Splash screen protocol.
|
||||
|
||||
Abstraction of a very simple graphics device.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef __UGA_SPLASH_H__
|
||||
#define __UGA_SPLASH_H__
|
||||
|
||||
|
||||
#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;
|
||||
|
||||
|
||||
struct _EFI_UGA_SPLASH_PROTOCOL {
|
||||
UINT32 PixelWidth;
|
||||
UINT32 PixelHeight;
|
||||
EFI_UGA_PIXEL *Image;
|
||||
};
|
||||
|
||||
extern EFI_GUID gEfiUgaSplashProtocolGuid;
|
||||
|
||||
#endif
|
83
EdkModulePkg/Include/Protocol/usbatapi.h
Normal file
83
EdkModulePkg/Include/Protocol/usbatapi.h
Normal file
@@ -0,0 +1,83 @@
|
||||
/*++
|
||||
|
||||
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:
|
||||
|
||||
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 } }
|
||||
|
||||
typedef struct _EFI_USB_ATAPI_PROTOCOL 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
|
||||
//
|
||||
struct _EFI_USB_ATAPI_PROTOCOL {
|
||||
EFI_USB_ATAPI_PACKET_CMD UsbAtapiPacketCmd;
|
||||
EFI_USB_MASS_STORAGE_RESET UsbAtapiReset;
|
||||
UINT32 CommandProtocol;
|
||||
};
|
||||
|
||||
extern EFI_GUID gEfiUsbAtapiProtocolGuid;
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user