//------------------------------------------------------------------------------ | |
// | |
// InternalSwitchStackAsm for RISC-V | |
// | |
// Copyright (c) 2023, Bosc Corporation. All rights reserved.<BR> | |
// | |
// SPDX-License-Identifier: BSD-2-Clause-Patent | |
// | |
//------------------------------------------------------------------------------ | |
.align 3 | |
#/** | |
# | |
# This allows the caller to switch the stack and goes to the new entry point | |
# | |
# @param Context Parameter to pass in | |
# @param Context2 Parameter2 to pass in | |
# @param EntryPoint The pointer to the location to enter | |
# @param NewStack New Location of the stack | |
# | |
# @return Nothing. Goes to the Entry Point passing in the new parameters | |
# | |
#**/ | |
#VOID | |
#EFIAPI | |
#InternalSwitchStackAsm ( | |
# VOID *Context, | |
# VOID *Context2, | |
# SWITCH_STACK_ENTRY_POINT EntryPoint, | |
# VOID *NewStack | |
# ); | |
# | |
.globl InternalSwitchStackAsm | |
InternalSwitchStackAsm: | |
mv ra, a2 | |
mv sp, a3 | |
ret |