update some definitions from edk2

Signed-off-by: SergeySlice <sergey.slice@gmail.com>
This commit is contained in:
SergeySlice 2022-11-26 22:48:09 +03:00
parent ac66179352
commit 4a3b16edce
13 changed files with 407 additions and 266 deletions

View File

@ -3,7 +3,7 @@
consumed by drivers that do not care about ACPI versions.
Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2019, ARM Ltd. All rights reserved.<BR>
Copyright (c) 2019 - 2021, ARM Ltd. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/

View File

@ -2,6 +2,7 @@
ACPI 1.0b definitions from the ACPI Specification, revision 1.0b
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2020, Arm Limited. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
@ -40,7 +41,7 @@ typedef struct {
#pragma pack()
//
// Define for Desriptor
// Define for Descriptor
//
#define ACPI_SMALL_ITEM_FLAG 0x00
#define ACPI_LARGE_ITEM_FLAG 0x01
@ -112,7 +113,7 @@ typedef struct {
#pragma pack(1)
///
/// The commond definition of QWORD, DWORD, and WORD
/// The common definition of QWORD, DWORD, and WORD
/// Address Space Descriptors.
///
typedef PACKED struct {
@ -143,7 +144,7 @@ typedef PACKED struct {
PACKED struct {
UINT8 Name : 7;
UINT8 Type : 1;
}Bits;
} Bits;
} Header;
UINT16 Length;
} ACPI_LARGE_RESOURCE_HEADER;
@ -361,7 +362,7 @@ typedef struct {
#define EFI_ACPI_DMA_TRANSFER_TYPE_MASK 0x03
#define EFI_ACPI_DMA_TRANSFER_TYPE_8_BIT 0x00
#define EFI_ACPI_DMA_TRANSFER_TYPE_8_BIT_AND_16_BIT 0x01
#define EFI_ACPI_DMA_TRANSFER_TYPE_16_BIT 0x10
#define EFI_ACPI_DMA_TRANSFER_TYPE_16_BIT 0x02
//
// IO Information
@ -379,6 +380,16 @@ typedef struct {
#define EFI_ACPI_MEMORY_WRITABLE 0x01
#define EFI_ACPI_MEMORY_NON_WRITABLE 0x00
//
// Interrupt Vector Flags definitions for Extended Interrupt Descriptor
// Ref ACPI specification 6.4.3.6
//
#define EFI_ACPI_EXTENDED_INTERRUPT_FLAG_PRODUCER_CONSUMER_MASK BIT0
#define EFI_ACPI_EXTENDED_INTERRUPT_FLAG_MODE_MASK BIT1
#define EFI_ACPI_EXTENDED_INTERRUPT_FLAG_POLARITY_MASK BIT2
#define EFI_ACPI_EXTENDED_INTERRUPT_FLAG_SHARABLE_MASK BIT3
#define EFI_ACPI_EXTENDED_INTERRUPT_FLAG_WAKE_CAPABLITY_MASK BIT4
//
// Ensure proper structure formats
//

View File

@ -11,7 +11,7 @@
#include <IndustryStandard/Acpi10.h>
//
// Define for Desriptor
// Define for Descriptor
//
#define ACPI_LARGE_GENERIC_REGISTER_DESCRIPTOR_NAME 0x02
@ -505,7 +505,7 @@ typedef struct {
#define EFI_ACPI_2_0_SYSTEM_LOCALITY_INFORMATION_TABLE_SIGNATURE SIGNATURE_32('S', 'L', 'I', 'T')
///
/// "SPCR" Serial Port Concole Redirection Table
/// "SPCR" Serial Port Console Redirection Table
///
#define EFI_ACPI_2_0_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE SIGNATURE_32('S', 'P', 'C', 'R')

View File

@ -11,7 +11,7 @@
#include <IndustryStandard/Acpi20.h>
//
// Define for Desriptor
// Define for Descriptor
//
#define ACPI_LARGE_EXTENDED_ADDRESS_SPACE_DESCRIPTOR_NAME 0x0B
@ -684,7 +684,7 @@ typedef struct {
#define EFI_ACPI_3_0_PCI_EXPRESS_MEMORY_MAPPED_CONFIGURATION_SPACE_BASE_ADDRESS_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('M', 'C', 'F', 'G')
///
/// "SPCR" Serial Port Concole Redirection Table
/// "SPCR" Serial Port Console Redirection Table
///
#define EFI_ACPI_3_0_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE SIGNATURE_32('S', 'P', 'C', 'R')

View File

@ -1,7 +1,7 @@
/** @file
ACPI 4.0 definitions from the ACPI Specification Revision 4.0a April 5, 2010
Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2010 - 2022, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
@ -667,12 +667,12 @@ typedef struct {
/// Boot Error Region Block Status Definition
///
typedef struct {
UINT32 UncorrectableErrorValid:1;
UINT32 CorrectableErrorValid:1;
UINT32 MultipleUncorrectableErrors:1;
UINT32 MultipleCorrectableErrors:1;
UINT32 ErrorDataEntryCount:10;
UINT32 Reserved:18;
UINT32 UncorrectableErrorValid : 1;
UINT32 CorrectableErrorValid : 1;
UINT32 MultipleUncorrectableErrors : 1;
UINT32 MultipleCorrectableErrors : 1;
UINT32 ErrorDataEntryCount : 10;
UINT32 Reserved : 18;
} EFI_ACPI_4_0_ERROR_BLOCK_STATUS;
///
@ -690,6 +690,7 @@ typedef struct {
// Boot Error Severity types
//
#define EFI_ACPI_4_0_ERROR_SEVERITY_CORRECTABLE 0x00
#define EFI_ACPI_4_0_ERROR_SEVERITY_RECOVERABLE 0x00
#define EFI_ACPI_4_0_ERROR_SEVERITY_FATAL 0x01
#define EFI_ACPI_4_0_ERROR_SEVERITY_CORRECTED 0x02
#define EFI_ACPI_4_0_ERROR_SEVERITY_NONE 0x03
@ -795,13 +796,13 @@ typedef struct {
/// Hardware Error Notification Configuration Write Enable Structure Definition
///
typedef struct {
UINT16 Type:1;
UINT16 PollInterval:1;
UINT16 SwitchToPollingThresholdValue:1;
UINT16 SwitchToPollingThresholdWindow:1;
UINT16 ErrorThresholdValue:1;
UINT16 ErrorThresholdWindow:1;
UINT16 Reserved:10;
UINT16 Type : 1;
UINT16 PollInterval : 1;
UINT16 SwitchToPollingThresholdValue : 1;
UINT16 SwitchToPollingThresholdWindow : 1;
UINT16 ErrorThresholdValue : 1;
UINT16 ErrorThresholdWindow : 1;
UINT16 Reserved : 10;
} EFI_ACPI_4_0_HARDWARE_ERROR_NOTIFICATION_CONFIGURATION_WRITE_ENABLE_STRUCTURE;
///
@ -1264,7 +1265,7 @@ typedef struct {
#define EFI_ACPI_4_0_MANAGEMENT_CONTROLLER_HOST_INTERFACE_TABLE_SIGNATURE SIGNATURE_32('M', 'C', 'H', 'I')
///
/// "SPCR" Serial Port Concole Redirection Table
/// "SPCR" Serial Port Console Redirection Table
///
#define EFI_ACPI_4_0_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE SIGNATURE_32('S', 'P', 'C', 'R')

View File

@ -2,7 +2,8 @@
ACPI 5.0 definitions from the ACPI Specification Revision 5.0a November 13, 2013.
Copyright (c) 2014 Hewlett-Packard Development Company, L.P.<BR>
Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2011 - 2022, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2020, ARM Ltd. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
@ -12,7 +13,7 @@
#include <IndustryStandard/Acpi40.h>
//
// Define for Desriptor
// Define for Descriptor
//
#define ACPI_SMALL_FIXED_DMA_DESCRIPTOR_NAME 0x0A
#define ACPI_LARGE_GPIO_CONNECTION_DESCRIPTOR_NAME 0x0C
@ -1201,7 +1202,7 @@ typedef struct {
///
UINT64 ExitBootServicesEntry;
///
/// Timer value logged at the point just prior towhen the OS loader gaining
/// Timer value logged at the point just prior to when the OS loader gaining
/// control back from calls the ExitBootServices function for UEFI compatible firmware.
/// For non-UEFI compatible boots, this field must be zero.
///
@ -1337,12 +1338,12 @@ typedef struct {
/// Boot Error Region Block Status Definition
///
typedef struct {
UINT32 UncorrectableErrorValid:1;
UINT32 CorrectableErrorValid:1;
UINT32 MultipleUncorrectableErrors:1;
UINT32 MultipleCorrectableErrors:1;
UINT32 ErrorDataEntryCount:10;
UINT32 Reserved:18;
UINT32 UncorrectableErrorValid : 1;
UINT32 CorrectableErrorValid : 1;
UINT32 MultipleUncorrectableErrors : 1;
UINT32 MultipleCorrectableErrors : 1;
UINT32 ErrorDataEntryCount : 10;
UINT32 Reserved : 18;
} EFI_ACPI_5_0_ERROR_BLOCK_STATUS;
///
@ -1360,6 +1361,7 @@ typedef struct {
// Boot Error Severity types
//
#define EFI_ACPI_5_0_ERROR_SEVERITY_CORRECTABLE 0x00
#define EFI_ACPI_5_0_ERROR_SEVERITY_RECOVERABLE 0x00
#define EFI_ACPI_5_0_ERROR_SEVERITY_FATAL 0x01
#define EFI_ACPI_5_0_ERROR_SEVERITY_CORRECTED 0x02
#define EFI_ACPI_5_0_ERROR_SEVERITY_NONE 0x03
@ -1465,13 +1467,13 @@ typedef struct {
/// Hardware Error Notification Configuration Write Enable Structure Definition
///
typedef struct {
UINT16 Type:1;
UINT16 PollInterval:1;
UINT16 SwitchToPollingThresholdValue:1;
UINT16 SwitchToPollingThresholdWindow:1;
UINT16 ErrorThresholdValue:1;
UINT16 ErrorThresholdWindow:1;
UINT16 Reserved:10;
UINT16 Type : 1;
UINT16 PollInterval : 1;
UINT16 SwitchToPollingThresholdValue : 1;
UINT16 SwitchToPollingThresholdWindow : 1;
UINT16 ErrorThresholdValue : 1;
UINT16 ErrorThresholdWindow : 1;
UINT16 Reserved : 10;
} EFI_ACPI_5_0_HARDWARE_ERROR_NOTIFICATION_CONFIGURATION_WRITE_ENABLE_STRUCTURE;
///
@ -1844,8 +1846,8 @@ typedef struct {
typedef struct {
UINT8 Command;
UINT8 Reserved:7;
UINT8 GenerateSci:1;
UINT8 Reserved : 7;
UINT8 GenerateSci : 1;
} EFI_ACPI_5_0_PCCT_GENERIC_SHARED_MEMORY_REGION_COMMAND;
typedef struct {
@ -2057,13 +2059,18 @@ typedef struct {
///
#define EFI_ACPI_5_0_DATA_MANAGEMENT_TABLE_SIGNATURE SIGNATURE_32('M', 'S', 'D', 'M')
///
/// "PCCT" Platform Communications Channel Table
///
#define EFI_ACPI_5_0_PLATFORM_COMMUNICATIONS_CHANNEL_TABLE_SIGNATURE SIGNATURE_32('P', 'C', 'C', 'T')
///
/// "SLIC" MS Software Licensing Table Specification
///
#define EFI_ACPI_5_0_SOFTWARE_LICENSING_TABLE_SIGNATURE SIGNATURE_32('S', 'L', 'I', 'C')
///
/// "SPCR" Serial Port Concole Redirection Table
/// "SPCR" Serial Port Console Redirection Table
///
#define EFI_ACPI_5_0_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE SIGNATURE_32('S', 'P', 'C', 'R')

View File

@ -2,8 +2,9 @@
ACPI 5.1 definitions from the ACPI Specification Revision 5.1 Errata B January, 2016.
Copyright (c) 2014 Hewlett-Packard Development Company, L.P.<BR>
Copyright (c) 2014 - 2018, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2014 - 2022, Intel Corporation. All rights reserved.<BR>
(C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR>
Copyright (c) 2020, ARM Ltd. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
@ -950,9 +951,9 @@ typedef struct {
///
/// Memory Aggregator Device Type
///
#define EFI_ACPI_5_1_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_SOCKET 0x1
#define EFI_ACPI_5_1_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_MEMORY_CONTROLLER 0x2
#define EFI_ACPI_5_1_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_DIMM 0x3
#define EFI_ACPI_5_1_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_SOCKET 0x0
#define EFI_ACPI_5_1_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_MEMORY_CONTROLLER 0x1
#define EFI_ACPI_5_1_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_DIMM 0x2
///
/// Socket Memory Aggregator Device Structure.
@ -1154,7 +1155,7 @@ typedef struct {
///
UINT64 ExitBootServicesEntry;
///
/// Timer value logged at the point just prior towhen the OS loader gaining
/// Timer value logged at the point just prior to when the OS loader gaining
/// control back from calls the ExitBootServices function for UEFI compatible firmware.
/// For non-UEFI compatible boots, this field must be zero.
///
@ -1353,12 +1354,12 @@ typedef struct {
/// Boot Error Region Block Status Definition
///
typedef struct {
UINT32 UncorrectableErrorValid:1;
UINT32 CorrectableErrorValid:1;
UINT32 MultipleUncorrectableErrors:1;
UINT32 MultipleCorrectableErrors:1;
UINT32 ErrorDataEntryCount:10;
UINT32 Reserved:18;
UINT32 UncorrectableErrorValid : 1;
UINT32 CorrectableErrorValid : 1;
UINT32 MultipleUncorrectableErrors : 1;
UINT32 MultipleCorrectableErrors : 1;
UINT32 ErrorDataEntryCount : 10;
UINT32 Reserved : 18;
} EFI_ACPI_5_1_ERROR_BLOCK_STATUS;
///
@ -1375,10 +1376,16 @@ typedef struct {
//
// Boot Error Severity types
//
#define EFI_ACPI_5_1_ERROR_SEVERITY_CORRECTABLE 0x00
#define EFI_ACPI_5_1_ERROR_SEVERITY_RECOVERABLE 0x00
#define EFI_ACPI_5_1_ERROR_SEVERITY_FATAL 0x01
#define EFI_ACPI_5_1_ERROR_SEVERITY_CORRECTED 0x02
#define EFI_ACPI_5_1_ERROR_SEVERITY_NONE 0x03
//
// The term 'Correctable' is no longer being used as an error severity of the
// reported error since ACPI Specification Version 5.1 Errata B.
// The below macro is considered as deprecated and should no longer be used.
//
#define EFI_ACPI_5_1_ERROR_SEVERITY_CORRECTABLE 0x00
///
/// Generic Error Data Entry Definition
@ -1481,13 +1488,13 @@ typedef struct {
/// Hardware Error Notification Configuration Write Enable Structure Definition
///
typedef struct {
UINT16 Type:1;
UINT16 PollInterval:1;
UINT16 SwitchToPollingThresholdValue:1;
UINT16 SwitchToPollingThresholdWindow:1;
UINT16 ErrorThresholdValue:1;
UINT16 ErrorThresholdWindow:1;
UINT16 Reserved:10;
UINT16 Type : 1;
UINT16 PollInterval : 1;
UINT16 SwitchToPollingThresholdValue : 1;
UINT16 SwitchToPollingThresholdWindow : 1;
UINT16 ErrorThresholdValue : 1;
UINT16 ErrorThresholdWindow : 1;
UINT16 Reserved : 10;
} EFI_ACPI_5_1_HARDWARE_ERROR_NOTIFICATION_CONFIGURATION_WRITE_ENABLE_STRUCTURE;
///
@ -1865,11 +1872,11 @@ typedef struct {
} EFI_ACPI_5_1_PCCT_GENERIC_SHARED_MEMORY_REGION_COMMAND;
typedef struct {
UINT8 CommandComplete:1;
UINT8 SciDoorbell:1;
UINT8 Error:1;
UINT8 PlatformNotification:1;
UINT8 Reserved:4;
UINT8 CommandComplete : 1;
UINT8 SciDoorbell : 1;
UINT8 Error : 1;
UINT8 PlatformNotification : 1;
UINT8 Reserved : 4;
UINT8 Reserved1;
} EFI_ACPI_5_1_PCCT_GENERIC_SHARED_MEMORY_REGION_STATUS;
@ -2078,13 +2085,18 @@ typedef struct {
///
#define EFI_ACPI_5_1_DATA_MANAGEMENT_TABLE_SIGNATURE SIGNATURE_32('M', 'S', 'D', 'M')
///
/// "PCCT" Platform Communications Channel Table
///
#define EFI_ACPI_5_1_PLATFORM_COMMUNICATIONS_CHANNEL_TABLE_SIGNATURE SIGNATURE_32('P', 'C', 'C', 'T')
///
/// "SLIC" MS Software Licensing Table Specification
///
#define EFI_ACPI_5_1_SOFTWARE_LICENSING_TABLE_SIGNATURE SIGNATURE_32('S', 'L', 'I', 'C')
///
/// "SPCR" Serial Port Concole Redirection Table
/// "SPCR" Serial Port Console Redirection Table
///
#define EFI_ACPI_5_1_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE SIGNATURE_32('S', 'P', 'C', 'R')

View File

@ -1,8 +1,9 @@
/** @file
ACPI 6.0 definitions from the ACPI Specification Revision 6.0 Errata A January, 2016.
Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2015 - 2022, Intel Corporation. All rights reserved.<BR>
(C) Copyright 2015-2016 Hewlett Packard Enterprise Development LP<BR>
Copyright (c) 2020, ARM Ltd. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
@ -965,9 +966,9 @@ typedef struct {
///
/// Memory Aggregator Device Type
///
#define EFI_ACPI_6_0_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_SOCKET 0x1
#define EFI_ACPI_6_0_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_MEMORY_CONTROLLER 0x2
#define EFI_ACPI_6_0_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_DIMM 0x3
#define EFI_ACPI_6_0_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_SOCKET 0x0
#define EFI_ACPI_6_0_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_MEMORY_CONTROLLER 0x1
#define EFI_ACPI_6_0_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_DIMM 0x2
///
/// Socket Memory Aggregator Device Structure.
@ -1169,7 +1170,7 @@ typedef struct {
///
UINT64 ExitBootServicesEntry;
///
/// Timer value logged at the point just prior towhen the OS loader gaining
/// Timer value logged at the point just prior to when the OS loader gaining
/// control back from calls the ExitBootServices function for UEFI compatible firmware.
/// For non-UEFI compatible boots, this field must be zero.
///
@ -1412,12 +1413,12 @@ typedef struct {
// Definition for Memory Device to System Physical Address Range Mapping Structure
//
typedef struct {
UINT32 DIMMNumber:4;
UINT32 MemoryChannelNumber:4;
UINT32 MemoryControllerID:4;
UINT32 SocketID:4;
UINT32 NodeControllerID:12;
UINT32 Reserved_28:4;
UINT32 DIMMNumber : 4;
UINT32 MemoryChannelNumber : 4;
UINT32 MemoryControllerID : 4;
UINT32 SocketID : 4;
UINT32 NodeControllerID : 12;
UINT32 Reserved_28 : 4;
} EFI_ACPI_6_0_NFIT_DEVICE_HANDLE;
#define EFI_ACPI_6_0_NFIT_MEMORY_DEVICE_STATE_FLAGS_PREVIOUS_SAVE_FAIL BIT0
@ -1537,12 +1538,12 @@ typedef struct {
/// Boot Error Region Block Status Definition
///
typedef struct {
UINT32 UncorrectableErrorValid:1;
UINT32 CorrectableErrorValid:1;
UINT32 MultipleUncorrectableErrors:1;
UINT32 MultipleCorrectableErrors:1;
UINT32 ErrorDataEntryCount:10;
UINT32 Reserved:18;
UINT32 UncorrectableErrorValid : 1;
UINT32 CorrectableErrorValid : 1;
UINT32 MultipleUncorrectableErrors : 1;
UINT32 MultipleCorrectableErrors : 1;
UINT32 ErrorDataEntryCount : 10;
UINT32 Reserved : 18;
} EFI_ACPI_6_0_ERROR_BLOCK_STATUS;
///
@ -1559,10 +1560,16 @@ typedef struct {
//
// Boot Error Severity types
//
#define EFI_ACPI_6_0_ERROR_SEVERITY_CORRECTABLE 0x00
#define EFI_ACPI_6_0_ERROR_SEVERITY_RECOVERABLE 0x00
#define EFI_ACPI_6_0_ERROR_SEVERITY_FATAL 0x01
#define EFI_ACPI_6_0_ERROR_SEVERITY_CORRECTED 0x02
#define EFI_ACPI_6_0_ERROR_SEVERITY_NONE 0x03
//
// The term 'Correctable' is no longer being used as an error severity of the
// reported error since ACPI Specification Version 5.1 Errata B.
// The below macro is considered as deprecated and should no longer be used.
//
#define EFI_ACPI_6_0_ERROR_SEVERITY_CORRECTABLE 0x00
///
/// Generic Error Data Entry Definition
@ -1668,13 +1675,13 @@ typedef struct {
/// Hardware Error Notification Configuration Write Enable Structure Definition
///
typedef struct {
UINT16 Type:1;
UINT16 PollInterval:1;
UINT16 SwitchToPollingThresholdValue:1;
UINT16 SwitchToPollingThresholdWindow:1;
UINT16 ErrorThresholdValue:1;
UINT16 ErrorThresholdWindow:1;
UINT16 Reserved:10;
UINT16 Type : 1;
UINT16 PollInterval : 1;
UINT16 SwitchToPollingThresholdValue : 1;
UINT16 SwitchToPollingThresholdWindow : 1;
UINT16 ErrorThresholdValue : 1;
UINT16 ErrorThresholdWindow : 1;
UINT16 Reserved : 10;
} EFI_ACPI_6_0_HARDWARE_ERROR_NOTIFICATION_CONFIGURATION_WRITE_ENABLE_STRUCTURE;
///
@ -2049,16 +2056,16 @@ typedef struct {
typedef struct {
UINT8 Command;
UINT8 Reserved:7;
UINT8 GenerateSci:1;
UINT8 Reserved : 7;
UINT8 GenerateSci : 1;
} EFI_ACPI_6_0_PCCT_GENERIC_SHARED_MEMORY_REGION_COMMAND;
typedef struct {
UINT8 CommandComplete:1;
UINT8 SciDoorbell:1;
UINT8 Error:1;
UINT8 PlatformNotification:1;
UINT8 Reserved:4;
UINT8 CommandComplete : 1;
UINT8 SciDoorbell : 1;
UINT8 Error : 1;
UINT8 PlatformNotification : 1;
UINT8 Reserved : 4;
UINT8 Reserved1;
} EFI_ACPI_6_0_PCCT_GENERIC_SHARED_MEMORY_REGION_STATUS;
@ -2321,13 +2328,18 @@ typedef struct {
///
#define EFI_ACPI_6_0_DATA_MANAGEMENT_TABLE_SIGNATURE SIGNATURE_32('M', 'S', 'D', 'M')
///
/// "PCCT" Platform Communications Channel Table
///
#define EFI_ACPI_6_0_PLATFORM_COMMUNICATIONS_CHANNEL_TABLE_SIGNATURE SIGNATURE_32('P', 'C', 'C', 'T')
///
/// "SLIC" MS Software Licensing Table Specification
///
#define EFI_ACPI_6_0_SOFTWARE_LICENSING_TABLE_SIGNATURE SIGNATURE_32('S', 'L', 'I', 'C')
///
/// "SPCR" Serial Port Concole Redirection Table
/// "SPCR" Serial Port Console Redirection Table
///
#define EFI_ACPI_6_0_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE SIGNATURE_32('S', 'P', 'C', 'R')

View File

@ -1,8 +1,9 @@
/** @file
ACPI 6.1 definitions from the ACPI Specification Revision 6.1 January, 2016.
Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2016 - 2022, Intel Corporation. All rights reserved.<BR>
(C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
Copyright (c) 2020, ARM Ltd. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
@ -965,9 +966,9 @@ typedef struct {
///
/// Memory Aggregator Device Type
///
#define EFI_ACPI_6_1_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_SOCKET 0x1
#define EFI_ACPI_6_1_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_MEMORY_CONTROLLER 0x2
#define EFI_ACPI_6_1_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_DIMM 0x3
#define EFI_ACPI_6_1_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_SOCKET 0x0
#define EFI_ACPI_6_1_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_MEMORY_CONTROLLER 0x1
#define EFI_ACPI_6_1_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_DIMM 0x2
///
/// Socket Memory Aggregator Device Structure.
@ -1169,7 +1170,7 @@ typedef struct {
///
UINT64 ExitBootServicesEntry;
///
/// Timer value logged at the point just prior towhen the OS loader gaining
/// Timer value logged at the point just prior to when the OS loader gaining
/// control back from calls the ExitBootServices function for UEFI compatible firmware.
/// For non-UEFI compatible boots, this field must be zero.
///
@ -1412,12 +1413,12 @@ typedef struct {
// Definition for Memory Device to System Physical Address Range Mapping Structure
//
typedef struct {
UINT32 DIMMNumber:4;
UINT32 MemoryChannelNumber:4;
UINT32 MemoryControllerID:4;
UINT32 SocketID:4;
UINT32 NodeControllerID:12;
UINT32 Reserved_28:4;
UINT32 DIMMNumber : 4;
UINT32 MemoryChannelNumber : 4;
UINT32 MemoryControllerID : 4;
UINT32 SocketID : 4;
UINT32 NodeControllerID : 12;
UINT32 Reserved_28 : 4;
} EFI_ACPI_6_1_NFIT_DEVICE_HANDLE;
#define EFI_ACPI_6_1_NFIT_MEMORY_DEVICE_STATE_FLAGS_PREVIOUS_SAVE_FAIL BIT0
@ -1543,12 +1544,12 @@ typedef struct {
/// Boot Error Region Block Status Definition
///
typedef struct {
UINT32 UncorrectableErrorValid:1;
UINT32 CorrectableErrorValid:1;
UINT32 MultipleUncorrectableErrors:1;
UINT32 MultipleCorrectableErrors:1;
UINT32 ErrorDataEntryCount:10;
UINT32 Reserved:18;
UINT32 UncorrectableErrorValid : 1;
UINT32 CorrectableErrorValid : 1;
UINT32 MultipleUncorrectableErrors : 1;
UINT32 MultipleCorrectableErrors : 1;
UINT32 ErrorDataEntryCount : 10;
UINT32 Reserved : 18;
} EFI_ACPI_6_1_ERROR_BLOCK_STATUS;
///
@ -1565,10 +1566,16 @@ typedef struct {
//
// Boot Error Severity types
//
#define EFI_ACPI_6_1_ERROR_SEVERITY_CORRECTABLE 0x00
#define EFI_ACPI_6_1_ERROR_SEVERITY_RECOVERABLE 0x00
#define EFI_ACPI_6_1_ERROR_SEVERITY_FATAL 0x01
#define EFI_ACPI_6_1_ERROR_SEVERITY_CORRECTED 0x02
#define EFI_ACPI_6_1_ERROR_SEVERITY_NONE 0x03
//
// The term 'Correctable' is no longer being used as an error severity of the
// reported error since ACPI Specification Version 5.1 Errata B.
// The below macro is considered as deprecated and should no longer be used.
//
#define EFI_ACPI_6_1_ERROR_SEVERITY_CORRECTABLE 0x00
///
/// Generic Error Data Entry Definition
@ -1679,13 +1686,13 @@ typedef struct {
/// Hardware Error Notification Configuration Write Enable Structure Definition
///
typedef struct {
UINT16 Type:1;
UINT16 PollInterval:1;
UINT16 SwitchToPollingThresholdValue:1;
UINT16 SwitchToPollingThresholdWindow:1;
UINT16 ErrorThresholdValue:1;
UINT16 ErrorThresholdWindow:1;
UINT16 Reserved:10;
UINT16 Type : 1;
UINT16 PollInterval : 1;
UINT16 SwitchToPollingThresholdValue : 1;
UINT16 SwitchToPollingThresholdWindow : 1;
UINT16 ErrorThresholdValue : 1;
UINT16 ErrorThresholdWindow : 1;
UINT16 Reserved : 10;
} EFI_ACPI_6_1_HARDWARE_ERROR_NOTIFICATION_CONFIGURATION_WRITE_ENABLE_STRUCTURE;
///
@ -2081,16 +2088,16 @@ typedef struct {
typedef struct {
UINT8 Command;
UINT8 Reserved:7;
UINT8 GenerateSci:1;
UINT8 Reserved : 7;
UINT8 GenerateSci : 1;
} EFI_ACPI_6_1_PCCT_GENERIC_SHARED_MEMORY_REGION_COMMAND;
typedef struct {
UINT8 CommandComplete:1;
UINT8 SciDoorbell:1;
UINT8 Error:1;
UINT8 PlatformNotification:1;
UINT8 Reserved:4;
UINT8 CommandComplete : 1;
UINT8 SciDoorbell : 1;
UINT8 Error : 1;
UINT8 PlatformNotification : 1;
UINT8 Reserved : 4;
UINT8 Reserved1;
} EFI_ACPI_6_1_PCCT_GENERIC_SHARED_MEMORY_REGION_STATUS;
@ -2353,13 +2360,18 @@ typedef struct {
///
#define EFI_ACPI_6_1_DATA_MANAGEMENT_TABLE_SIGNATURE SIGNATURE_32('M', 'S', 'D', 'M')
///
/// "PCCT" Platform Communications Channel Table
///
#define EFI_ACPI_6_1_PLATFORM_COMMUNICATIONS_CHANNEL_TABLE_SIGNATURE SIGNATURE_32('P', 'C', 'C', 'T')
///
/// "SLIC" MS Software Licensing Table Specification
///
#define EFI_ACPI_6_1_SOFTWARE_LICENSING_TABLE_SIGNATURE SIGNATURE_32('S', 'L', 'I', 'C')
///
/// "SPCR" Serial Port Concole Redirection Table
/// "SPCR" Serial Port Console Redirection Table
///
#define EFI_ACPI_6_1_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE SIGNATURE_32('S', 'P', 'C', 'R')

View File

@ -1,7 +1,8 @@
/** @file
ACPI 6.2 definitions from the ACPI Specification Revision 6.2 May, 2017.
Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2017 - 2022, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2020, ARM Ltd. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
@ -1077,9 +1078,9 @@ typedef struct {
///
/// Memory Aggregator Device Type
///
#define EFI_ACPI_6_2_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_SOCKET 0x1
#define EFI_ACPI_6_2_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_MEMORY_CONTROLLER 0x2
#define EFI_ACPI_6_2_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_DIMM 0x3
#define EFI_ACPI_6_2_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_SOCKET 0x0
#define EFI_ACPI_6_2_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_MEMORY_CONTROLLER 0x1
#define EFI_ACPI_6_2_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_DIMM 0x2
///
/// Socket Memory Aggregator Device Structure.
@ -1281,7 +1282,7 @@ typedef struct {
///
UINT64 ExitBootServicesEntry;
///
/// Timer value logged at the point just prior towhen the OS loader gaining
/// Timer value logged at the point just prior to when the OS loader gaining
/// control back from calls the ExitBootServices function for UEFI compatible firmware.
/// For non-UEFI compatible boots, this field must be zero.
///
@ -1525,12 +1526,12 @@ typedef struct {
// Definition for Memory Device to System Physical Address Range Mapping Structure
//
typedef struct {
UINT32 DIMMNumber:4;
UINT32 MemoryChannelNumber:4;
UINT32 MemoryControllerID:4;
UINT32 SocketID:4;
UINT32 NodeControllerID:12;
UINT32 Reserved_28:4;
UINT32 DIMMNumber : 4;
UINT32 MemoryChannelNumber : 4;
UINT32 MemoryControllerID : 4;
UINT32 SocketID : 4;
UINT32 NodeControllerID : 12;
UINT32 Reserved_28 : 4;
} EFI_ACPI_6_2_NFIT_DEVICE_HANDLE;
#define EFI_ACPI_6_2_NFIT_MEMORY_DEVICE_STATE_FLAGS_PREVIOUS_SAVE_FAIL BIT0
@ -1650,6 +1651,9 @@ typedef struct {
UINT8 Reserved_12[4];
} EFI_ACPI_6_2_NFIT_PLATFORM_CAPABILITIES_STRUCTURE;
#define EFI_ACPI_6_2_NFIT_PLATFORM_CAPABILITY_CPU_CACHE_FLUSH_TO_NVDIMM_DURABILITY_ON_POWER_LOSS BIT0
#define EFI_ACPI_6_2_NFIT_PLATFORM_CAPABILITY_MEMORY_CONTROLLER_FLUSH_TO_NVDIMM_DURABILITY_ON_POWER_LOSS BIT1
#define EFI_ACPI_6_2_NFIT_PLATFORM_CAPABILITY_BYTE_ADDRESSABLE_PERSISTENT_MEMORY_HARDWARE_MIRRORING BIT2
///
/// Secure DEVices Table (SDEV)
@ -1664,13 +1668,13 @@ typedef struct {
#define EFI_ACPI_6_2_SECURE_DEVICES_TABLE_REVISION 0x01
///
/// Secure Devcice types
/// Secure Device types
///
#define EFI_ACPI_6_2_SDEV_TYPE_PCIE_ENDPOINT_DEVICE 0x01
#define EFI_ACPI_6_2_SDEV_TYPE_ACPI_NAMESPACE_DEVICE 0x00
///
/// Secure Devcice flags
/// Secure Device flags
///
#define EFI_ACPI_6_2_SDEV_FLAG_ALLOW_HANDOFF BIT0
@ -1729,12 +1733,12 @@ typedef struct {
/// Boot Error Region Block Status Definition
///
typedef struct {
UINT32 UncorrectableErrorValid:1;
UINT32 CorrectableErrorValid:1;
UINT32 MultipleUncorrectableErrors:1;
UINT32 MultipleCorrectableErrors:1;
UINT32 ErrorDataEntryCount:10;
UINT32 Reserved:18;
UINT32 UncorrectableErrorValid : 1;
UINT32 CorrectableErrorValid : 1;
UINT32 MultipleUncorrectableErrors : 1;
UINT32 MultipleCorrectableErrors : 1;
UINT32 ErrorDataEntryCount : 10;
UINT32 Reserved : 18;
} EFI_ACPI_6_2_ERROR_BLOCK_STATUS;
///
@ -1751,10 +1755,16 @@ typedef struct {
//
// Boot Error Severity types
//
#define EFI_ACPI_6_2_ERROR_SEVERITY_CORRECTABLE 0x00
#define EFI_ACPI_6_2_ERROR_SEVERITY_RECOVERABLE 0x00
#define EFI_ACPI_6_2_ERROR_SEVERITY_FATAL 0x01
#define EFI_ACPI_6_2_ERROR_SEVERITY_CORRECTED 0x02
#define EFI_ACPI_6_2_ERROR_SEVERITY_NONE 0x03
//
// The term 'Correctable' is no longer being used as an error severity of the
// reported error since ACPI Specification Version 5.1 Errata B.
// The below macro is considered as deprecated and should no longer be used.
//
#define EFI_ACPI_6_2_ERROR_SEVERITY_CORRECTABLE 0x00
///
/// Generic Error Data Entry Definition
@ -1868,13 +1878,13 @@ typedef struct {
/// Hardware Error Notification Configuration Write Enable Structure Definition
///
typedef struct {
UINT16 Type:1;
UINT16 PollInterval:1;
UINT16 SwitchToPollingThresholdValue:1;
UINT16 SwitchToPollingThresholdWindow:1;
UINT16 ErrorThresholdValue:1;
UINT16 ErrorThresholdWindow:1;
UINT16 Reserved:10;
UINT16 Type : 1;
UINT16 PollInterval : 1;
UINT16 SwitchToPollingThresholdValue : 1;
UINT16 SwitchToPollingThresholdWindow : 1;
UINT16 ErrorThresholdValue : 1;
UINT16 ErrorThresholdWindow : 1;
UINT16 Reserved : 10;
} EFI_ACPI_6_2_HARDWARE_ERROR_NOTIFICATION_CONFIGURATION_WRITE_ENABLE_STRUCTURE;
///
@ -2087,10 +2097,10 @@ typedef struct {
/// Memory Subsystem Address Range Structure flags
///
typedef struct {
UINT16 ProcessorProximityDomainValid:1;
UINT16 MemoryProximityDomainValid:1;
UINT16 ReservationHint:1;
UINT16 Reserved:13;
UINT16 ProcessorProximityDomainValid : 1;
UINT16 MemoryProximityDomainValid : 1;
UINT16 ReservationHint : 1;
UINT16 Reserved : 13;
} EFI_ACPI_6_2_HMAT_STRUCTURE_MEMORY_SUBSYSTEM_ADDRESS_RANGE_FLAGS;
///
@ -2113,8 +2123,8 @@ typedef struct {
/// System Locality Latency and Bandwidth Information Structure flags
///
typedef struct {
UINT8 MemoryHierarchy:5;
UINT8 Reserved:3;
UINT8 MemoryHierarchy : 5;
UINT8 Reserved : 3;
} EFI_ACPI_6_2_HMAT_STRUCTURE_SYSTEM_LOCALITY_LATENCY_AND_BANDWIDTH_INFO_FLAGS;
///
@ -2137,11 +2147,11 @@ typedef struct {
/// Memory Side Cache Information Structure cache attributes
///
typedef struct {
UINT32 TotalCacheLevels:4;
UINT32 CacheLevel:4;
UINT32 CacheAssociativity:4;
UINT32 WritePolicy:4;
UINT32 CacheLineSize:16;
UINT32 TotalCacheLevels : 4;
UINT32 CacheLevel : 4;
UINT32 CacheAssociativity : 4;
UINT32 WritePolicy : 4;
UINT32 CacheLineSize : 16;
} EFI_ACPI_6_2_HMAT_STRUCTURE_MEMORY_SIDE_CACHE_INFO_CACHE_ATTRIBUTES;
///
@ -2393,16 +2403,16 @@ typedef struct {
typedef struct {
UINT8 Command;
UINT8 Reserved:7;
UINT8 NotifyOnCompletion:1;
UINT8 Reserved : 7;
UINT8 NotifyOnCompletion : 1;
} EFI_ACPI_6_2_PCCT_GENERIC_SHARED_MEMORY_REGION_COMMAND;
typedef struct {
UINT8 CommandComplete:1;
UINT8 PlatformInterrupt:1;
UINT8 Error:1;
UINT8 PlatformNotification:1;
UINT8 Reserved:4;
UINT8 CommandComplete : 1;
UINT8 PlatformInterrupt : 1;
UINT8 Error : 1;
UINT8 PlatformNotification : 1;
UINT8 Reserved : 4;
UINT8 Reserved1;
} EFI_ACPI_6_2_PCCT_GENERIC_SHARED_MEMORY_REGION_STATUS;
@ -2519,10 +2529,10 @@ typedef struct {
/// PDTT Platform Communication Channel Identifier Structure
///
typedef struct {
UINT16 SubChannelIdentifer:8;
UINT16 Runtime:1;
UINT16 WaitForCompletion:1;
UINT16 Reserved:6;
UINT16 SubChannelIdentifer : 8;
UINT16 Runtime : 1;
UINT16 WaitForCompletion : 1;
UINT16 Reserved : 6;
} EFI_ACPI_6_2_PDTT_PCC_IDENTIFIER;
///
@ -2574,9 +2584,9 @@ typedef struct {
/// Processor hierarchy node structure flags
///
typedef struct {
UINT32 PhysicalPackage:1;
UINT32 AcpiProcessorIdValid:1;
UINT32 Reserved:30;
UINT32 PhysicalPackage : 1;
UINT32 AcpiProcessorIdValid : 1;
UINT32 Reserved : 30;
} EFI_ACPI_6_2_PPTT_STRUCTURE_PROCESSOR_FLAGS;
///
@ -2596,14 +2606,14 @@ typedef struct {
/// Cache Type Structure flags
///
typedef struct {
UINT32 SizePropertyValid:1;
UINT32 NumberOfSetsValid:1;
UINT32 AssociativityValid:1;
UINT32 AllocationTypeValid:1;
UINT32 CacheTypeValid:1;
UINT32 WritePolicyValid:1;
UINT32 LineSizeValid:1;
UINT32 Reserved:25;
UINT32 SizePropertyValid : 1;
UINT32 NumberOfSetsValid : 1;
UINT32 AssociativityValid : 1;
UINT32 AllocationTypeValid : 1;
UINT32 CacheTypeValid : 1;
UINT32 WritePolicyValid : 1;
UINT32 LineSizeValid : 1;
UINT32 Reserved : 25;
} EFI_ACPI_6_2_PPTT_STRUCTURE_CACHE_FLAGS;
///
@ -2622,10 +2632,10 @@ typedef struct {
/// Cache Type Structure cache attributes
///
typedef struct {
UINT8 AllocationType:2;
UINT8 CacheType:2;
UINT8 WritePolicy:1;
UINT8 Reserved:3;
UINT8 AllocationType : 2;
UINT8 CacheType : 2;
UINT8 WritePolicy : 1;
UINT8 Reserved : 3;
} EFI_ACPI_6_2_PPTT_STRUCTURE_CACHE_ATTRIBUTES;
///
@ -2909,7 +2919,7 @@ typedef struct {
#define EFI_ACPI_6_2_SOFTWARE_LICENSING_TABLE_SIGNATURE SIGNATURE_32('S', 'L', 'I', 'C')
///
/// "SPCR" Serial Port Concole Redirection Table
/// "SPCR" Serial Port Console Redirection Table
///
#define EFI_ACPI_6_2_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE SIGNATURE_32('S', 'P', 'C', 'R')

View File

@ -1,8 +1,8 @@
/** @file
ACPI 6.3 definitions from the ACPI Specification Revision 6.3 Jan, 2019.
Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2019, ARM Ltd. All rights reserved.<BR>
Copyright (c) 2017 - 2022, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2019 - 2020, ARM Ltd. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
@ -1040,9 +1040,9 @@ typedef struct {
///
/// Memory Aggregator Device Type
///
#define EFI_ACPI_6_3_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_SOCKET 0x1
#define EFI_ACPI_6_3_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_MEMORY_CONTROLLER 0x2
#define EFI_ACPI_6_3_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_DIMM 0x3
#define EFI_ACPI_6_3_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_SOCKET 0x0
#define EFI_ACPI_6_3_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_MEMORY_CONTROLLER 0x1
#define EFI_ACPI_6_3_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_DIMM 0x2
///
/// Socket Memory Aggregator Device Structure.
@ -1490,12 +1490,12 @@ typedef struct {
// Definition for Memory Device to System Physical Address Range Mapping Structure
//
typedef struct {
UINT32 DIMMNumber:4;
UINT32 MemoryChannelNumber:4;
UINT32 MemoryControllerID:4;
UINT32 SocketID:4;
UINT32 NodeControllerID:12;
UINT32 Reserved_28:4;
UINT32 DIMMNumber : 4;
UINT32 MemoryChannelNumber : 4;
UINT32 MemoryControllerID : 4;
UINT32 SocketID : 4;
UINT32 NodeControllerID : 12;
UINT32 Reserved_28 : 4;
} EFI_ACPI_6_3_NFIT_DEVICE_HANDLE;
#define EFI_ACPI_6_3_NFIT_MEMORY_DEVICE_STATE_FLAGS_PREVIOUS_SAVE_FAIL BIT0
@ -1615,6 +1615,10 @@ typedef struct {
UINT8 Reserved_12[4];
} EFI_ACPI_6_3_NFIT_PLATFORM_CAPABILITIES_STRUCTURE;
#define EFI_ACPI_6_3_NFIT_PLATFORM_CAPABILITY_CPU_CACHE_FLUSH_TO_NVDIMM_DURABILITY_ON_POWER_LOSS BIT0
#define EFI_ACPI_6_3_NFIT_PLATFORM_CAPABILITY_MEMORY_CONTROLLER_FLUSH_TO_NVDIMM_DURABILITY_ON_POWER_LOSS BIT1
#define EFI_ACPI_6_3_NFIT_PLATFORM_CAPABILITY_BYTE_ADDRESSABLE_PERSISTENT_MEMORY_HARDWARE_MIRRORING BIT2
///
/// Secure DEVices Table (SDEV)
///
@ -1693,12 +1697,12 @@ typedef struct {
/// Boot Error Region Block Status Definition
///
typedef struct {
UINT32 UncorrectableErrorValid:1;
UINT32 CorrectableErrorValid:1;
UINT32 MultipleUncorrectableErrors:1;
UINT32 MultipleCorrectableErrors:1;
UINT32 ErrorDataEntryCount:10;
UINT32 Reserved:18;
UINT32 UncorrectableErrorValid : 1;
UINT32 CorrectableErrorValid : 1;
UINT32 MultipleUncorrectableErrors : 1;
UINT32 MultipleCorrectableErrors : 1;
UINT32 ErrorDataEntryCount : 10;
UINT32 Reserved : 18;
} EFI_ACPI_6_3_ERROR_BLOCK_STATUS;
///
@ -1715,10 +1719,16 @@ typedef struct {
//
// Boot Error Severity types
//
#define EFI_ACPI_6_3_ERROR_SEVERITY_CORRECTABLE 0x00
#define EFI_ACPI_6_3_ERROR_SEVERITY_RECOVERABLE 0x00
#define EFI_ACPI_6_3_ERROR_SEVERITY_FATAL 0x01
#define EFI_ACPI_6_3_ERROR_SEVERITY_CORRECTED 0x02
#define EFI_ACPI_6_3_ERROR_SEVERITY_NONE 0x03
//
// The term 'Correctable' is no longer being used as an error severity of the
// reported error since ACPI Specification Version 5.1 Errata B.
// The below macro is considered as deprecated and should no longer be used.
//
#define EFI_ACPI_6_3_ERROR_SEVERITY_CORRECTABLE 0x00
///
/// Generic Error Data Entry Definition
@ -1832,13 +1842,13 @@ typedef struct {
/// Hardware Error Notification Configuration Write Enable Structure Definition
///
typedef struct {
UINT16 Type:1;
UINT16 PollInterval:1;
UINT16 SwitchToPollingThresholdValue:1;
UINT16 SwitchToPollingThresholdWindow:1;
UINT16 ErrorThresholdValue:1;
UINT16 ErrorThresholdWindow:1;
UINT16 Reserved:10;
UINT16 Type : 1;
UINT16 PollInterval : 1;
UINT16 SwitchToPollingThresholdValue : 1;
UINT16 SwitchToPollingThresholdWindow : 1;
UINT16 ErrorThresholdValue : 1;
UINT16 ErrorThresholdWindow : 1;
UINT16 Reserved : 10;
} EFI_ACPI_6_3_HARDWARE_ERROR_NOTIFICATION_CONFIGURATION_WRITE_ENABLE_STRUCTURE;
///
@ -2051,8 +2061,8 @@ typedef struct {
/// Memory Proximity Domain Attributes Structure flags
///
typedef struct {
UINT16 InitiatorProximityDomainValid:1;
UINT16 Reserved:15;
UINT16 InitiatorProximityDomainValid : 1;
UINT16 Reserved : 15;
} EFI_ACPI_6_3_HMAT_STRUCTURE_MEMORY_PROXIMITY_DOMAIN_ATTRIBUTES_FLAGS;
///
@ -2073,8 +2083,8 @@ typedef struct {
/// System Locality Latency and Bandwidth Information Structure flags
///
typedef struct {
UINT8 MemoryHierarchy:4;
UINT8 Reserved:4;
UINT8 MemoryHierarchy : 4;
UINT8 Reserved : 4;
} EFI_ACPI_6_3_HMAT_STRUCTURE_SYSTEM_LOCALITY_LATENCY_AND_BANDWIDTH_INFO_FLAGS;
///
@ -2097,11 +2107,11 @@ typedef struct {
/// Memory Side Cache Information Structure cache attributes
///
typedef struct {
UINT32 TotalCacheLevels:4;
UINT32 CacheLevel:4;
UINT32 CacheAssociativity:4;
UINT32 WritePolicy:4;
UINT32 CacheLineSize:16;
UINT32 TotalCacheLevels : 4;
UINT32 CacheLevel : 4;
UINT32 CacheAssociativity : 4;
UINT32 WritePolicy : 4;
UINT32 CacheLineSize : 16;
} EFI_ACPI_6_3_HMAT_STRUCTURE_MEMORY_SIDE_CACHE_INFO_CACHE_ATTRIBUTES;
///
@ -2353,16 +2363,16 @@ typedef struct {
typedef struct {
UINT8 Command;
UINT8 Reserved:7;
UINT8 NotifyOnCompletion:1;
UINT8 Reserved : 7;
UINT8 NotifyOnCompletion : 1;
} EFI_ACPI_6_3_PCCT_GENERIC_SHARED_MEMORY_REGION_COMMAND;
typedef struct {
UINT8 CommandComplete:1;
UINT8 PlatformInterrupt:1;
UINT8 Error:1;
UINT8 PlatformNotification:1;
UINT8 Reserved:4;
UINT8 CommandComplete : 1;
UINT8 PlatformInterrupt : 1;
UINT8 Error : 1;
UINT8 PlatformNotification : 1;
UINT8 Reserved : 4;
UINT8 Reserved1;
} EFI_ACPI_6_3_PCCT_GENERIC_SHARED_MEMORY_REGION_STATUS;
@ -2479,11 +2489,11 @@ typedef struct {
/// PDTT Platform Communication Channel Identifier Structure
///
typedef struct {
UINT16 SubChannelIdentifer:8;
UINT16 Runtime:1;
UINT16 WaitForCompletion:1;
UINT16 TriggerOrder:1;
UINT16 Reserved:5;
UINT16 SubChannelIdentifer : 8;
UINT16 Runtime : 1;
UINT16 WaitForCompletion : 1;
UINT16 TriggerOrder : 1;
UINT16 Reserved : 5;
} EFI_ACPI_6_3_PDTT_PCC_IDENTIFIER;
///
@ -2543,12 +2553,12 @@ typedef struct {
/// Processor hierarchy node structure flags
///
typedef struct {
UINT32 PhysicalPackage:1;
UINT32 AcpiProcessorIdValid:1;
UINT32 ProcessorIsAThread:1;
UINT32 NodeIsALeaf:1;
UINT32 IdenticalImplementation:1;
UINT32 Reserved:27;
UINT32 PhysicalPackage : 1;
UINT32 AcpiProcessorIdValid : 1;
UINT32 ProcessorIsAThread : 1;
UINT32 NodeIsALeaf : 1;
UINT32 IdenticalImplementation : 1;
UINT32 Reserved : 27;
} EFI_ACPI_6_3_PPTT_STRUCTURE_PROCESSOR_FLAGS;
///
@ -2586,14 +2596,14 @@ typedef struct {
/// Cache Type Structure flags
///
typedef struct {
UINT32 SizePropertyValid:1;
UINT32 NumberOfSetsValid:1;
UINT32 AssociativityValid:1;
UINT32 AllocationTypeValid:1;
UINT32 CacheTypeValid:1;
UINT32 WritePolicyValid:1;
UINT32 LineSizeValid:1;
UINT32 Reserved:25;
UINT32 SizePropertyValid : 1;
UINT32 NumberOfSetsValid : 1;
UINT32 AssociativityValid : 1;
UINT32 AllocationTypeValid : 1;
UINT32 CacheTypeValid : 1;
UINT32 WritePolicyValid : 1;
UINT32 LineSizeValid : 1;
UINT32 Reserved : 25;
} EFI_ACPI_6_3_PPTT_STRUCTURE_CACHE_FLAGS;
///
@ -2612,10 +2622,10 @@ typedef struct {
/// Cache Type Structure cache attributes
///
typedef struct {
UINT8 AllocationType:2;
UINT8 CacheType:2;
UINT8 WritePolicy:1;
UINT8 Reserved:3;
UINT8 AllocationType : 2;
UINT8 CacheType : 2;
UINT8 WritePolicy : 1;
UINT8 Reserved : 3;
} EFI_ACPI_6_3_PPTT_STRUCTURE_CACHE_ATTRIBUTES;
///
@ -2893,6 +2903,11 @@ typedef struct {
///
#define EFI_ACPI_6_3_DATA_MANAGEMENT_TABLE_SIGNATURE SIGNATURE_32('M', 'S', 'D', 'M')
///
/// "PCCT" Platform Communications Channel Table
///
#define EFI_ACPI_6_3_PLATFORM_COMMUNICATIONS_CHANNEL_TABLE_SIGNATURE SIGNATURE_32('P', 'C', 'C', 'T')
///
/// "SDEI" Software Delegated Exceptions Interface Table
///

View File

@ -1,7 +1,7 @@
/** @file
ACPI 6.4 definitions from the ACPI Specification Revision 6.4 Jan, 2021.
Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2017 - 2022, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2019 - 2021, ARM Ltd. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
@ -1664,6 +1664,10 @@ typedef struct {
UINT8 Reserved_12[4];
} EFI_ACPI_6_4_NFIT_PLATFORM_CAPABILITIES_STRUCTURE;
#define EFI_ACPI_6_4_NFIT_PLATFORM_CAPABILITY_CPU_CACHE_FLUSH_TO_NVDIMM_DURABILITY_ON_POWER_LOSS BIT0
#define EFI_ACPI_6_4_NFIT_PLATFORM_CAPABILITY_MEMORY_CONTROLLER_FLUSH_TO_NVDIMM_DURABILITY_ON_POWER_LOSS BIT1
#define EFI_ACPI_6_4_NFIT_PLATFORM_CAPABILITY_BYTE_ADDRESSABLE_PERSISTENT_MEMORY_HARDWARE_MIRRORING BIT2
///
/// Secure DEVices Table (SDEV)
///
@ -1796,10 +1800,16 @@ typedef struct {
//
// Boot Error Severity types
//
#define EFI_ACPI_6_4_ERROR_SEVERITY_CORRECTABLE 0x00
#define EFI_ACPI_6_4_ERROR_SEVERITY_RECOVERABLE 0x00
#define EFI_ACPI_6_4_ERROR_SEVERITY_FATAL 0x01
#define EFI_ACPI_6_4_ERROR_SEVERITY_CORRECTED 0x02
#define EFI_ACPI_6_4_ERROR_SEVERITY_NONE 0x03
//
// The term 'Correctable' is no longer being used as an error severity of the
// reported error since ACPI Specification Version 5.1 Errata B.
// The below macro is considered as deprecated and should no longer be used.
//
#define EFI_ACPI_6_4_ERROR_SEVERITY_CORRECTABLE 0x00
///
/// Generic Error Data Entry Definition

View File

@ -2,8 +2,12 @@
Provides string functions, linked list functions, math functions, synchronization
functions, file path functions, and CPU architecture-specific functions.
Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2006 - 2021, Intel Corporation. All rights reserved.<BR>
Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
Copyright (c) Microsoft Corporation.<BR>
Portions Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR>
Portions Copyright (c) 2022, Loongson Technology Corporation Limited. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
@ -124,6 +128,53 @@ typedef struct {
#endif // defined (MDE_CPU_AARCH64)
#if defined (MDE_CPU_RISCV64)
///
/// The RISC-V architecture context buffer used by SetJump() and LongJump().
///
typedef struct {
UINT64 RA;
UINT64 S0;
UINT64 S1;
UINT64 S2;
UINT64 S3;
UINT64 S4;
UINT64 S5;
UINT64 S6;
UINT64 S7;
UINT64 S8;
UINT64 S9;
UINT64 S10;
UINT64 S11;
UINT64 SP;
} BASE_LIBRARY_JUMP_BUFFER;
#define BASE_LIBRARY_JUMP_BUFFER_ALIGNMENT 8
#endif // defined (MDE_CPU_RISCV64)
#if defined (MDE_CPU_LOONGARCH64)
///
/// The LoongArch architecture context buffer used by SetJump() and LongJump()
///
typedef struct {
UINT64 S0;
UINT64 S1;
UINT64 S2;
UINT64 S3;
UINT64 S4;
UINT64 S5;
UINT64 S6;
UINT64 S7;
UINT64 S8;
UINT64 SP;
UINT64 FP;
UINT64 RA;
} BASE_LIBRARY_JUMP_BUFFER;
#define BASE_LIBRARY_JUMP_BUFFER_ALIGNMENT 8
#endif // defined (MDE_CPU_LOONGARCH64)
//
// String Services