diff options
author | Chris Jones <christopher.jones@arm.com> | 2021-07-21 11:28:32 +0100 |
---|---|---|
committer | mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> | 2021-08-11 01:53:28 +0000 |
commit | 0938f9235cd105f4aae28c501b708d475638aa2a (patch) | |
tree | 7497ddd737efc2cd0ed220b849b32086e4ba02a2 /MdePkg/Include | |
parent | 7b17bcd9a0d113eebca9314b286595f042871e31 (diff) | |
download | edk2-0938f9235cd105f4aae28c501b708d475638aa2a.tar.gz edk2-0938f9235cd105f4aae28c501b708d475638aa2a.tar.bz2 edk2-0938f9235cd105f4aae28c501b708d475638aa2a.zip |
MdePkg: Add Multiprocessor Wakeup structure
Bugzilla: 3516 (https://bugzilla.tianocore.org/show_bug.cgi?id=3516)
Make changes to ACPI 6.4 header according to the latest specification:
- ACPI 6.4 January 2021, Table 5.21, Section 5.2.12.19
- Mantis ID 2087 (https://mantis.uefi.org/mantis/view.php?id=2087)
Signed-off-by: Chris Jones <christopher.jones@arm.com>
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
Diffstat (limited to 'MdePkg/Include')
-rw-r--r-- | MdePkg/Include/IndustryStandard/Acpi64.h | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/MdePkg/Include/IndustryStandard/Acpi64.h b/MdePkg/Include/IndustryStandard/Acpi64.h index 995426ae81..5864870e2b 100644 --- a/MdePkg/Include/IndustryStandard/Acpi64.h +++ b/MdePkg/Include/IndustryStandard/Acpi64.h @@ -302,7 +302,7 @@ typedef struct { //
// Multiple APIC Description Table APIC structure types
-// All other values between 0x0D and 0x7F are reserved and
+// All other values between 0x10 and 0x7F are reserved and
// will be ignored by OSPM. 0x80 ~ 0xFF are reserved for OEM.
//
#define EFI_ACPI_6_4_PROCESSOR_LOCAL_APIC 0x00
@@ -321,6 +321,7 @@ typedef struct { #define EFI_ACPI_6_4_GIC_MSI_FRAME 0x0D
#define EFI_ACPI_6_4_GICR 0x0E
#define EFI_ACPI_6_4_GIC_ITS 0x0F
+#define EFI_ACPI_6_4_MULTIPROCESSOR_WAKEUP 0x10
//
// APIC Structure Definitions
@@ -590,6 +591,32 @@ typedef struct { } EFI_ACPI_6_4_GIC_ITS_STRUCTURE;
///
+/// Multiprocessor Wakeup Structure
+///
+typedef struct {
+ UINT8 Type;
+ UINT8 Length;
+ UINT16 MailBoxVersion;
+ UINT32 Reserved;
+ UINT64 MailBoxAddress;
+} EFI_ACPI_6_4_MULTIPROCESSOR_WAKEUP_STRUCTURE;
+
+///
+/// Multiprocessor Wakeup Mailbox Structure
+///
+typedef struct {
+ UINT16 Command;
+ UINT16 Reserved;
+ UINT32 AcpiId;
+ UINT64 WakeupVector;
+ UINT8 ReservedForOs[2032];
+ UINT8 ReservedForFirmware[2048];
+} EFI_ACPI_6_4_MULTIPROCESSOR_WAKEUP_MAILBOX_STRUCTURE;
+
+#define EFI_ACPI_6_4_MULTIPROCESSOR_WAKEUP_MAILBOX_COMMAND_NOOP 0x0000
+#define EFI_ACPI_6_4_MULTIPROCESSOR_WAKEUP_MAILBOX_COMMAND_WAKEUP 0x0001
+
+///
/// Smart Battery Description Table (SBST)
///
typedef struct {
|