;------------------------------------------------------------------------------ | |
; @file | |
; 16-bit initialization code | |
; | |
; Copyright (c) 2008 - 2009, 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. | |
; | |
;------------------------------------------------------------------------------ | |
BITS 16 | |
; | |
; @param[out] DI 'BP' to indicate boot-strap processor | |
; | |
EarlyBspInitReal16: | |
mov di, 'BP' | |
jmp short Main16 | |
; | |
; @param[out] DI 'AP' to indicate application processor | |
; | |
EarlyApInitReal16: | |
mov di, 'AP' | |
jmp short Main16 | |
; | |
; Modified: EAX | |
; | |
; @param[in] EAX Initial value of the EAX register (BIST: Built-in Self Test) | |
; @param[out] ESP Initial value of the EAX register (BIST: Built-in Self Test) | |
; | |
EarlyInit16: | |
; | |
; ESP - Initial value of the EAX register (BIST: Built-in Self Test) | |
; | |
mov esp, eax | |
debugInitialize | |
OneTimeCallRet EarlyInit16 | |