mirror of https://github.com/acidanthera/audk.git
48 lines
911 B
NASM
48 lines
911 B
NASM
;------------------------------------------------------------------------------
|
|
;*
|
|
;* Copyright (c) 2006 - 2020, Intel Corporation. All rights reserved.<BR>
|
|
;* SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
#include <Base.h>
|
|
|
|
DEFAULT REL
|
|
SECTION .text
|
|
|
|
extern ASM_PFX(PayloadEntry)
|
|
extern ASM_PFX(PcdGet32 (PcdPayloadStackTop))
|
|
|
|
;
|
|
; SecCore Entry Point
|
|
;
|
|
; Processor is in flat protected mode
|
|
|
|
global ASM_PFX(_ModuleEntryPoint)
|
|
ASM_PFX(_ModuleEntryPoint):
|
|
|
|
;
|
|
; Disable all the interrupts
|
|
;
|
|
cli
|
|
|
|
|
|
mov rsp, FixedPcdGet32 (PcdPayloadStackTop)
|
|
|
|
;
|
|
; Push the bootloader parameter address onto new stack
|
|
;
|
|
push rcx
|
|
mov rax, 0
|
|
push rax ; shadow space
|
|
push rax
|
|
push rax
|
|
push rax
|
|
|
|
;
|
|
; Call into C code
|
|
;
|
|
call ASM_PFX(PayloadEntry)
|
|
jmp $
|
|
|