]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkCompatibilityPkg/Foundation/Framework/Include/PeiHob.h
EdkCompatibilityPkg: Remove EdkCompatibilityPkg
[mirror_edk2.git] / EdkCompatibilityPkg / Foundation / Framework / Include / PeiHob.h
diff --git a/EdkCompatibilityPkg/Foundation/Framework/Include/PeiHob.h b/EdkCompatibilityPkg/Foundation/Framework/Include/PeiHob.h
deleted file mode 100644 (file)
index 992e482..0000000
+++ /dev/null
@@ -1,257 +0,0 @@
-/*++\r
-\r
-Copyright (c) 2004 - 2011, Intel Corporation. All rights reserved.<BR>\r
-This program and the accompanying materials                          \r
-are licensed and made available under the terms and conditions of the BSD License         \r
-which accompanies this distribution.  The full text of the license may be found at        \r
-http://opensource.org/licenses/bsd-license.php                                            \r
-                                                                                          \r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     \r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.             \r
-\r
-Module Name:\r
-\r
-  PeiHob.h\r
-\r
-Abstract:\r
-\r
-  PEI Hand Off Block (HOB) definition.\r
-\r
-  The HOB is a memory data structure used to hand-off system information from\r
-  PEI to DXE (the next phase).\r
-\r
---*/\r
-\r
-#ifndef _PEI_HOB_H_\r
-#define _PEI_HOB_H_\r
-\r
-#include "BootMode.h"\r
-\r
-//\r
-// Every Hob must start with this data structure.\r
-//\r
-typedef struct {\r
-  UINT16  HobType;\r
-  UINT16  HobLength;\r
-  UINT32  Reserved;\r
-} EFI_HOB_GENERIC_HEADER;\r
-\r
-//\r
-// End of HOB List HOB\r
-//\r
-#define EFI_HOB_TYPE_END_OF_HOB_LIST  0xffff\r
-\r
-//\r
-// Handoff Information Table HOB\r
-//\r
-#define EFI_HOB_TYPE_HANDOFF          0x0001\r
-\r
-#define EFI_HOB_HANDOFF_TABLE_VERSION 0x0009\r
-\r
-typedef UINT32  EFI_BOOT_MODE;\r
-\r
-typedef struct {\r
-  EFI_HOB_GENERIC_HEADER  Header;\r
-  UINT32                  Version;\r
-  EFI_BOOT_MODE           BootMode;\r
-  EFI_PHYSICAL_ADDRESS    EfiMemoryTop;\r
-  EFI_PHYSICAL_ADDRESS    EfiMemoryBottom;\r
-  EFI_PHYSICAL_ADDRESS    EfiFreeMemoryTop;\r
-  EFI_PHYSICAL_ADDRESS    EfiFreeMemoryBottom;\r
-  EFI_PHYSICAL_ADDRESS    EfiEndOfHobList;\r
-} EFI_HOB_HANDOFF_INFO_TABLE;\r
-\r
-//\r
-// Memory Descriptor HOB\r
-//\r
-#define EFI_HOB_TYPE_MEMORY_ALLOCATION  0x0002\r
-\r
-typedef struct {\r
-  EFI_GUID              Name;\r
-  EFI_PHYSICAL_ADDRESS  MemoryBaseAddress;\r
-  UINT64                MemoryLength;\r
-  EFI_MEMORY_TYPE       MemoryType;\r
-  UINT8                 Reserved[4];\r
-} EFI_HOB_MEMORY_ALLOCATION_HEADER;\r
-\r
-typedef struct {\r
-  EFI_HOB_GENERIC_HEADER            Header;\r
-  EFI_HOB_MEMORY_ALLOCATION_HEADER  AllocDescriptor;\r
-  //\r
-  // Additional data pertaining to the "Name" Guid memory\r
-  // may go here.\r
-  //\r
-} EFI_HOB_MEMORY_ALLOCATION;\r
-\r
-typedef struct {\r
-  EFI_HOB_GENERIC_HEADER            Header;\r
-  EFI_HOB_MEMORY_ALLOCATION_HEADER  AllocDescriptor;\r
-} EFI_HOB_MEMORY_ALLOCATION_BSP_STORE;\r
-\r
-typedef struct {\r
-  EFI_HOB_GENERIC_HEADER            Header;\r
-  EFI_HOB_MEMORY_ALLOCATION_HEADER  AllocDescriptor;\r
-} EFI_HOB_MEMORY_ALLOCATION_STACK;\r
-\r
-typedef struct {\r
-  EFI_HOB_GENERIC_HEADER            Header;\r
-  EFI_HOB_MEMORY_ALLOCATION_HEADER  MemoryAllocationHeader;\r
-  EFI_GUID                          ModuleName;\r
-  EFI_PHYSICAL_ADDRESS              EntryPoint;\r
-} EFI_HOB_MEMORY_ALLOCATION_MODULE;\r
-\r
-#define EFI_HOB_TYPE_RESOURCE_DESCRIPTOR  0x0003\r
-\r
-typedef UINT32  EFI_RESOURCE_TYPE;\r
-\r
-#define EFI_RESOURCE_SYSTEM_MEMORY          0\r
-#define EFI_RESOURCE_MEMORY_MAPPED_IO       1\r
-#define EFI_RESOURCE_IO                     2\r
-#define EFI_RESOURCE_FIRMWARE_DEVICE        3\r
-#define EFI_RESOURCE_MEMORY_MAPPED_IO_PORT  4\r
-#define EFI_RESOURCE_MEMORY_RESERVED        5\r
-#define EFI_RESOURCE_IO_RESERVED            6\r
-#define EFI_RESOURCE_MAX_MEMORY_TYPE        7\r
-\r
-typedef UINT32  EFI_RESOURCE_ATTRIBUTE_TYPE;\r
-\r
-#define EFI_RESOURCE_ATTRIBUTE_PRESENT                  0x00000001\r
-#define EFI_RESOURCE_ATTRIBUTE_INITIALIZED              0x00000002\r
-#define EFI_RESOURCE_ATTRIBUTE_TESTED                   0x00000004\r
-#define EFI_RESOURCE_ATTRIBUTE_SINGLE_BIT_ECC           0x00000008\r
-#define EFI_RESOURCE_ATTRIBUTE_MULTIPLE_BIT_ECC         0x00000010\r
-#define EFI_RESOURCE_ATTRIBUTE_ECC_RESERVED_1           0x00000020\r
-#define EFI_RESOURCE_ATTRIBUTE_ECC_RESERVED_2           0x00000040\r
-#define EFI_RESOURCE_ATTRIBUTE_READ_PROTECTED           0x00000080\r
-#define EFI_RESOURCE_ATTRIBUTE_WRITE_PROTECTED          0x00000100\r
-#define EFI_RESOURCE_ATTRIBUTE_EXECUTION_PROTECTED      0x00000200\r
-#define EFI_RESOURCE_ATTRIBUTE_UNCACHEABLE              0x00000400\r
-#define EFI_RESOURCE_ATTRIBUTE_WRITE_COMBINEABLE        0x00000800\r
-#define EFI_RESOURCE_ATTRIBUTE_WRITE_THROUGH_CACHEABLE  0x00001000\r
-#define EFI_RESOURCE_ATTRIBUTE_WRITE_BACK_CACHEABLE     0x00002000\r
-#define EFI_RESOURCE_ATTRIBUTE_16_BIT_IO                0x00004000\r
-#define EFI_RESOURCE_ATTRIBUTE_32_BIT_IO                0x00008000\r
-#define EFI_RESOURCE_ATTRIBUTE_64_BIT_IO                0x00010000\r
-#define EFI_RESOURCE_ATTRIBUTE_UNCACHED_EXPORTED        0x00020000\r
-//\r
-// The following values are defined in PI 1.2 errata B.\r
-//\r
-#define EFI_RESOURCE_ATTRIBUTE_READ_PROTECTABLE         0x00100000\r
-#define EFI_RESOURCE_ATTRIBUTE_WRITE_PROTECTABLE        0x00200000\r
-#define EFI_RESOURCE_ATTRIBUTE_EXECUTION_PROTECTABLE    0x00400000\r
-\r
-typedef struct {\r
-  EFI_HOB_GENERIC_HEADER      Header;\r
-  EFI_GUID                    Owner;\r
-  EFI_RESOURCE_TYPE           ResourceType;\r
-  EFI_RESOURCE_ATTRIBUTE_TYPE ResourceAttribute;\r
-  EFI_PHYSICAL_ADDRESS        PhysicalStart;\r
-  UINT64                      ResourceLength;\r
-} EFI_HOB_RESOURCE_DESCRIPTOR;\r
-\r
-//\r
-// GUID Extension HOB\r
-// The HobLength is variable as it includes the GUID specific data.\r
-//\r
-#define EFI_HOB_TYPE_GUID_EXTENSION 0x0004\r
-\r
-typedef struct {\r
-  EFI_HOB_GENERIC_HEADER  Header;\r
-  EFI_GUID                Name;\r
-\r
-  //\r
-  // Guid specific data goes here\r
-  //\r
-} EFI_HOB_GUID_TYPE;\r
-\r
-//\r
-// Firmware Volume HOB\r
-//\r
-#define EFI_HOB_TYPE_FV 0x0005\r
-\r
-typedef struct {\r
-  EFI_HOB_GENERIC_HEADER  Header;\r
-  EFI_PHYSICAL_ADDRESS    BaseAddress;\r
-  UINT64                  Length;\r
-} EFI_HOB_FIRMWARE_VOLUME;\r
-\r
-//\r
-// CPU HOB\r
-//\r
-#define EFI_HOB_TYPE_CPU  0x0006\r
-\r
-typedef struct {\r
-  EFI_HOB_GENERIC_HEADER  Header;\r
-  UINT8                   SizeOfMemorySpace;\r
-  UINT8                   SizeOfIoSpace;\r
-  UINT8                   Reserved[6];\r
-} EFI_HOB_CPU;\r
-\r
-//\r
-// PEI Core Memory Pool HOB\r
-// The HobLength is variable as the HOB contains pool allocations by\r
-// the PeiServices AllocatePool function\r
-//\r
-#define EFI_HOB_TYPE_PEI_MEMORY_POOL  0x0007\r
-\r
-typedef struct {\r
-  EFI_HOB_GENERIC_HEADER  Header;\r
-} EFI_HOB_MEMORY_POOL;\r
-\r
-//\r
-// Capsule volume HOB -- identical to a firmware volume\r
-//\r
-#define EFI_HOB_TYPE_CV 0x0008\r
-\r
-typedef struct {\r
-  EFI_HOB_GENERIC_HEADER  Header;\r
-  EFI_PHYSICAL_ADDRESS    BaseAddress;\r
-  UINT64                  Length;\r
-} EFI_HOB_CAPSULE_VOLUME;\r
-\r
-#if (PI_SPECIFICATION_VERSION >= 0x00010000)\r
-\r
-#define EFI_HOB_TYPE_FV2    0x0009\r
-\r
-typedef struct {\r
-  EFI_HOB_GENERIC_HEADER  Header;\r
-  EFI_PHYSICAL_ADDRESS    BaseAddress;\r
-  UINT64                  Length;\r
-  EFI_GUID                FvName;\r
-  EFI_GUID                FileName;\r
-} EFI_HOB_FIRMWARE_VOLUME2;\r
-\r
-#define EFI_HOB_TYPE_LOAD_PEIM_UNUSED     0x000A\r
-\r
-#endif\r
-\r
-#define EFI_HOB_TYPE_UNUSED 0xFFFE\r
-\r
-//\r
-// Union of all the possible HOB Types\r
-//\r
-typedef union {\r
-  EFI_HOB_GENERIC_HEADER              *Header;\r
-  EFI_HOB_HANDOFF_INFO_TABLE          *HandoffInformationTable;\r
-  EFI_HOB_MEMORY_ALLOCATION           *MemoryAllocation;\r
-  EFI_HOB_MEMORY_ALLOCATION_BSP_STORE *MemoryAllocationBspStore;\r
-  EFI_HOB_MEMORY_ALLOCATION_STACK     *MemoryAllocationStack;\r
-  EFI_HOB_MEMORY_ALLOCATION_MODULE    *MemoryAllocationModule;\r
-  EFI_HOB_RESOURCE_DESCRIPTOR         *ResourceDescriptor;\r
-  EFI_HOB_GUID_TYPE                   *Guid;\r
-  EFI_HOB_FIRMWARE_VOLUME             *FirmwareVolume;\r
-#if (PI_SPECIFICATION_VERSION >= 0x00010000)\r
-  EFI_HOB_FIRMWARE_VOLUME2            *FirmwareVolume2;\r
-#endif\r
-  EFI_HOB_CPU                         *Cpu;\r
-  EFI_HOB_MEMORY_POOL                 *Pool;\r
-  EFI_HOB_CAPSULE_VOLUME              *CapsuleVolume;\r
-  UINT8                               *Raw;\r
-} EFI_PEI_HOB_POINTERS;\r
-\r
-#define GET_HOB_TYPE(Hob)     ((Hob).Header->HobType)\r
-#define GET_HOB_LENGTH(Hob)   ((Hob).Header->HobLength)\r
-#define GET_NEXT_HOB(Hob)     ((Hob).Raw + GET_HOB_LENGTH (Hob))\r
-#define END_OF_HOB_LIST(Hob)  (GET_HOB_TYPE (Hob) == EFI_HOB_TYPE_END_OF_HOB_LIST)\r
-\r
-#endif\r