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