]> git.proxmox.com Git - mirror_edk2.git/blobdiff - OldMdePkg/Include/Common/Hob.h
Retiring the ANT/JAVA build and removing the older EDK II packages that required...
[mirror_edk2.git] / OldMdePkg / Include / Common / Hob.h
diff --git a/OldMdePkg/Include/Common/Hob.h b/OldMdePkg/Include/Common/Hob.h
deleted file mode 100644 (file)
index b6ae6de..0000000
+++ /dev/null
@@ -1,235 +0,0 @@
-/** @file\r
-  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
-  Copyright (c) 2006, Intel Corporation                                                         \r
-  All rights reserved. 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:  Hob.h\r
-\r
-  @par Revision Reference:\r
-  These definitions are from Hand Off Block (HOB) Spec Version 0.9.\r
-\r
-**/\r
-\r
-#ifndef __HOB_H__\r
-#define __HOB_H__\r
-\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
-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
-#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
-  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
-//\r
-// Get the data and data size field of GUID \r
-//\r
-#define GET_GUID_HOB_DATA(GuidHob)      ((VOID *) (((UINT8 *) &((GuidHob)->Name)) + sizeof (EFI_GUID)))\r
-#define GET_GUID_HOB_DATA_SIZE(GuidHob) (((GuidHob)->Header).HobLength - sizeof (EFI_HOB_GUID_TYPE))\r
-\r
-#endif\r