1;------------------------------------------------------------------------------ 2; 3; Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR> 4; Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR> 5; This program and the accompanying materials 6; are licensed and made available under the terms and conditions of the BSD License 7; which accompanies this distribution. The full text of the license may be found at 8; http://opensource.org/licenses/bsd-license.php. 9; 10; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 11; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 12; 13;------------------------------------------------------------------------------ 14 15 EXPORT InternalSwitchStackAsm 16 17 AREA Switch_Stack, CODE, READONLY 18 19;/** 20; This allows the caller to switch the stack and goes to the new entry point 21; 22; @param EntryPoint The pointer to the location to enter 23; @param Context Parameter to pass in 24; @param Context2 Parameter2 to pass in 25; @param NewStack New Location of the stack 26; 27; @return Nothing. Goes to the Entry Point passing in the new parameters 28; 29;**/ 30;VOID 31;EFIAPI 32;InternalSwitchStackAsm ( 33; SWITCH_STACK_ENTRY_POINT EntryPoint, 34; VOID *Context, 35; VOID *Context2, 36; VOID *NewStack 37; ); 38; 39InternalSwitchStackAsm 40 MOV LR, R0 41 MOV SP, R3 42 MOV R0, R1 43 MOV R1, R2 44 BX LR 45 END 46