mirror of https://github.com/acidanthera/audk.git
38 lines
992 B
ArmAsm
38 lines
992 B
ArmAsm
//------------------------------------------------------------------------------
|
|
//
|
|
// 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
|