]> git.proxmox.com Git - mirror_edk2.git/blame - MdePkg/Library/BaseLib/Arm/SwitchStack.asm
MdePkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / MdePkg / Library / BaseLib / Arm / SwitchStack.asm
CommitLineData
9095d37b 1;------------------------------------------------------------------------------\r
ebd04fc2 2;\r
9095d37b 3; Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
bb817c56 4; Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>\r
9344f092 5; SPDX-License-Identifier: BSD-2-Clause-Patent\r
ebd04fc2 6;\r
7;------------------------------------------------------------------------------\r
9095d37b 8\r
ebd04fc2 9 EXPORT InternalSwitchStackAsm\r
9095d37b 10\r
ebd04fc2 11 AREA Switch_Stack, CODE, READONLY\r
9095d37b 12\r
ebd04fc2 13;/**\r
14; This allows the caller to switch the stack and goes to the new entry point\r
15;\r
2fc59a00 16; @param EntryPoint The pointer to the location to enter\r
ebd04fc2 17; @param Context Parameter to pass in\r
18; @param Context2 Parameter2 to pass in\r
19; @param NewStack New Location of the stack\r
20;\r
21; @return Nothing. Goes to the Entry Point passing in the new parameters\r
22;\r
23;**/\r
24;VOID\r
25;EFIAPI\r
26;InternalSwitchStackAsm (\r
27; SWITCH_STACK_ENTRY_POINT EntryPoint,\r
28; VOID *Context,\r
29; VOID *Context2,\r
30; VOID *NewStack\r
31; );\r
32;\r
33InternalSwitchStackAsm\r
34 MOV LR, R0\r
35 MOV SP, R3\r
36 MOV R0, R1\r
37 MOV R1, R2\r
38 BX LR\r
39 END\r