|
@@ -184,7 +184,7 @@ struct acpi_table_fpdt {
|
|
|
struct acpi_table_header header; /* Common ACPI table header */
|
|
|
};
|
|
|
|
|
|
-/* FPDT subtable header */
|
|
|
+/* FPDT subtable header (Performance Record Structure) */
|
|
|
|
|
|
struct acpi_fpdt_header {
|
|
|
u16 type;
|
|
@@ -205,19 +205,15 @@ enum acpi_fpdt_type {
|
|
|
|
|
|
/* 0: Firmware Basic Boot Performance Record */
|
|
|
|
|
|
-struct acpi_fpdt_boot {
|
|
|
+struct acpi_fpdt_boot_pointer {
|
|
|
struct acpi_fpdt_header header;
|
|
|
u8 reserved[4];
|
|
|
- u64 reset_end;
|
|
|
- u64 load_start;
|
|
|
- u64 startup_start;
|
|
|
- u64 exit_services_entry;
|
|
|
- u64 exit_services_exit;
|
|
|
+ u64 address;
|
|
|
};
|
|
|
|
|
|
/* 1: S3 Performance Table Pointer Record */
|
|
|
|
|
|
-struct acpi_fpdt_s3pt_ptr {
|
|
|
+struct acpi_fpdt_s3pt_pointer {
|
|
|
struct acpi_fpdt_header header;
|
|
|
u8 reserved[4];
|
|
|
u64 address;
|
|
@@ -225,7 +221,7 @@ struct acpi_fpdt_s3pt_ptr {
|
|
|
|
|
|
/*
|
|
|
* S3PT - S3 Performance Table. This table is pointed to by the
|
|
|
- * FPDT S3 Pointer Record above.
|
|
|
+ * S3 Pointer Record above.
|
|
|
*/
|
|
|
struct acpi_table_s3pt {
|
|
|
u8 signature[4]; /* "S3PT" */
|
|
@@ -233,34 +229,43 @@ struct acpi_table_s3pt {
|
|
|
};
|
|
|
|
|
|
/*
|
|
|
- * S3PT Subtables
|
|
|
+ * S3PT Subtables (Not part of the actual FPDT)
|
|
|
*/
|
|
|
-struct acpi_s3pt_header {
|
|
|
- u16 type;
|
|
|
- u8 length;
|
|
|
- u8 revision;
|
|
|
-};
|
|
|
|
|
|
-/* Values for Type field above */
|
|
|
+/* Values for Type field in S3PT header */
|
|
|
|
|
|
enum acpi_s3pt_type {
|
|
|
ACPI_S3PT_TYPE_RESUME = 0,
|
|
|
- ACPI_S3PT_TYPE_SUSPEND = 1
|
|
|
+ ACPI_S3PT_TYPE_SUSPEND = 1,
|
|
|
+ ACPI_FPDT_BOOT_PERFORMANCE = 2
|
|
|
};
|
|
|
|
|
|
struct acpi_s3pt_resume {
|
|
|
- struct acpi_s3pt_header header;
|
|
|
+ struct acpi_fpdt_header header;
|
|
|
u32 resume_count;
|
|
|
u64 full_resume;
|
|
|
u64 average_resume;
|
|
|
};
|
|
|
|
|
|
struct acpi_s3pt_suspend {
|
|
|
- struct acpi_s3pt_header header;
|
|
|
+ struct acpi_fpdt_header header;
|
|
|
u64 suspend_start;
|
|
|
u64 suspend_end;
|
|
|
};
|
|
|
|
|
|
+/*
|
|
|
+ * FPDT Boot Performance Record (Not part of the actual FPDT)
|
|
|
+ */
|
|
|
+struct acpi_fpdt_boot {
|
|
|
+ struct acpi_fpdt_header header;
|
|
|
+ u8 reserved[4];
|
|
|
+ u64 reset_end;
|
|
|
+ u64 load_start;
|
|
|
+ u64 startup_start;
|
|
|
+ u64 exit_services_entry;
|
|
|
+ u64 exit_services_exit;
|
|
|
+};
|
|
|
+
|
|
|
/*******************************************************************************
|
|
|
*
|
|
|
* GTDT - Generic Timer Description Table (ACPI 5.1)
|