Fadt.aslc 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. /** @file
  2. Fixed ACPI Description Table (FADT)
  3. FADT defines various fixed hardware ACPI information vital to an ACPI
  4. compatible OS. FADT also has a pointer to the DSDT that contains the
  5. Differentiated Definition Block, which in turn provides variable information
  6. to an ACPI-compatible OS concerning the base system design.
  7. Copyright (c) 2018 - 2022, Arm Limited. All rights reserved.
  8. SPDX-License-Identifier: BSD-2-Clause-Patent
  9. @par Specification Reference:
  10. - ACPI 6.4, Chapter 5, Section 5.2.9, Fixed ACPI Description Table
  11. **/
  12. #include <Library/AcpiLib.h>
  13. #include "SgiAcpiHeader.h"
  14. STATIC EFI_ACPI_6_4_FIXED_ACPI_DESCRIPTION_TABLE Fadt = {
  15. ARM_ACPI_HEADER (
  16. EFI_ACPI_6_4_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE,
  17. EFI_ACPI_6_4_FIXED_ACPI_DESCRIPTION_TABLE,
  18. EFI_ACPI_6_4_FIXED_ACPI_DESCRIPTION_TABLE_REVISION
  19. ),
  20. 0, // UINT32 FirmwareCtrl
  21. 0, // UINT32 Dsdt
  22. EFI_ACPI_RESERVED_BYTE, // UINT8 Reserved0
  23. EFI_ACPI_6_4_PM_PROFILE_ENTERPRISE_SERVER, // UINT8 PreferredPmProfile
  24. 0, // UINT16 SciInt
  25. 0, // UINT32 SmiCmd
  26. 0, // UINT8 AcpiEnable
  27. 0, // UINT8 AcpiDisable
  28. 0, // UINT8 S4BiosReq
  29. 0, // UINT8 PstateCnt
  30. 0, // UINT32 Pm1aEvtBlk
  31. 0, // UINT32 Pm1bEvtBlk
  32. 0, // UINT32 Pm1aCntBlk
  33. 0, // UINT32 Pm1bCntBlk
  34. 0, // UINT32 Pm2CntBlk
  35. 0, // UINT32 PmTmrBlk
  36. 0, // UINT32 Gpe0Blk
  37. 0, // UINT32 Gpe1Blk
  38. 0, // UINT8 Pm1EvtLen
  39. 0, // UINT8 Pm1CntLen
  40. 0, // UINT8 Pm2CntLen
  41. 0, // UINT8 PmTmrLen
  42. 0, // UINT8 Gpe0BlkLen
  43. 0, // UINT8 Gpe1BlkLen
  44. 0, // UINT8 Gpe1Base
  45. 0, // UINT8 CstCnt
  46. 0, // UINT16 PLvl2Lat
  47. 0, // UINT16 PLvl3Lat
  48. 0, // UINT16 FlushSize
  49. 0, // UINT16 FlushStride
  50. 0, // UINT8 DutyOffset
  51. 0, // UINT8 DutyWidth
  52. 0, // UINT8 DayAlrm
  53. 0, // UINT8 MonAlrm
  54. 0, // UINT8 Century
  55. 0, // UINT16 IaPcBootArch
  56. 0, // UINT8 Reserved1
  57. EFI_ACPI_6_4_HW_REDUCED_ACPI | EFI_ACPI_6_4_LOW_POWER_S0_IDLE_CAPABLE, // UINT32 Flags
  58. NULL_GAS, // GAS ResetReg
  59. 0, // UINT8 ResetValue
  60. EFI_ACPI_6_4_ARM_PSCI_COMPLIANT, // UINT16 ArmBootArchFlags
  61. EFI_ACPI_6_4_FIXED_ACPI_DESCRIPTION_TABLE_MINOR_REVISION, // UINT8 MinorRevision
  62. 0, // UINT64 XFirmwareCtrl
  63. 0, // UINT64 XDsdt
  64. NULL_GAS, // GAS XPm1aEvtBlk
  65. NULL_GAS, // GAS XPm1bEvtBlk
  66. NULL_GAS, // GAS XPm1aCntBlk
  67. NULL_GAS, // GAS XPm1bCntBlk
  68. NULL_GAS, // GAS XPm2CntBlk
  69. NULL_GAS, // GAS XPmTmrBlk
  70. NULL_GAS, // GAS XGpe0Blk
  71. NULL_GAS, // GAS XGpe1Blk
  72. NULL_GAS, // GAS SleepControlReg
  73. NULL_GAS, // GAS SleepStatusReg
  74. 0 // UINT64 HypervisorVendorIdentity;
  75. };
  76. //
  77. // Reference the table being generated to prevent the optimizer from removing the
  78. // data structure from the executable
  79. //
  80. VOID* CONST ReferenceAcpiTable = &Fadt;