From 48249243777882d7d89ca0b86c89e355b5f941f3 Mon Sep 17 00:00:00 2001 From: Hongbin1 Zhang Date: Tue, 19 Jul 2022 10:09:15 -0700 Subject: IntelFsp2Pkg/FspSecCore: Add FSP-I API for SMM support. REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3993 Add FSP-I API entry point for SMM support. Also update 64bit API entry code to assign ApiIdx to RAX to avoid confusion. Cc: Nate DeSimone Cc: Star Zeng Signed-off-by: Chasel Chiu Signed-off-by: Hongbin1 Zhang Reviewed-by: Nate DeSimone --- IntelFsp2Pkg/FspSecCore/Ia32/FspApiEntryI.nasm | 44 ++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 IntelFsp2Pkg/FspSecCore/Ia32/FspApiEntryI.nasm (limited to 'IntelFsp2Pkg/FspSecCore/Ia32') diff --git a/IntelFsp2Pkg/FspSecCore/Ia32/FspApiEntryI.nasm b/IntelFsp2Pkg/FspSecCore/Ia32/FspApiEntryI.nasm new file mode 100644 index 0000000..e9365d6 --- /dev/null +++ b/IntelFsp2Pkg/FspSecCore/Ia32/FspApiEntryI.nasm @@ -0,0 +1,44 @@ +;; @file +; Provide FSP API entry points. +; +; Copyright (c) 2022, Intel Corporation. All rights reserved.
+; SPDX-License-Identifier: BSD-2-Clause-Patent +;; + + SECTION .text + +; +; Following functions will be provided in C +; +extern ASM_PFX(FspApiCommon) + +;---------------------------------------------------------------------------- +; FspApiCommonContinue API +; +; This is the FSP API common entry point to resume the FSP execution +; +;---------------------------------------------------------------------------- +global ASM_PFX(FspApiCommonContinue) +ASM_PFX(FspApiCommonContinue): + jmp $ + +;---------------------------------------------------------------------------- +; FspSmmInit API +; +; This FSP API will notify the FSP about the different phases in the boot +; process +; +;---------------------------------------------------------------------------- +global ASM_PFX(FspSmmInitApi) +ASM_PFX(FspSmmInitApi): + mov eax, 7 ; FSP_API_INDEX.FspSmmInitApiIndex + jmp ASM_PFX(FspApiCommon) + +;---------------------------------------------------------------------------- +; Module Entrypoint API +;---------------------------------------------------------------------------- +global ASM_PFX(_ModuleEntryPoint) +ASM_PFX(_ModuleEntryPoint): + jmp $ + ; Add reference to APIs so that it will not be optimized by compiler + jmp ASM_PFX(FspSmmInitApi) -- cgit v1.1