1 /**************************************************************************** 2 **************************************************************************** 3 *** 4 *** This header was automatically generated from a Linux kernel header 5 *** of the same name, to make information necessary for userspace to 6 *** call into the kernel available to libc. It contains only constants, 7 *** structures, and macros generated from the original header, and thus, 8 *** contains no copyrightable information. 9 *** 10 *** To edit the content of this header, modify the corresponding 11 *** source file (e.g. under external/kernel-headers/original/) then 12 *** run bionic/libc/kernel/tools/update_all.py 13 *** 14 *** Any manual change here will be lost the next time this script will 15 *** be run. You've been warned! 16 *** 17 **************************************************************************** 18 ****************************************************************************/ 19 #ifndef __ASM_ASM_H 20 #define __ASM_ASM_H 21 #include <asm/sgidefs.h> 22 #ifndef CAT 23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 24 #ifdef __STDC__ 25 #define __CAT(str1, str2) str1##str2 26 #else 27 #define __CAT(str1, str2) str1 str2 28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 29 #endif 30 #define CAT(str1, str2) __CAT(str1, str2) 31 #endif 32 #ifdef __PIC__ 33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 34 #define CPRESTORE(register) .cprestore register 35 #define CPADD(register) .cpadd register 36 #define CPLOAD(register) .cpload register 37 #else 38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 39 #define CPRESTORE(register) 40 #define CPADD(register) 41 #define CPLOAD(register) 42 #endif 43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 44 #define LEAF(symbol) .globl symbol; .align 2; .type symbol, @function; .ent symbol, 0; symbol: .frame sp, 0, ra 45 #define NESTED(symbol, framesize, rpc) .globl symbol; .align 2; .type symbol, @function; .ent symbol, 0; symbol: .frame sp, framesize, rpc 46 #define END(function) .end function; .size function, .-function 47 #define EXPORT(symbol) .globl symbol; symbol: 48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 49 #define FEXPORT(symbol) .globl symbol; .type symbol, @function; symbol: 50 #define ABS(symbol,value) .globl symbol; symbol = value 51 #define PANIC(msg) .set push; .set reorder; PTR_LA a0, 8f; jal panic; 9: b 9b; .set pop; TEXT(msg) 52 #define PRINT(string) 53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 54 #define TEXT(msg) .pushsection .data; 8: .asciiz msg; .popsection; 55 #define TTABLE(string) .pushsection .text; .word 1f; .popsection .pushsection .data; 1: .asciiz string; .popsection 56 #define PREF(hint, addr) 57 #define PREFX(hint, addr) 58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 59 #if _MIPS_ISA == _MIPS_ISA_MIPS1 60 #define MOVN(rd, rs, rt) .set push; .set reorder; beqz rt, 9f; move rd, rs; .set pop; 9: 61 #define MOVZ(rd, rs, rt) .set push; .set reorder; bnez rt, 9f; move rd, rs; .set pop; 9: 62 #endif 63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 64 #if _MIPS_ISA == _MIPS_ISA_MIPS2 || _MIPS_ISA == _MIPS_ISA_MIPS3 65 #define MOVN(rd, rs, rt) .set push; .set noreorder; bnezl rt, 9f; move rd, rs; .set pop; 9: 66 #define MOVZ(rd, rs, rt) .set push; .set noreorder; beqzl rt, 9f; move rd, rs; .set pop; 9: 67 #endif 68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 69 #if _MIPS_ISA == _MIPS_ISA_MIPS4 || _MIPS_ISA == _MIPS_ISA_MIPS5 || _MIPS_ISA == _MIPS_ISA_MIPS32 || _MIPS_ISA == _MIPS_ISA_MIPS64 70 #define MOVN(rd, rs, rt) movn rd, rs, rt 71 #define MOVZ(rd, rs, rt) movz rd, rs, rt 72 #endif 73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 74 #if _MIPS_SIM == _MIPS_SIM_ABI32 75 #define ALSZ 7 76 #define ALMASK ~7 77 #endif 78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 79 #if _MIPS_SIM == _MIPS_SIM_NABI32 || _MIPS_SIM == _MIPS_SIM_ABI64 80 #define ALSZ 15 81 #define ALMASK ~15 82 #endif 83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 84 #ifdef __mips64 85 #define SZREG 8 86 #else 87 #define SZREG 4 88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 89 #endif 90 #if _MIPS_SIM == _MIPS_SIM_ABI32 91 #define REG_S sw 92 #define REG_L lw 93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 94 #define REG_SUBU subu 95 #define REG_ADDU addu 96 #endif 97 #if _MIPS_SIM == _MIPS_SIM_NABI32 || _MIPS_SIM == _MIPS_SIM_ABI64 98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 99 #define REG_S sd 100 #define REG_L ld 101 #define REG_SUBU dsubu 102 #define REG_ADDU daddu 103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 104 #endif 105 #if _MIPS_SZINT == 32 106 #define INT_ADD add 107 #define INT_ADDU addu 108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 109 #define INT_ADDI addi 110 #define INT_ADDIU addiu 111 #define INT_SUB sub 112 #define INT_SUBU subu 113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 114 #define INT_L lw 115 #define INT_S sw 116 #define INT_SLL sll 117 #define INT_SLLV sllv 118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 119 #define INT_SRL srl 120 #define INT_SRLV srlv 121 #define INT_SRA sra 122 #define INT_SRAV srav 123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 124 #endif 125 #if _MIPS_SZINT == 64 126 #define INT_ADD dadd 127 #define INT_ADDU daddu 128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 129 #define INT_ADDI daddi 130 #define INT_ADDIU daddiu 131 #define INT_SUB dsub 132 #define INT_SUBU dsubu 133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 134 #define INT_L ld 135 #define INT_S sd 136 #define INT_SLL dsll 137 #define INT_SLLV dsllv 138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 139 #define INT_SRL dsrl 140 #define INT_SRLV dsrlv 141 #define INT_SRA dsra 142 #define INT_SRAV dsrav 143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 144 #endif 145 #if _MIPS_SZLONG == 32 146 #define LONG_ADD add 147 #define LONG_ADDU addu 148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 149 #define LONG_ADDI addi 150 #define LONG_ADDIU addiu 151 #define LONG_SUB sub 152 #define LONG_SUBU subu 153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 154 #define LONG_L lw 155 #define LONG_S sw 156 #define LONG_SLL sll 157 #define LONG_SLLV sllv 158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 159 #define LONG_SRL srl 160 #define LONG_SRLV srlv 161 #define LONG_SRA sra 162 #define LONG_SRAV srav 163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 164 #define LONG .word 165 #define LONGSIZE 4 166 #define LONGMASK 3 167 #define LONGLOG 2 168 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 169 #endif 170 #if _MIPS_SZLONG == 64 171 #define LONG_ADD dadd 172 #define LONG_ADDU daddu 173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 174 #define LONG_ADDI daddi 175 #define LONG_ADDIU daddiu 176 #define LONG_SUB dsub 177 #define LONG_SUBU dsubu 178 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 179 #define LONG_L ld 180 #define LONG_S sd 181 #define LONG_SLL dsll 182 #define LONG_SLLV dsllv 183 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 184 #define LONG_SRL dsrl 185 #define LONG_SRLV dsrlv 186 #define LONG_SRA dsra 187 #define LONG_SRAV dsrav 188 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 189 #define LONG .dword 190 #define LONGSIZE 8 191 #define LONGMASK 7 192 #define LONGLOG 3 193 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 194 #endif 195 #if _MIPS_SZPTR == 32 196 #define PTR_ADD add 197 #define PTR_ADDU addu 198 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 199 #define PTR_ADDI addi 200 #define PTR_ADDIU addiu 201 #define PTR_SUB sub 202 #define PTR_SUBU subu 203 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 204 #define PTR_L lw 205 #define PTR_S sw 206 #define PTR_LA la 207 #define PTR_LI li 208 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 209 #define PTR_SLL sll 210 #define PTR_SLLV sllv 211 #define PTR_SRL srl 212 #define PTR_SRLV srlv 213 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 214 #define PTR_SRA sra 215 #define PTR_SRAV srav 216 #define PTR_SCALESHIFT 2 217 #define PTR .word 218 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 219 #define PTRSIZE 4 220 #define PTRLOG 2 221 #endif 222 #if _MIPS_SZPTR == 64 223 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 224 #define PTR_ADD dadd 225 #define PTR_ADDU daddu 226 #define PTR_ADDI daddi 227 #define PTR_ADDIU daddiu 228 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 229 #define PTR_SUB dsub 230 #define PTR_SUBU dsubu 231 #define PTR_L ld 232 #define PTR_S sd 233 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 234 #define PTR_LA dla 235 #define PTR_LI dli 236 #define PTR_SLL dsll 237 #define PTR_SLLV dsllv 238 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 239 #define PTR_SRL dsrl 240 #define PTR_SRLV dsrlv 241 #define PTR_SRA dsra 242 #define PTR_SRAV dsrav 243 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 244 #define PTR_SCALESHIFT 3 245 #define PTR .dword 246 #define PTRSIZE 8 247 #define PTRLOG 3 248 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 249 #endif 250 #if _MIPS_SIM == _MIPS_SIM_ABI32 251 #define MFC0 mfc0 252 #define MTC0 mtc0 253 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 254 #endif 255 #if _MIPS_SIM == _MIPS_SIM_NABI32 || _MIPS_SIM == _MIPS_SIM_ABI64 256 #define MFC0 dmfc0 257 #define MTC0 dmtc0 258 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 259 #endif 260 #define SSNOP sll zero, zero, 1 261 #define R10KCBARRIER(addr) 262 #endif 263 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 264