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