From cd3f8ad235b9fbcb21950004f9f31b019e43c08a Mon Sep 17 00:00:00 2001 From: Aaron Durbin Date: Mon, 21 Oct 2013 22:24:40 -0500 Subject: x86: Add SMM helper functions to MP infrastructure In order for the cpu code to start SMM relocation 2 new functions are added to be shared: - void smm_initiate_relocation_parallel() - void smm_initiate_relocation() The both initiate an SMI on the currently running cpu. The 2 variants allow for parallel relocation or serialized relocation. BUG=chrome-os-partner:22862 BRANCH=None TEST=Built and booted rambi using these functions. Change-Id: I325777bac27e9a0efc3f54f7223c38310604c5a2 Signed-off-by: Aaron Durbin Reviewed-on: https://chromium-review.googlesource.com/173982 Reviewed-on: http://review.coreboot.org/4891 Reviewed-by: Alexandru Gagniuc Tested-by: build bot (Jenkins) --- src/include/cpu/x86/mp.h | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/include/cpu') diff --git a/src/include/cpu/x86/mp.h b/src/include/cpu/x86/mp.h index 5112848e94..7e90ee43c7 100644 --- a/src/include/cpu/x86/mp.h +++ b/src/include/cpu/x86/mp.h @@ -117,4 +117,13 @@ void mp_initialize_cpu(void *unused); /* Returns apic id for coreboot cpu number or < 0 on failure. */ int mp_get_apic_id(int cpu_slot); +/* + * SMM helpers to use with initializing CPUs. + */ + +/* Send SMI to self without any serialization. */ +void smm_initiate_relocation_parallel(void); +/* Send SMI to self with single execution. */ +void smm_initiate_relocation(void); + #endif /* _X86_MP_H_ */ -- cgit v1.2.3