[RFC PATCH v2 8/9] x86: AMD changes for EFI stub DRTM launch support
From: Sergii Dmytruk
Date: Wed Apr 30 2025 - 21:11:57 EST
From: Ross Philipson <ross.philipson@xxxxxxxxxx>
* Only do the TXT setup steps if this is a TXT launch not an SKINIT one.
* Initialize boot params address for SKINIT.
Signed-off-by: Ross Philipson <ross.philipson@xxxxxxxxxx>
Signed-off-by: Sergii Dmytruk <sergii.dmytruk@xxxxxxxxx>
---
drivers/firmware/efi/libstub/x86-stub.c | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/drivers/firmware/efi/libstub/x86-stub.c b/drivers/firmware/efi/libstub/x86-stub.c
index bfa36466a79c..0453be1ba58d 100644
--- a/drivers/firmware/efi/libstub/x86-stub.c
+++ b/drivers/firmware/efi/libstub/x86-stub.c
@@ -798,15 +798,21 @@ static bool efi_secure_launch_update_boot_params(struct slr_table *slrt,
struct boot_params *boot_params)
{
struct slr_entry_intel_info *txt_info;
+ struct slr_entry_amd_info *skinit_info;
struct slr_entry_policy *policy;
bool updated = false;
int i;
txt_info = slr_next_entry_by_tag(slrt, NULL, SLR_ENTRY_INTEL_INFO);
- if (!txt_info)
- return false;
+ if (txt_info)
+ txt_info->boot_params_addr = (u64)boot_params;
+
+ skinit_info = slr_next_entry_by_tag(slrt, NULL, SLR_ENTRY_AMD_INFO);
+ if (skinit_info)
+ skinit_info->boot_params_addr = (u64)boot_params;
- txt_info->boot_params_addr = (u64)boot_params;
+ if (!txt_info && !skinit_info)
+ return false;
policy = slr_next_entry_by_tag(slrt, NULL, SLR_ENTRY_ENTRY_POLICY);
if (!policy)
--
2.49.0