Skip to content

Commit f5325cb

Browse files
jepiorafaeljw
authored andcommitted
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: acpica/acpica@6771f8b7 Signed-off-by: Bob Moore <[email protected]> Signed-off-by: Rafael J. Wysocki <[email protected]>
1 parent a47a0c2 commit f5325cb

File tree

1 file changed

+46
-0
lines changed

1 file changed

+46
-0
lines changed

include/acpi/actbl1.h

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
*/
2727
#define ACPI_SIG_AEST "AEST" /* Arm Error Source Table */
2828
#define ACPI_SIG_ASF "ASF!" /* Alert Standard Format table */
29+
#define ACPI_SIG_ASPT "ASPT" /* AMD Secure Processor Table */
2930
#define ACPI_SIG_BERT "BERT" /* Boot Error Record Table */
3031
#define ACPI_SIG_BGRT "BGRT" /* Boot Graphics Resource Table */
3132
#define ACPI_SIG_BOOT "BOOT" /* Simple Boot Flag Table */
@@ -109,6 +110,51 @@ struct acpi_whea_header {
109110
u64 mask; /* Bitmask required for this register instruction */
110111
};
111112

113+
/* https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/acpitabl/ns-acpitabl-aspt_table */
114+
#define ASPT_REVISION_ID 0x01
115+
struct acpi_table_aspt {
116+
struct acpi_table_header header;
117+
u32 num_entries;
118+
};
119+
120+
struct acpi_aspt_header {
121+
u16 type;
122+
u16 length;
123+
};
124+
125+
enum acpi_aspt_type {
126+
ACPI_ASPT_TYPE_GLOBAL_REGS = 0,
127+
ACPI_ASPT_TYPE_SEV_MBOX_REGS = 1,
128+
ACPI_ASPT_TYPE_ACPI_MBOX_REGS = 2,
129+
};
130+
131+
/* 0: ASPT Global Registers */
132+
struct acpi_aspt_global_regs {
133+
struct acpi_aspt_header header;
134+
u32 reserved;
135+
u64 feature_reg_addr;
136+
u64 irq_en_reg_addr;
137+
u64 irq_st_reg_addr;
138+
};
139+
140+
/* 1: ASPT SEV Mailbox Registers */
141+
struct acpi_aspt_sev_mbox_regs {
142+
struct acpi_aspt_header header;
143+
u8 mbox_irq_id;
144+
u8 reserved[3];
145+
u64 cmd_resp_reg_addr;
146+
u64 cmd_buf_lo_reg_addr;
147+
u64 cmd_buf_hi_reg_addr;
148+
};
149+
150+
/* 2: ASPT ACPI Mailbox Registers */
151+
struct acpi_aspt_acpi_mbox_regs {
152+
struct acpi_aspt_header header;
153+
u32 reserved1;
154+
u64 cmd_resp_reg_addr;
155+
u64 reserved2[2];
156+
};
157+
112158
/*******************************************************************************
113159
*
114160
* ASF - Alert Standard Format table (Signature "ASF!")

0 commit comments

Comments
 (0)