1/* 2 * Copyright (c) 2023-2024 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16#include "runtime/fibers/arch/asm_macros.h" 17#include "runtime/fibers/arch/arm/context_layout.h" 18 19#define GPR_O(reg) FCTX_GPR_OFFSET_BYTES_ ## reg 20#define FP_O(reg) FCTX_FP_OFFSET_BYTES_ ## reg 21#include "runtime/fibers/arch/arm/helpers.S" 22 23/** 24 * arguments: 25 * r0: uint8_t* ctx_memory 26 */ 27FUNCTION_START(GetCurrentContext) 28 STORE_CONTEXT tmp_regid=3 29 30 // return success 31 mov r0, #0 32 blx lr 33FUNCTION_END(GetCurrentContext) 34 35#undef GPR_O 36#undef FP_O 37 38// we don't need executable stack. 39.section .note.GNU-stack,"",%progbits