ItkData.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. /*++
  2. Copyright (c) 2004 - 2019, Intel Corporation. All rights reserved.<BR>
  3. SPDX-License-Identifier: BSD-2-Clause-Patent
  4. Module Name:
  5. ItkData.h
  6. Abstract:
  7. --*/
  8. #ifndef _ITKDATA_GUID_H_
  9. #define _ITKDATA_GUID_H_
  10. //
  11. // This GUID is for the ITK related data found in a Variable {3812723D-7E48-4e29-BC27-F5A39AC94EF1}
  12. //
  13. #define ITK_DATA_VAR_GUID \
  14. { 0x3812723d, 0x7e48, 0x4e29, 0xbc, 0x27, 0xf5, 0xa3, 0x9a, 0xc9, 0x4e, 0xf1 }
  15. extern EFI_GUID gItkDataVarGuid;
  16. #define ITK_DATA_VAR_NAME L"ItkDataVar"
  17. extern CHAR16 gItkDataVarName[];
  18. #define ITK_BIOS_MOD_VAR_NAME L"ItkBiosModVar"
  19. extern CHAR16 gItkBiosModVarName[];
  20. #pragma pack(1)
  21. typedef struct {
  22. UINT32 Type;
  23. UINT32 RecordLength;
  24. } EFI_ITK_DATA_HEADER;
  25. typedef struct {
  26. EFI_ITK_DATA_HEADER ItkHeader;
  27. UINT32 HecetaAddress;
  28. } EFI_ITK_HECETA_ADDRESS;
  29. typedef struct {
  30. UINT16 VarEqName;
  31. UINT16 VarEqValue;
  32. } EFI_ITK_VAR_EQ_RECORD;
  33. typedef struct {
  34. EFI_ITK_DATA_HEADER ItkHeader;
  35. EFI_ITK_VAR_EQ_RECORD VarEqRecord[0x10000];
  36. } EFI_ITK_VAR_EQ;
  37. #pragma pack()
  38. #define EFI_ITK_HECETA_ADDRESS_TYPE 1
  39. #define EFI_ITK_MOBILE_BIOS_TYPE 2
  40. #define EFI_ITK_VAR_EQ_TYPE 3
  41. #endif