1 /* 2 * Copyright (C) 2013 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 #ifndef ART_RUNTIME_ARCH_MIPS_ASM_SUPPORT_MIPS_S_ 18 #define ART_RUNTIME_ARCH_MIPS_ASM_SUPPORT_MIPS_S_ 19 20 #include "asm_support_mips.h" 21 22 // Define special registers. 23 24 // Register holding suspend check count down. 25 #define rSUSPEND $s0 26 // Register holding Thread::Current(). 27 #define rSELF $s1 28 29 30 /* Cache alignment for function entry */ 31 .macro ENTRY name 32 .type \name, %function 33 .global \name 34 .balign 16 35 \name: 36 .cfi_startproc 37 /* Ensure we get a sane starting CFA. */ 38 .cfi_def_cfa $sp,0 39 .endm 40 41 .macro END name 42 .cfi_endproc 43 .size \name, .-\name 44 .endm 45 46 /* Generates $gp for function calls */ 47 .macro GENERATE_GLOBAL_POINTER 48 .cpload $t9 49 .endm 50 51 .macro UNIMPLEMENTED name 52 ENTRY \name 53 break 54 break 55 END \name 56 .endm 57 58 59 #endif // ART_RUNTIME_ARCH_MIPS_ASM_SUPPORT_MIPS_S_ 60