alder_lake_bios/Oem/L05/FeatureCommon/InsydeL05ModulePkg/SecureBootService/ia32/CallSmmSecureBoot.asm

59 lines
1.5 KiB
NASM

;;******************************************************************************
;;* Copyright (c) 1983-2012, Insyde Software Corp. All Rights Reserved.
;;*
;;* You may not reproduce, distribute, publish, display, perform, modify, adapt,
;;* transmit, broadcast, present, recite, release, license or otherwise exploit
;;* any part of this publication in any form, by any means, without the prior
;;* written permission of Insyde Software Corporation.
;;*
;;******************************************************************************
;;
;; Module Name:
;;
;; CallSmmSecureBoot.asm
;;
;; Abstract:
;;
;; 32 bit Sent SMI to call Secure Boot function
;;
TITLE CallSmmSecureBoot.asm
.686
.MODEL FLAT,C
.CODE
;------------------------------------------------------------------------------
; UINT8
; SmmSecureBootCall (
; IN UINT8 *InPutBuff,
; IN UINTN DataSize,
; IN UINT8 SubFunNum,
; IN UINT16 SmiPort
; );
;------------------------------------------------------------------------------
SmmSecureBootCall PROC PUBLIC InPutBuff:DWORD, DataSize:DWORD, \
SubFunNum:BYTE, SmiPort:WORD
push ebx
push ecx
push edx
push edi
push esi
mov ebx, DataSize
mov esi, InPutBuff
mov al, SubFunNum
mov ah, al
mov al, 0ECh
mov dx, SmiPort
out dx, al
pop esi
pop edi
pop edx
pop ecx
pop ebx
ret
SmmSecureBootCall ENDP
END