1. added common header files, Guid header filess, Protocol header files, PPI header files.
2. added Guids/Protocols/PPIs/Pcds definitions in .nspd, .dec files. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2744 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
28
MdeModulePkg/Include/Common/CapsuleName.h
Normal file
28
MdeModulePkg/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
|
87
MdeModulePkg/Include/Common/Variable.h
Normal file
87
MdeModulePkg/Include/Common/Variable.h
Normal file
@@ -0,0 +1,87 @@
|
||||
/**@file
|
||||
Header file for EFI Variable Services.
|
||||
|
||||
Copyright (c) 2006 - 2007 Intel Corporation. <BR>
|
||||
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.
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __EFI_VARIABLE_H__
|
||||
#define __EFI_VARIABLE_H__
|
||||
|
||||
#define VARIABLE_STORE_SIGNATURE EFI_SIGNATURE_32 ('$', 'V', 'S', 'S')
|
||||
|
||||
#define MAX_VARIABLE_SIZE 1024
|
||||
|
||||
//
|
||||
// Enlarges the hardware error record maximum variable size to 32K bytes
|
||||
//
|
||||
#define MAX_HARDWARE_ERROR_VARIABLE_SIZE 0x8000
|
||||
|
||||
#define VARIABLE_DATA 0x55AA
|
||||
|
||||
//
|
||||
// Variable Store Header flags
|
||||
//
|
||||
#define VARIABLE_STORE_FORMATTED 0x5a
|
||||
#define VARIABLE_STORE_HEALTHY 0xfe
|
||||
|
||||
//
|
||||
// The alignment of variable's start offset.
|
||||
// For IA32/X64 architecture, the alignment is set to 1, and
|
||||
// 8 is for IPF archtecture.
|
||||
//
|
||||
#if defined (MDE_CPU_IPF)
|
||||
#define ALIGNMENT 8
|
||||
#else
|
||||
#define ALIGNMENT 1
|
||||
#endif
|
||||
|
||||
//
|
||||
// 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
MdeModulePkg/Include/Common/WorkingBlockHeader.h
Normal file
47
MdeModulePkg/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;
|
||||
UINT8 WorkingBlockValid : 1;
|
||||
UINT8 WorkingBlockInvalid : 1;
|
||||
#define WORKING_BLOCK_VALID 0x1
|
||||
#define WORKING_BLOCK_INVALID 0x2
|
||||
UINT8 Reserved : 6;
|
||||
UINT8 Reserved3[3];
|
||||
UINT32 WriteQueueSize;
|
||||
//
|
||||
// UINT8 WriteQueue[WriteQueueSize];
|
||||
//
|
||||
} EFI_FAULT_TOLERANT_WORKING_BLOCK_HEADER;
|
||||
|
||||
#endif
|
32
MdeModulePkg/Include/Guid/AlternateFvBlock.h
Normal file
32
MdeModulePkg/Include/Guid/AlternateFvBlock.h
Normal file
@@ -0,0 +1,32 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2006 - 2007, 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
MdeModulePkg/Include/Guid/Bmp.h
Normal file
62
MdeModulePkg/Include/Guid/Bmp.h
Normal file
@@ -0,0 +1,62 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2006 - 2007, 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
MdeModulePkg/Include/Guid/BootState.h
Normal file
36
MdeModulePkg/Include/Guid/BootState.h
Normal file
@@ -0,0 +1,36 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2006 - 2007, 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
MdeModulePkg/Include/Guid/CapsuleVendor.h
Normal file
35
MdeModulePkg/Include/Guid/CapsuleVendor.h
Normal file
@@ -0,0 +1,35 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2006 - 2007, 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_
|
29
MdeModulePkg/Include/Guid/ConsoleInDevice.h
Normal file
29
MdeModulePkg/Include/Guid/ConsoleInDevice.h
Normal file
@@ -0,0 +1,29 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2006 - 2007, 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
MdeModulePkg/Include/Guid/ConsoleOutDevice.h
Normal file
29
MdeModulePkg/Include/Guid/ConsoleOutDevice.h
Normal file
@@ -0,0 +1,29 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2006 - 2007, 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
|
27
MdeModulePkg/Include/Guid/GenericPlatformVariable.h
Normal file
27
MdeModulePkg/Include/Guid/GenericPlatformVariable.h
Normal file
@@ -0,0 +1,27 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2006 - 2007, 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:
|
||||
|
||||
GenericPlatformVariable.h
|
||||
|
||||
Abstract:
|
||||
|
||||
The variable space Guid to pair with a Unicode string name to tag an EFI variable.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef __GENERIC_PLATFORM_VARIABLE_H__
|
||||
#define __GENERIC_PLATFORM_VARIABLE_H__
|
||||
|
||||
extern EFI_GUID gEfiGenericPlatformVariableGuid;
|
||||
|
||||
#endif
|
28
MdeModulePkg/Include/Guid/HotPlugDevice.h
Normal file
28
MdeModulePkg/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
MdeModulePkg/Include/Guid/MemoryTypeInformation.h
Normal file
35
MdeModulePkg/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
|
56
MdeModulePkg/Include/Guid/PeiPerformanceHob.h
Normal file
56
MdeModulePkg/Include/Guid/PeiPerformanceHob.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:
|
||||
|
||||
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)
|
||||
|
||||
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
MdeModulePkg/Include/Guid/PrimaryConsoleInDevice.h
Normal file
29
MdeModulePkg/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
MdeModulePkg/Include/Guid/PrimaryConsoleOutDevice.h
Normal file
28
MdeModulePkg/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
MdeModulePkg/Include/Guid/PrimaryStandardErrorDevice.h
Normal file
28
MdeModulePkg/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
|
29
MdeModulePkg/Include/Guid/StandardErrorDevice.h
Normal file
29
MdeModulePkg/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
|
45
MdeModulePkg/Include/Guid/SystemNvDataGuid.h
Normal file
45
MdeModulePkg/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
|
56
MdeModulePkg/Include/Ppi/BaseMemoryTest.h
Normal file
56
MdeModulePkg/Include/Ppi/BaseMemoryTest.h
Normal file
@@ -0,0 +1,56 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2006 - 2007, 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
|
39
MdeModulePkg/Include/Protocol/Capsule.h
Normal file
39
MdeModulePkg/Include/Protocol/Capsule.h
Normal file
@@ -0,0 +1,39 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2006 - 2007, 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:
|
||||
|
||||
Capsule.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Capsule Architectural Protocol is newly added to produce UEFI2.0 capsule runtime services.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef __ARCH_PROTOCOL_CAPSULE_ARCH_H__
|
||||
#define __ARCH_PROTOCOL_CAPSULE_ARCH_H__
|
||||
|
||||
//
|
||||
// Global ID for the Capsule Architectural Protocol
|
||||
//
|
||||
#define EFI_CAPSULE_ARCH_PROTOCOL_GUID \
|
||||
{ 0x5053697e, 0x2ebc, 0x4819, {0x90, 0xd9, 0x05, 0x80, 0xde, 0xee, 0x57, 0x54 }}
|
||||
|
||||
extern EFI_GUID gEfiCapsuleArchProtocolGuid;
|
||||
|
||||
typedef struct {
|
||||
UINT32 CapsuleArrayNumber;
|
||||
VOID* CapsulePtr[1];
|
||||
} EFI_CAPSULE_TABLE;
|
||||
|
||||
|
||||
#endif
|
121
MdeModulePkg/Include/Protocol/ConsoleControl.h
Normal file
121
MdeModulePkg/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
|
179
MdeModulePkg/Include/Protocol/DiskInfo.h
Normal file
179
MdeModulePkg/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
|
||||
|
||||
|
88
MdeModulePkg/Include/Protocol/FaultTolerantWriteLite.h
Normal file
88
MdeModulePkg/Include/Protocol/FaultTolerantWriteLite.h
Normal file
@@ -0,0 +1,88 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2006 - 2007, 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
MdeModulePkg/Include/Protocol/FvbExtension.h
Normal file
53
MdeModulePkg/Include/Protocol/FvbExtension.h
Normal file
@@ -0,0 +1,53 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2006 - 2007, 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
MdeModulePkg/Include/Protocol/GenericMemoryTest.h
Normal file
156
MdeModulePkg/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
|
||||
|
79
MdeModulePkg/Include/Protocol/OEMBadging.h
Normal file
79
MdeModulePkg/Include/Protocol/OEMBadging.h
Normal file
@@ -0,0 +1,79 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2006 - 2007, 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
|
166
MdeModulePkg/Include/Protocol/Performance.h
Normal file
166
MdeModulePkg/Include/Protocol/Performance.h
Normal file
@@ -0,0 +1,166 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2006 - 2007, 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
MdeModulePkg/Include/Protocol/Print.h
Normal file
50
MdeModulePkg/Include/Protocol/Print.h
Normal file
@@ -0,0 +1,50 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2006 - 2007, 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
|
241
MdeModulePkg/Include/Protocol/ScsiIo.h
Normal file
241
MdeModulePkg/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
|
||||
|
83
MdeModulePkg/Include/Protocol/usbatapi.h
Normal file
83
MdeModulePkg/Include/Protocol/usbatapi.h
Normal file
@@ -0,0 +1,83 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2006 - 2007, 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