diff options
Diffstat (limited to 'sys/contrib/dev/acpica/include/actbl3.h')
| -rw-r--r-- | sys/contrib/dev/acpica/include/actbl3.h | 85 |
1 files changed, 58 insertions, 27 deletions
diff --git a/sys/contrib/dev/acpica/include/actbl3.h b/sys/contrib/dev/acpica/include/actbl3.h index 7da6bc68daee..ef40f19fc0a3 100644 --- a/sys/contrib/dev/acpica/include/actbl3.h +++ b/sys/contrib/dev/acpica/include/actbl3.h @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -205,7 +205,7 @@ typedef struct acpi_table_fpdt } ACPI_TABLE_FPDT; -/* FPDT subtable header */ +/* FPDT subtable header (Performance Record Structure) */ typedef struct acpi_fpdt_header { @@ -230,33 +230,29 @@ enum AcpiFpdtType /* 0: Firmware Basic Boot Performance Record */ -typedef struct acpi_fpdt_boot +typedef struct acpi_fpdt_boot_pointer { ACPI_FPDT_HEADER Header; UINT8 Reserved[4]; - UINT64 ResetEnd; - UINT64 LoadStart; - UINT64 StartupStart; - UINT64 ExitServicesEntry; - UINT64 ExitServicesExit; + UINT64 Address; -} ACPI_FPDT_BOOT; +} ACPI_FPDT_BOOT_POINTER; /* 1: S3 Performance Table Pointer Record */ -typedef struct acpi_fpdt_s3pt_ptr +typedef struct acpi_fpdt_s3pt_pointer { ACPI_FPDT_HEADER Header; UINT8 Reserved[4]; UINT64 Address; -} ACPI_FPDT_S3PT_PTR; +} ACPI_FPDT_S3PT_POINTER; /* * S3PT - S3 Performance Table. This table is pointed to by the - * FPDT S3 Pointer Record above. + * S3 Pointer Record above. */ typedef struct acpi_table_s3pt { @@ -267,27 +263,21 @@ typedef struct acpi_table_s3pt /* - * S3PT Subtables + * S3PT Subtables (Not part of the actual FPDT) */ -typedef struct acpi_s3pt_header -{ - UINT16 Type; - UINT8 Length; - UINT8 Revision; -} ACPI_S3PT_HEADER; - -/* Values for Type field above */ +/* Values for Type field in S3PT header */ enum AcpiS3ptType { ACPI_S3PT_TYPE_RESUME = 0, - ACPI_S3PT_TYPE_SUSPEND = 1 + ACPI_S3PT_TYPE_SUSPEND = 1, + ACPI_FPDT_BOOT_PERFORMANCE = 2 }; typedef struct acpi_s3pt_resume { - ACPI_S3PT_HEADER Header; + ACPI_FPDT_HEADER Header; UINT32 ResumeCount; UINT64 FullResume; UINT64 AverageResume; @@ -296,13 +286,29 @@ typedef struct acpi_s3pt_resume typedef struct acpi_s3pt_suspend { - ACPI_S3PT_HEADER Header; + ACPI_FPDT_HEADER Header; UINT64 SuspendStart; UINT64 SuspendEnd; } ACPI_S3PT_SUSPEND; +/* + * FPDT Boot Performance Record (Not part of the actual FPDT) + */ +typedef struct acpi_fpdt_boot +{ + ACPI_FPDT_HEADER Header; + UINT8 Reserved[4]; + UINT64 ResetEnd; + UINT64 LoadStart; + UINT64 StartupStart; + UINT64 ExitServicesEntry; + UINT64 ExitServicesExit; + +} ACPI_FPDT_BOOT; + + /******************************************************************************* * * GTDT - Generic Timer Description Table (ACPI 5.1) @@ -557,9 +563,10 @@ typedef struct acpi_table_pcct enum AcpiPcctType { - ACPI_PCCT_TYPE_GENERIC_SUBSPACE = 0, - ACPI_PCCT_TYPE_HW_REDUCED_SUBSPACE = 1, - ACPI_PCCT_TYPE_RESERVED = 2 /* 2 and greater are reserved */ + ACPI_PCCT_TYPE_GENERIC_SUBSPACE = 0, + ACPI_PCCT_TYPE_HW_REDUCED_SUBSPACE = 1, + ACPI_PCCT_TYPE_HW_REDUCED_SUBSPACE_TYPE2 = 2, /* ACPI 6.1 */ + ACPI_PCCT_TYPE_RESERVED = 3 /* 3 and greater are reserved */ }; /* @@ -603,6 +610,30 @@ typedef struct acpi_pcct_hw_reduced } ACPI_PCCT_HW_REDUCED; + +/* 2: HW-reduced Communications Subspace Type 2 (ACPI 6.1) */ + +typedef struct acpi_pcct_hw_reduced_type2 +{ + ACPI_SUBTABLE_HEADER Header; + UINT32 DoorbellInterrupt; + UINT8 Flags; + UINT8 Reserved; + UINT64 BaseAddress; + UINT64 Length; + ACPI_GENERIC_ADDRESS DoorbellRegister; + UINT64 PreserveMask; + UINT64 WriteMask; + UINT32 Latency; + UINT32 MaxAccessRate; + UINT16 MinTurnaroundTime; + ACPI_GENERIC_ADDRESS DoorbellAckRegister; + UINT64 AckPreserveMask; + UINT64 AckWriteMask; + +} ACPI_PCCT_HW_REDUCED_TYPE2; + + /* Values for doorbell flags above */ #define ACPI_PCCT_INTERRUPT_POLARITY (1) |
