mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 20:51:03 +02:00
ACPICA: Add support for ASPT table in disassembler
ACPICA commit 6771f8b758299bd383bab145d5fd36ec229b2d70 ASPT is the AMD Secure Processor table, found in Hyper-V VMs when SNP isolation is exposed to the VM and in some high-end AMD servers. This commit adds support for rev 1 of the ASPT spec in the disassembler. Link: https://github.com/acpica/acpica/commit/6771f8b7 Signed-off-by: Bob Moore <robert.moore@intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
committed by
Rafael J. Wysocki
parent
a47a0c2a1f
commit
f5325cb104
@@ -26,6 +26,7 @@
|
|||||||
*/
|
*/
|
||||||
#define ACPI_SIG_AEST "AEST" /* Arm Error Source Table */
|
#define ACPI_SIG_AEST "AEST" /* Arm Error Source Table */
|
||||||
#define ACPI_SIG_ASF "ASF!" /* Alert Standard Format table */
|
#define ACPI_SIG_ASF "ASF!" /* Alert Standard Format table */
|
||||||
|
#define ACPI_SIG_ASPT "ASPT" /* AMD Secure Processor Table */
|
||||||
#define ACPI_SIG_BERT "BERT" /* Boot Error Record Table */
|
#define ACPI_SIG_BERT "BERT" /* Boot Error Record Table */
|
||||||
#define ACPI_SIG_BGRT "BGRT" /* Boot Graphics Resource Table */
|
#define ACPI_SIG_BGRT "BGRT" /* Boot Graphics Resource Table */
|
||||||
#define ACPI_SIG_BOOT "BOOT" /* Simple Boot Flag Table */
|
#define ACPI_SIG_BOOT "BOOT" /* Simple Boot Flag Table */
|
||||||
@@ -109,6 +110,51 @@ struct acpi_whea_header {
|
|||||||
u64 mask; /* Bitmask required for this register instruction */
|
u64 mask; /* Bitmask required for this register instruction */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/acpitabl/ns-acpitabl-aspt_table */
|
||||||
|
#define ASPT_REVISION_ID 0x01
|
||||||
|
struct acpi_table_aspt {
|
||||||
|
struct acpi_table_header header;
|
||||||
|
u32 num_entries;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct acpi_aspt_header {
|
||||||
|
u16 type;
|
||||||
|
u16 length;
|
||||||
|
};
|
||||||
|
|
||||||
|
enum acpi_aspt_type {
|
||||||
|
ACPI_ASPT_TYPE_GLOBAL_REGS = 0,
|
||||||
|
ACPI_ASPT_TYPE_SEV_MBOX_REGS = 1,
|
||||||
|
ACPI_ASPT_TYPE_ACPI_MBOX_REGS = 2,
|
||||||
|
};
|
||||||
|
|
||||||
|
/* 0: ASPT Global Registers */
|
||||||
|
struct acpi_aspt_global_regs {
|
||||||
|
struct acpi_aspt_header header;
|
||||||
|
u32 reserved;
|
||||||
|
u64 feature_reg_addr;
|
||||||
|
u64 irq_en_reg_addr;
|
||||||
|
u64 irq_st_reg_addr;
|
||||||
|
};
|
||||||
|
|
||||||
|
/* 1: ASPT SEV Mailbox Registers */
|
||||||
|
struct acpi_aspt_sev_mbox_regs {
|
||||||
|
struct acpi_aspt_header header;
|
||||||
|
u8 mbox_irq_id;
|
||||||
|
u8 reserved[3];
|
||||||
|
u64 cmd_resp_reg_addr;
|
||||||
|
u64 cmd_buf_lo_reg_addr;
|
||||||
|
u64 cmd_buf_hi_reg_addr;
|
||||||
|
};
|
||||||
|
|
||||||
|
/* 2: ASPT ACPI Mailbox Registers */
|
||||||
|
struct acpi_aspt_acpi_mbox_regs {
|
||||||
|
struct acpi_aspt_header header;
|
||||||
|
u32 reserved1;
|
||||||
|
u64 cmd_resp_reg_addr;
|
||||||
|
u64 reserved2[2];
|
||||||
|
};
|
||||||
|
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
*
|
*
|
||||||
* ASF - Alert Standard Format table (Signature "ASF!")
|
* ASF - Alert Standard Format table (Signature "ASF!")
|
||||||
|
Reference in New Issue
Block a user