| ;------------------------------------------------------------------------------ | |
| ; | |
| ; Copyright (c) 2008, Intel Corporation | |
| ; All rights reserved. This program and the accompanying materials | |
| ; are licensed and made available under the terms and conditions of the BSD License | |
| ; which accompanies this distribution. The full text of the license may be found at | |
| ; http://opensource.org/licenses/bsd-license.php | |
| ; | |
| ; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, | |
| ; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. | |
| ; | |
| ; Module Name: | |
| ; | |
| ; JumpToSec.asm | |
| ; | |
| ; Abstract: | |
| ; | |
| ; Jump from the reset vector binary to SEC | |
| ; | |
| ;------------------------------------------------------------------------------ | |
| BITS 32 | |
| TransitionFrom16RealTo32FlatComplete: | |
| OneTimeCall Flat32SearchForBfvBase | |
| OneTimeCall Flat32SearchForSecAndPeiEntries | |
| ; | |
| ; ESI - SEC Core entry point | |
| ; EDI - PEI Core entry point | |
| ; EBP - Start of BFV | |
| ; | |
| ; Jump to SEC Core entry point | |
| ; | |
| %ifdef ARCH_IA32 | |
| jmp esi | |
| %else | |
| OneTimeCall Transition32FlatTo64Flat | |
| BITS 64 | |
| mov rax, 0x00000000ffffffff | |
| and rsi, rax | |
| and rdi, rax | |
| and rbp, rax | |
| ; | |
| ; RSI - SEC Core entry point | |
| ; RDI - PEI Core entry point | |
| ; RBP - Start of BFV | |
| ; | |
| ; Jump to SEC Core entry point | |
| ; | |
| jmp rsi | |
| %endif | |