From 3cfcffe49c720bd5152d3a26ec744adbc4f12477 Mon Sep 17 00:00:00 2001 From: Arthur Heymans Date: Fri, 2 Feb 2024 17:37:42 +0100 Subject: cpu/x86/(sipi|smm): Pass on CR3 from ramstage MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit To allow for more flexibility like generating page tables at runtime or page tables that are part of the ramstage, add a parameter to sipi_vector.S and smm_stub.S so that APs use the same page tables as the BSP during their initialization. Signed-off-by: Arthur Heymans Change-Id: I1250ea6f63c65228178ee66e06d988dadfcc2a37 Reviewed-on: https://review.coreboot.org/c/coreboot/+/80335 Reviewed-by: Patrick Rudolph Tested-by: build bot (Jenkins) Reviewed-by: Jérémy Compostella --- src/include/cpu/x86/smm.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/include/cpu/x86') diff --git a/src/include/cpu/x86/smm.h b/src/include/cpu/x86/smm.h index beb88faeab..a12065b90b 100644 --- a/src/include/cpu/x86/smm.h +++ b/src/include/cpu/x86/smm.h @@ -109,6 +109,7 @@ struct smm_stub_params { u32 stack_size; u32 stack_top; u32 c_handler; + u32 cr3; /* The apic_id_to_cpu provides a mapping from APIC id to CPU number. * The CPU number is indicated by the index into the array by matching * the default APIC id and value at the index. The stub loader @@ -165,6 +166,7 @@ struct smm_loader_params { size_t num_concurrent_save_states; smm_handler_t handler; + uint32_t cr3; }; /* All of these return 0 on success, < 0 on failure. */ -- cgit v1.2.3