Add IntelFspWrapper to support boot EDKII on FSP bin.
Contributed-under: TianoCore Contribution Agreement 1.0 Signed off by: Jiewen Yao <jiewen.yao@intel.com> Reviewed by: Ravi Rangarajan <ravi.p.rangarajan@intel.com> Reviewed by: Maurice Ma <maurice.ma@intel.com> Reviewed by: Giri Mudusuru <giri.p.mudusuru@intel.com> Reviewed by: Liming Gao <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15676 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
26
IntelFspWrapperPkg/FspWrapperSecCore/Ia32/Dummy.asm
Normal file
26
IntelFspWrapperPkg/FspWrapperSecCore/Ia32/Dummy.asm
Normal file
@@ -0,0 +1,26 @@
|
||||
;------------------------------------------------------------------------------
|
||||
;
|
||||
; Copyright (c) 2014, Intel Corporation. All rights reserved.<BR>
|
||||
; 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:
|
||||
;
|
||||
; Dummy.asm
|
||||
;
|
||||
; Abstract:
|
||||
;
|
||||
; To pass build
|
||||
;
|
||||
;------------------------------------------------------------------------------
|
||||
|
||||
.586p
|
||||
.model flat,C
|
||||
.code
|
||||
|
||||
END
|
106
IntelFspWrapperPkg/FspWrapperSecCore/Ia32/ResetVec.asm16
Normal file
106
IntelFspWrapperPkg/FspWrapperSecCore/Ia32/ResetVec.asm16
Normal file
@@ -0,0 +1,106 @@
|
||||
;------------------------------------------------------------------------------
|
||||
;
|
||||
; Copyright (c) 2014, Intel Corporation. All rights reserved.<BR>
|
||||
; 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:
|
||||
;
|
||||
; ResetVec.asm
|
||||
;
|
||||
; Abstract:
|
||||
;
|
||||
; Reset Vector Data structure
|
||||
; This structure is located at 0xFFFFFFC0
|
||||
;
|
||||
;------------------------------------------------------------------------------
|
||||
|
||||
.model tiny
|
||||
.686p
|
||||
.stack 0h
|
||||
.code
|
||||
|
||||
;
|
||||
; The layout of this file is fixed. The build tool makes assumption of the layout.
|
||||
;
|
||||
|
||||
ORG 0h
|
||||
;
|
||||
; Reserved
|
||||
;
|
||||
ReservedData DD 0eeeeeeeeh, 0eeeeeeeeh
|
||||
|
||||
ORG 10h
|
||||
;
|
||||
; This is located at 0xFFFFFFD0h
|
||||
;
|
||||
mov di, "AP"
|
||||
jmp ApStartup
|
||||
|
||||
ORG 20h
|
||||
;
|
||||
; Pointer to the entry point of the PEI core
|
||||
; It is located at 0xFFFFFFE0, and is fixed up by some build tool
|
||||
; So if the value 8..1 appears in the final FD image, tool failure occurs.
|
||||
;
|
||||
PeiCoreEntryPoint DD 87654321h
|
||||
|
||||
;
|
||||
; This is the handler for all kinds of exceptions. Since it's for debugging
|
||||
; purpose only, nothing except a deadloop would be done here. Developers could
|
||||
; analyze the cause of the exception if a debugger had been attached.
|
||||
;
|
||||
InterruptHandler PROC
|
||||
jmp $
|
||||
iret
|
||||
InterruptHandler ENDP
|
||||
|
||||
ORG 30h
|
||||
;
|
||||
; For IA32, the reset vector must be at 0xFFFFFFF0, i.e., 4G-16 byte
|
||||
; Execution starts here upon power-on/platform-reset.
|
||||
;
|
||||
ResetHandler:
|
||||
nop
|
||||
nop
|
||||
ApStartup:
|
||||
;
|
||||
; Jmp Rel16 instruction
|
||||
; Use machine code directly in case of the assembler optimization
|
||||
; SEC entry point relatvie address will be fixed up by some build tool.
|
||||
;
|
||||
; Typically, SEC entry point is the function _ModuleEntryPoint() defined in
|
||||
; SecEntry.asm
|
||||
;
|
||||
DB 0e9h
|
||||
DW -3
|
||||
|
||||
|
||||
ORG 38h
|
||||
;
|
||||
; Ap reset vector segment address is at 0xFFFFFFF8
|
||||
; This will be fixed up by some build tool,
|
||||
; so if the value 1..8 appears in the final FD image,
|
||||
; tool failure occurs
|
||||
;
|
||||
ApSegAddress dd 12345678h
|
||||
|
||||
ORG 3ch
|
||||
;
|
||||
; BFV Base is at 0xFFFFFFFC
|
||||
; This will be fixed up by some build tool,
|
||||
; so if the value 1..8 appears in the final FD image,
|
||||
; tool failure occurs.
|
||||
;
|
||||
BfvBase DD 12345678h
|
||||
|
||||
;
|
||||
; Nothing can go here, otherwise the layout of this file would change.
|
||||
;
|
||||
|
||||
END
|
Reference in New Issue
Block a user