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