On Mon, Jan 23, 2023 at 08:56:32PM +0100, Rafael J. Wysocki wrote: > On Mon, Jan 23, 2023 at 4:23 PM Jeremi Piotrowski > <jpiotrowski@xxxxxxxxxxxxxxxxxxx> wrote: > > > > The AMD Secure Processor ACPI Table provides the memory location of the > > register window and register offsets necessary to communicate with AMD's > > PSP (Platform Security Processor). This table is exposed on Hyper-V VMs > > configured with support for AMD's SNP isolation technology. > > > > Signed-off-by: Jeremi Piotrowski <jpiotrowski@xxxxxxxxxxxxxxxxxxx> > > This modifies the ACPICA code, so it should at least be submitted as a > pull request to the upstream ACPICA project on GitHub. > > Thanks! Hi Rafael, Sorry, missed that part of the documentation. Here's the PR: https://github.com/acpica/acpica/pull/829 Thanks, Jeremi > > > --- > > include/acpi/actbl1.h | 46 +++++++++++++++++++++++++++++++++++++++++++ > > 1 file changed, 46 insertions(+) > > > > diff --git a/include/acpi/actbl1.h b/include/acpi/actbl1.h > > index 15c78678c5d3..00d40373df37 100644 > > --- a/include/acpi/actbl1.h > > +++ b/include/acpi/actbl1.h > > @@ -26,6 +26,7 @@ > > */ > > #define ACPI_SIG_AEST "AEST" /* Arm Error Source 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_BGRT "BGRT" /* Boot Graphics Resource Table */ > > #define ACPI_SIG_BOOT "BOOT" /* Simple Boot Flag Table */ > > @@ -106,6 +107,51 @@ struct acpi_whea_header { > > 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!") > > -- > > 2.25.1 > >