]> git.proxmox.com Git - mirror_edk2.git/commitdiff
MdePkg: Add Multiprocessor Wakeup structure
authorChris Jones <christopher.jones@arm.com>
Wed, 21 Jul 2021 10:28:32 +0000 (11:28 +0100)
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Wed, 11 Aug 2021 01:53:28 +0000 (01:53 +0000)
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>
MdePkg/Include/IndustryStandard/Acpi64.h

index 995426ae817561819e4de09553570c2735a5b268..5864870e2ba60eca0e8b04b7b2ab1217895b4994 100644 (file)
@@ -302,7 +302,7 @@ typedef struct {
 \r
 //\r
 // Multiple APIC Description Table APIC structure types\r
-// All other values between 0x0D and 0x7F are reserved and\r
+// All other values between 0x10 and 0x7F are reserved and\r
 // will be ignored by OSPM. 0x80 ~ 0xFF are reserved for OEM.\r
 //\r
 #define EFI_ACPI_6_4_PROCESSOR_LOCAL_APIC           0x00\r
@@ -321,6 +321,7 @@ typedef struct {
 #define EFI_ACPI_6_4_GIC_MSI_FRAME                  0x0D\r
 #define EFI_ACPI_6_4_GICR                           0x0E\r
 #define EFI_ACPI_6_4_GIC_ITS                        0x0F\r
+#define EFI_ACPI_6_4_MULTIPROCESSOR_WAKEUP          0x10\r
 \r
 //\r
 // APIC Structure Definitions\r
@@ -589,6 +590,32 @@ typedef struct {
   UINT32  Reserved2;\r
 } EFI_ACPI_6_4_GIC_ITS_STRUCTURE;\r
 \r
+///\r
+/// Multiprocessor Wakeup Structure\r
+///\r
+typedef struct {\r
+  UINT8   Type;\r
+  UINT8   Length;\r
+  UINT16  MailBoxVersion;\r
+  UINT32  Reserved;\r
+  UINT64  MailBoxAddress;\r
+} EFI_ACPI_6_4_MULTIPROCESSOR_WAKEUP_STRUCTURE;\r
+\r
+///\r
+/// Multiprocessor Wakeup Mailbox Structure\r
+///\r
+typedef struct {\r
+  UINT16  Command;\r
+  UINT16  Reserved;\r
+  UINT32  AcpiId;\r
+  UINT64  WakeupVector;\r
+  UINT8   ReservedForOs[2032];\r
+  UINT8   ReservedForFirmware[2048];\r
+} EFI_ACPI_6_4_MULTIPROCESSOR_WAKEUP_MAILBOX_STRUCTURE;\r
+\r
+#define EFI_ACPI_6_4_MULTIPROCESSOR_WAKEUP_MAILBOX_COMMAND_NOOP     0x0000\r
+#define EFI_ACPI_6_4_MULTIPROCESSOR_WAKEUP_MAILBOX_COMMAND_WAKEUP   0x0001\r
+\r
 ///\r
 /// Smart Battery Description Table (SBST)\r
 ///\r