48#define _COMPONENT ACPI_TABLES
59 const char *RegisterName,
90#define ACPI_FADT_OPTIONAL 0
91#define ACPI_FADT_REQUIRED 1
92#define ACPI_FADT_SEPARATE_LENGTH 2
93#define ACPI_FADT_GPE_REGISTER 4
154#define ACPI_FADT_INFO_ENTRIES \
155 (sizeof (FadtInfoTable) / sizeof (ACPI_FADT_INFO))
170 {&AcpiGbl_XPm1aStatus,
174 {&AcpiGbl_XPm1aEnable,
178 {&AcpiGbl_XPm1bStatus,
182 {&AcpiGbl_XPm1bEnable,
187#define ACPI_FADT_PM_INFO_ENTRIES \
188 (sizeof (FadtPmInfoTable) / sizeof (ACPI_FADT_PM_INFO))
215 const char *RegisterName,
225 BitWidth = (
UINT8) (ByteWidth * 8);
236 "%s - 32-bit FADT register is too long (%u bytes, %u bits) "
237 "to convert to GAS struct - 255 bits max, truncating",
238 RegisterName, ByteWidth, (ByteWidth * 8)));
253 GenericAddress->
BitWidth = BitWidth;
297 return ((
UINT64) Address32);
301 (Address64 != (
UINT64) Address32))
306 "32/64X %s address mismatch in FADT: "
307 "0x%8.8X/0x%8.8X%8.8X, using %u-bit address",
309 AcpiGbl_Use32BitFadtAddresses ? 32 : 64));
313 if (AcpiGbl_Use32BitFadtAddresses)
315 return ((
UINT64) Address32);
355 FadtDesc = &AcpiGbl_RootTableList.Tables[AcpiGbl_FadtIndex];
380 (ACPI_PHYSICAL_ADDRESS) AcpiGbl_FADT.XDsdt,
386 if (!AcpiGbl_ReducedHardware)
388 if (AcpiGbl_FADT.Facs)
391 (ACPI_PHYSICAL_ADDRESS) AcpiGbl_FADT.Facs,
395 if (AcpiGbl_FADT.XFacs)
398 (ACPI_PHYSICAL_ADDRESS) AcpiGbl_FADT.XFacs,
400 &AcpiGbl_XFacsIndex);
436 "FADT (revision %u) is longer than %s length, "
437 "truncating length %u to %u",
453 AcpiGbl_ReducedHardware =
FALSE;
456 AcpiGbl_ReducedHardware =
TRUE;
538 AcpiGbl_FADT.PreferredProfile = 0;
539 AcpiGbl_FADT.PstateControl = 0;
540 AcpiGbl_FADT.CstControl = 0;
541 AcpiGbl_FADT.BootFlags = 0;
556 AcpiGbl_FADT.Dsdt, AcpiGbl_FADT.XDsdt);
560 if (AcpiGbl_ReducedHardware)
615 if (Address64->Address)
617 if (Address64->Address != (
UINT64) Address32)
622 "32/64X address mismatch in FADT/%s: "
623 "0x%8.8X/0x%8.8X%8.8X, using %u-bit address",
626 AcpiGbl_Use32BitFadtAddresses ? 32 : 64));
641 "32/64X length mismatch in FADT/%s: %u/%u",
656 if (!Address64->Address || AcpiGbl_Use32BitFadtAddresses)
670 if (!Address64->Address || !
Length)
673 "Required FADT field %s has zero address and/or length: "
685 if ((Address64->Address && !
Length) ||
686 (!Address64->Address &&
Length))
689 "Optional FADT field %s has valid %s but zero %s: "
690 "0x%8.8X%8.8X/0x%X",
Name,
691 (
Length ?
"Length" :
"Address"),
692 (
Length ?
"Address":
"Length"),
719 UINT8 Pm1RegisterByteWidth;
727 if (AcpiGbl_UseDefaultRegisterWidths)
743 "Invalid length for FADT/%s: %u, using default %u",
759 Pm1RegisterByteWidth = (
UINT8)
760 ACPI_DIV_16 (AcpiGbl_FADT.XPm1aEventBlock.BitWidth);
784 Source64->
SpaceId, Pm1RegisterByteWidth,
unsigned long long UINT64
#define ACPI_FORMAT_UINT64(i)
#define ACPI_MOVE_64_TO_64(d, s)
#define ACPI_MODULE_NAME(Name)
#define ACPI_BIOS_WARNING(plist)
#define ACPI_BIOS_ERROR(plist)
#define ACPI_ERROR(plist)
ACPI_PHYSICAL_ADDRESS ACPI_SIZE BOOLEAN Warn UINT32 *TableIdx UINT32 ACPI_TABLE_HEADER *OutTableHeader ACPI_TABLE_HEADER **OutTable ACPI_HANDLE UINT32 ACPI_WALK_CALLBACK ACPI_WALK_CALLBACK void void **ReturnValue UINT32 ACPI_BUFFER *RetPathPtr ACPI_OBJECT_HANDLER void *Data ACPI_OBJECT_HANDLER void **Data ACPI_STRING ACPI_OBJECT_LIST ACPI_BUFFER *ReturnObjectBuffer ACPI_DEVICE_INFO **ReturnBuffer ACPI_HANDLE ACPI_HANDLE ACPI_HANDLE *OutHandle ACPI_HANDLE *OutHandle void *Context void *Context ACPI_EVENT_HANDLER Handler UINT32 UINT32 ACPI_GPE_HANDLER void *Context UINT32 ACPI_NOTIFY_HANDLER void *Context ACPI_ADR_SPACE_TYPE SpaceId
ACPI_STATUS AcpiTbGetTable(ACPI_TABLE_DESC *TableDesc, ACPI_TABLE_HEADER **OutTable)
void AcpiTbPutTable(ACPI_TABLE_DESC *TableDesc)
ACPI_STATUS AcpiTbInstallStandardTable(ACPI_PHYSICAL_ADDRESS Address, UINT8 Flags, ACPI_TABLE_HEADER *Table, BOOLEAN Reload, BOOLEAN Override, UINT32 *TableIndex)
struct acpi_table_fadt ACPI_TABLE_FADT
#define ACPI_FADT_CONFORMANCE
#define ACPI_FADT_HW_REDUCED
#define ACPI_TABLE_ORIGIN_INTERNAL_PHYSICAL
#define ACPI_FADT_V2_SIZE
#define ACPI_FADT_OFFSET(f)
#define ACPI_ADR_SPACE_SYSTEM_IO
#define ACPI_ADD_PTR(t, a, b)
#define ACPI_PM2_REGISTER_WIDTH
#define ACPI_PM1_REGISTER_WIDTH
#define ACPI_PM_TIMER_WIDTH
ACPI_STATUS AcpiUtVerifyChecksum(ACPI_TABLE_HEADER *Table, UINT32 Length)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
#define memcpy(s1, s2, n)
_In_ UINT _In_ UINT _In_ PNDIS_PACKET Source
_In_ ULONG _In_ ULONG _In_ ULONG Length
ACPI_GENERIC_ADDRESS * Target
#define ACPI_FADT_OPTIONAL
static void AcpiTbSetupFadtRegisters(void)
#define ACPI_FADT_INFO_ENTRIES
#define ACPI_FADT_PM_INFO_ENTRIES
struct acpi_fadt_info ACPI_FADT_INFO
static UINT64 AcpiTbSelectAddress(char *RegisterName, UINT32 Address32, UINT64 Address64)
void AcpiTbCreateLocalFadt(ACPI_TABLE_HEADER *Table, UINT32 Length)
void AcpiTbParseFadt(void)
static void AcpiTbConvertFadt(void)
static ACPI_FADT_PM_INFO FadtPmInfoTable[]
#define ACPI_FADT_GPE_REGISTER
#define ACPI_FADT_REQUIRED
#define ACPI_FADT_SEPARATE_LENGTH
struct acpi_fadt_pm_info ACPI_FADT_PM_INFO
static ACPI_FADT_INFO FadtInfoTable[]
static void AcpiTbInitGenericAddress(ACPI_GENERIC_ADDRESS *GenericAddress, UINT8 SpaceId, UINT8 ByteWidth, UINT64 Address, const char *RegisterName, UINT8 Flags)
_Must_inspect_result_ _In_ ULONG Flags
ActualNumberDriverObjects * sizeof(PDRIVER_OBJECT)) PDRIVER_OBJECT *DriverObjectList