@zigc/lib 0.17.0-dev.356 → 0.17.0-dev.389
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/std/Target/riscv.zig +97 -0
- package/std/Target.zig +27 -9
- package/std/Thread.zig +2 -2
- package/std/array_list.zig +2 -2
- package/std/atomic.zig +2 -0
- package/std/debug/Dwarf.zig +6 -0
- package/std/debug/SelfInfo/Elf.zig +1 -0
- package/std/debug/cpu_context.zig +168 -3
- package/std/debug.zig +1 -1
- package/std/heap.zig +2 -0
- package/std/lang/assembly.zig +71 -0
- package/std/lang.zig +2 -0
- package/std/os/linux/alpha.zig +358 -0
- package/std/os/linux/arm.zig +0 -26
- package/std/os/linux/ioctl.zig +1 -0
- package/std/os/linux/syscalls.zig +502 -0
- package/std/os/linux/tls.zig +1 -1
- package/std/os/linux.zig +729 -31
- package/std/start.zig +11 -0
- package/std/zig/LibCDirs.zig +1 -0
- package/std/zig/system/linux.zig +4 -0
- package/std/zig/system/loongarch.zig +25 -9
- package/std/zig/system.zig +4 -0
- package/zig.h +24 -2
package/std/lang/assembly.zig
CHANGED
|
@@ -1553,6 +1553,77 @@ pub const Clobbers = switch (@import("builtin").cpu.arch) {
|
|
|
1553
1553
|
r14: bool = false,
|
|
1554
1554
|
r15: bool = false,
|
|
1555
1555
|
},
|
|
1556
|
+
.m88k => packed struct {
|
|
1557
|
+
/// Whether the inline assembly code may perform stores to memory
|
|
1558
|
+
/// addresses other than those derived from input pointer provenance.
|
|
1559
|
+
memory: bool = false,
|
|
1560
|
+
|
|
1561
|
+
r0: bool = false,
|
|
1562
|
+
r1: bool = false,
|
|
1563
|
+
r2: bool = false,
|
|
1564
|
+
r3: bool = false,
|
|
1565
|
+
r4: bool = false,
|
|
1566
|
+
r5: bool = false,
|
|
1567
|
+
r6: bool = false,
|
|
1568
|
+
r7: bool = false,
|
|
1569
|
+
r8: bool = false,
|
|
1570
|
+
r9: bool = false,
|
|
1571
|
+
r10: bool = false,
|
|
1572
|
+
r11: bool = false,
|
|
1573
|
+
r12: bool = false,
|
|
1574
|
+
r13: bool = false,
|
|
1575
|
+
r14: bool = false,
|
|
1576
|
+
r15: bool = false,
|
|
1577
|
+
r16: bool = false,
|
|
1578
|
+
r17: bool = false,
|
|
1579
|
+
r18: bool = false,
|
|
1580
|
+
r19: bool = false,
|
|
1581
|
+
r20: bool = false,
|
|
1582
|
+
r21: bool = false,
|
|
1583
|
+
r22: bool = false,
|
|
1584
|
+
r23: bool = false,
|
|
1585
|
+
r24: bool = false,
|
|
1586
|
+
r25: bool = false,
|
|
1587
|
+
r26: bool = false,
|
|
1588
|
+
r27: bool = false,
|
|
1589
|
+
r28: bool = false,
|
|
1590
|
+
r29: bool = false,
|
|
1591
|
+
r30: bool = false,
|
|
1592
|
+
r31: bool = false,
|
|
1593
|
+
|
|
1594
|
+
x0: bool = false,
|
|
1595
|
+
x1: bool = false,
|
|
1596
|
+
x2: bool = false,
|
|
1597
|
+
x3: bool = false,
|
|
1598
|
+
x4: bool = false,
|
|
1599
|
+
x5: bool = false,
|
|
1600
|
+
x6: bool = false,
|
|
1601
|
+
x7: bool = false,
|
|
1602
|
+
x8: bool = false,
|
|
1603
|
+
x9: bool = false,
|
|
1604
|
+
x10: bool = false,
|
|
1605
|
+
x11: bool = false,
|
|
1606
|
+
x12: bool = false,
|
|
1607
|
+
x13: bool = false,
|
|
1608
|
+
x14: bool = false,
|
|
1609
|
+
x15: bool = false,
|
|
1610
|
+
x16: bool = false,
|
|
1611
|
+
x17: bool = false,
|
|
1612
|
+
x18: bool = false,
|
|
1613
|
+
x19: bool = false,
|
|
1614
|
+
x20: bool = false,
|
|
1615
|
+
x21: bool = false,
|
|
1616
|
+
x22: bool = false,
|
|
1617
|
+
x23: bool = false,
|
|
1618
|
+
x24: bool = false,
|
|
1619
|
+
x25: bool = false,
|
|
1620
|
+
x26: bool = false,
|
|
1621
|
+
x27: bool = false,
|
|
1622
|
+
x28: bool = false,
|
|
1623
|
+
x29: bool = false,
|
|
1624
|
+
x30: bool = false,
|
|
1625
|
+
x31: bool = false,
|
|
1626
|
+
},
|
|
1556
1627
|
.m68k => packed struct {
|
|
1557
1628
|
/// Whether the inline assembly code may perform stores to memory
|
|
1558
1629
|
/// addresses other than those derived from input pointer provenance.
|
package/std/lang.zig
CHANGED
|
@@ -292,6 +292,8 @@ pub const CallingConvention = union(enum(u8)) {
|
|
|
292
292
|
m68k_rtd: CommonOptions,
|
|
293
293
|
m68k_interrupt: CommonOptions,
|
|
294
294
|
|
|
295
|
+
m88k_sysv: CommonOptions,
|
|
296
|
+
|
|
295
297
|
/// The standard `microblaze`/`microblazeel` calling convention.
|
|
296
298
|
microblaze_std: CommonOptions,
|
|
297
299
|
microblaze_interrupt: MicroblazeInterruptOptions,
|
|
@@ -0,0 +1,358 @@
|
|
|
1
|
+
const builtin = @import("builtin");
|
|
2
|
+
const std = @import("../../std.zig");
|
|
3
|
+
const SYS = std.os.linux.SYS;
|
|
4
|
+
|
|
5
|
+
pub fn syscall0(number: SYS) u64 {
|
|
6
|
+
return asm volatile (
|
|
7
|
+
\\ callsys
|
|
8
|
+
\\ beq $19, 1f
|
|
9
|
+
\\ negq $0, $0
|
|
10
|
+
\\1:
|
|
11
|
+
: [ret] "={$0}" (-> u64),
|
|
12
|
+
: [number] "{$0}" (number),
|
|
13
|
+
: .{
|
|
14
|
+
.r1 = true,
|
|
15
|
+
.r2 = true,
|
|
16
|
+
.r3 = true,
|
|
17
|
+
.r4 = true,
|
|
18
|
+
.r5 = true,
|
|
19
|
+
.r6 = true,
|
|
20
|
+
.r7 = true,
|
|
21
|
+
.r8 = true,
|
|
22
|
+
.r22 = true,
|
|
23
|
+
.r23 = true,
|
|
24
|
+
.r24 = true,
|
|
25
|
+
.r25 = true,
|
|
26
|
+
.r27 = true,
|
|
27
|
+
.r28 = true,
|
|
28
|
+
.memory = true,
|
|
29
|
+
.r16 = true,
|
|
30
|
+
.r17 = true,
|
|
31
|
+
.r18 = true,
|
|
32
|
+
.r20 = true,
|
|
33
|
+
.r21 = true,
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
pub fn syscall1(number: SYS, arg1: u64) u64 {
|
|
38
|
+
// These registers are both inputs and clobbers.
|
|
39
|
+
var r16_out: u64 = undefined;
|
|
40
|
+
return asm volatile (
|
|
41
|
+
\\ callsys
|
|
42
|
+
\\ beq $19, 1f
|
|
43
|
+
\\ negq $0, $0
|
|
44
|
+
\\1:
|
|
45
|
+
: [ret] "={$0}" (-> u64),
|
|
46
|
+
[r16_out] "={$16}" (r16_out),
|
|
47
|
+
: [number] "{$0}" (number),
|
|
48
|
+
[arg1] "{$16}" (arg1),
|
|
49
|
+
: .{
|
|
50
|
+
.r1 = true,
|
|
51
|
+
.r2 = true,
|
|
52
|
+
.r3 = true,
|
|
53
|
+
.r4 = true,
|
|
54
|
+
.r5 = true,
|
|
55
|
+
.r6 = true,
|
|
56
|
+
.r7 = true,
|
|
57
|
+
.r8 = true,
|
|
58
|
+
.r22 = true,
|
|
59
|
+
.r23 = true,
|
|
60
|
+
.r24 = true,
|
|
61
|
+
.r25 = true,
|
|
62
|
+
.r27 = true,
|
|
63
|
+
.r28 = true,
|
|
64
|
+
.memory = true,
|
|
65
|
+
.r17 = true,
|
|
66
|
+
.r18 = true,
|
|
67
|
+
.r20 = true,
|
|
68
|
+
.r21 = true,
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
pub fn syscall2(number: SYS, arg1: u64, arg2: u64) u64 {
|
|
73
|
+
// These registers are both inputs and clobbers.
|
|
74
|
+
var r16_out: u64 = undefined;
|
|
75
|
+
var r17_out: u64 = undefined;
|
|
76
|
+
return asm volatile (
|
|
77
|
+
\\ callsys
|
|
78
|
+
\\ beq $19, 1f
|
|
79
|
+
\\ negq $0, $0
|
|
80
|
+
\\1:
|
|
81
|
+
: [ret] "={$0}" (-> u64),
|
|
82
|
+
[r16_out] "={$16}" (r16_out),
|
|
83
|
+
[r17_out] "={$17}" (r17_out),
|
|
84
|
+
: [number] "{$0}" (number),
|
|
85
|
+
[arg1] "{$16}" (arg1),
|
|
86
|
+
[arg2] "{$17}" (arg2),
|
|
87
|
+
: .{
|
|
88
|
+
.r1 = true,
|
|
89
|
+
.r2 = true,
|
|
90
|
+
.r3 = true,
|
|
91
|
+
.r4 = true,
|
|
92
|
+
.r5 = true,
|
|
93
|
+
.r6 = true,
|
|
94
|
+
.r7 = true,
|
|
95
|
+
.r8 = true,
|
|
96
|
+
.r22 = true,
|
|
97
|
+
.r23 = true,
|
|
98
|
+
.r24 = true,
|
|
99
|
+
.r25 = true,
|
|
100
|
+
.r27 = true,
|
|
101
|
+
.r28 = true,
|
|
102
|
+
.memory = true,
|
|
103
|
+
.r18 = true,
|
|
104
|
+
.r20 = true,
|
|
105
|
+
.r21 = true,
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
pub fn syscall3(number: SYS, arg1: u64, arg2: u64, arg3: u64) u64 {
|
|
110
|
+
// These registers are both inputs and clobbers.
|
|
111
|
+
var r16_out: u64 = undefined;
|
|
112
|
+
var r17_out: u64 = undefined;
|
|
113
|
+
var r18_out: u64 = undefined;
|
|
114
|
+
return asm volatile (
|
|
115
|
+
\\ callsys
|
|
116
|
+
\\ beq $19, 1f
|
|
117
|
+
\\ negq $0, $0
|
|
118
|
+
\\1:
|
|
119
|
+
: [ret] "={$0}" (-> u64),
|
|
120
|
+
[r16_out] "={$16}" (r16_out),
|
|
121
|
+
[r17_out] "={$17}" (r17_out),
|
|
122
|
+
[r18_out] "={$18}" (r18_out),
|
|
123
|
+
: [number] "{$0}" (number),
|
|
124
|
+
[arg1] "{$16}" (arg1),
|
|
125
|
+
[arg2] "{$17}" (arg2),
|
|
126
|
+
[arg3] "{$18}" (arg3),
|
|
127
|
+
: .{
|
|
128
|
+
.r1 = true,
|
|
129
|
+
.r2 = true,
|
|
130
|
+
.r3 = true,
|
|
131
|
+
.r4 = true,
|
|
132
|
+
.r5 = true,
|
|
133
|
+
.r6 = true,
|
|
134
|
+
.r7 = true,
|
|
135
|
+
.r8 = true,
|
|
136
|
+
.r22 = true,
|
|
137
|
+
.r23 = true,
|
|
138
|
+
.r24 = true,
|
|
139
|
+
.r25 = true,
|
|
140
|
+
.r27 = true,
|
|
141
|
+
.r28 = true,
|
|
142
|
+
.memory = true,
|
|
143
|
+
.r20 = true,
|
|
144
|
+
.r21 = true,
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
pub fn syscall4(number: SYS, arg1: u64, arg2: u64, arg3: u64, arg4: u64) u64 {
|
|
149
|
+
// These registers are both inputs and clobbers.
|
|
150
|
+
var r16_out: u64 = undefined;
|
|
151
|
+
var r17_out: u64 = undefined;
|
|
152
|
+
var r18_out: u64 = undefined;
|
|
153
|
+
var r19_out: u64 = undefined;
|
|
154
|
+
return asm volatile (
|
|
155
|
+
\\ callsys
|
|
156
|
+
\\ beq $19, 1f
|
|
157
|
+
\\ negq $0, $0
|
|
158
|
+
\\1:
|
|
159
|
+
: [ret] "={$0}" (-> u64),
|
|
160
|
+
[r16_out] "={$16}" (r16_out),
|
|
161
|
+
[r17_out] "={$17}" (r17_out),
|
|
162
|
+
[r18_out] "={$18}" (r18_out),
|
|
163
|
+
[r19_out] "={$19}" (r19_out),
|
|
164
|
+
: [number] "{$0}" (number),
|
|
165
|
+
[arg1] "{$16}" (arg1),
|
|
166
|
+
[arg2] "{$17}" (arg2),
|
|
167
|
+
[arg3] "{$18}" (arg3),
|
|
168
|
+
[arg4] "{$19}" (arg4),
|
|
169
|
+
: .{
|
|
170
|
+
.r1 = true,
|
|
171
|
+
.r2 = true,
|
|
172
|
+
.r3 = true,
|
|
173
|
+
.r4 = true,
|
|
174
|
+
.r5 = true,
|
|
175
|
+
.r6 = true,
|
|
176
|
+
.r7 = true,
|
|
177
|
+
.r8 = true,
|
|
178
|
+
.r22 = true,
|
|
179
|
+
.r23 = true,
|
|
180
|
+
.r24 = true,
|
|
181
|
+
.r25 = true,
|
|
182
|
+
.r27 = true,
|
|
183
|
+
.r28 = true,
|
|
184
|
+
.memory = true,
|
|
185
|
+
.r20 = true,
|
|
186
|
+
.r21 = true,
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
pub fn syscall5(number: SYS, arg1: u64, arg2: u64, arg3: u64, arg4: u64, arg5: u64) u64 {
|
|
191
|
+
// These registers are both inputs and clobbers.
|
|
192
|
+
var r16_out: u64 = undefined;
|
|
193
|
+
var r17_out: u64 = undefined;
|
|
194
|
+
var r18_out: u64 = undefined;
|
|
195
|
+
var r19_out: u64 = undefined;
|
|
196
|
+
var r20_out: u64 = undefined;
|
|
197
|
+
return asm volatile (
|
|
198
|
+
\\ callsys
|
|
199
|
+
\\ beq $19, 1f
|
|
200
|
+
\\ negq $0, $0
|
|
201
|
+
\\1:
|
|
202
|
+
: [ret] "={$0}" (-> u64),
|
|
203
|
+
[r16_out] "={$16}" (r16_out),
|
|
204
|
+
[r17_out] "={$17}" (r17_out),
|
|
205
|
+
[r18_out] "={$18}" (r18_out),
|
|
206
|
+
[r19_out] "={$19}" (r19_out),
|
|
207
|
+
[r20_out] "={$20}" (r20_out),
|
|
208
|
+
: [number] "{$0}" (number),
|
|
209
|
+
[arg1] "{$16}" (arg1),
|
|
210
|
+
[arg2] "{$17}" (arg2),
|
|
211
|
+
[arg3] "{$18}" (arg3),
|
|
212
|
+
[arg4] "{$19}" (arg4),
|
|
213
|
+
[arg5] "{$20}" (arg5),
|
|
214
|
+
: .{
|
|
215
|
+
.r1 = true,
|
|
216
|
+
.r2 = true,
|
|
217
|
+
.r3 = true,
|
|
218
|
+
.r4 = true,
|
|
219
|
+
.r5 = true,
|
|
220
|
+
.r6 = true,
|
|
221
|
+
.r7 = true,
|
|
222
|
+
.r8 = true,
|
|
223
|
+
.r22 = true,
|
|
224
|
+
.r23 = true,
|
|
225
|
+
.r24 = true,
|
|
226
|
+
.r25 = true,
|
|
227
|
+
.r27 = true,
|
|
228
|
+
.r28 = true,
|
|
229
|
+
.memory = true,
|
|
230
|
+
.r21 = true,
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
pub fn syscall6(
|
|
235
|
+
number: SYS,
|
|
236
|
+
arg1: u64,
|
|
237
|
+
arg2: u64,
|
|
238
|
+
arg3: u64,
|
|
239
|
+
arg4: u64,
|
|
240
|
+
arg5: u64,
|
|
241
|
+
arg6: u64,
|
|
242
|
+
) u64 {
|
|
243
|
+
// These registers are both inputs and clobbers.
|
|
244
|
+
var r16_out: u64 = undefined;
|
|
245
|
+
var r17_out: u64 = undefined;
|
|
246
|
+
var r18_out: u64 = undefined;
|
|
247
|
+
var r19_out: u64 = undefined;
|
|
248
|
+
var r20_out: u64 = undefined;
|
|
249
|
+
var r21_out: u64 = undefined;
|
|
250
|
+
return asm volatile (
|
|
251
|
+
\\ callsys
|
|
252
|
+
\\ beq $19, 1f
|
|
253
|
+
\\ negq $0, $0
|
|
254
|
+
\\1:
|
|
255
|
+
: [ret] "={$0}" (-> u64),
|
|
256
|
+
[r16_out] "={$16}" (r16_out),
|
|
257
|
+
[r17_out] "={$17}" (r17_out),
|
|
258
|
+
[r18_out] "={$18}" (r18_out),
|
|
259
|
+
[r19_out] "={$19}" (r19_out),
|
|
260
|
+
[r20_out] "={$20}" (r20_out),
|
|
261
|
+
[r21_out] "={$21}" (r21_out),
|
|
262
|
+
: [number] "{$0}" (number),
|
|
263
|
+
[arg1] "{$16}" (arg1),
|
|
264
|
+
[arg2] "{$17}" (arg2),
|
|
265
|
+
[arg3] "{$18}" (arg3),
|
|
266
|
+
[arg4] "{$19}" (arg4),
|
|
267
|
+
[arg5] "{$20}" (arg5),
|
|
268
|
+
[arg6] "{$21}" (arg6),
|
|
269
|
+
: .{
|
|
270
|
+
.r1 = true,
|
|
271
|
+
.r2 = true,
|
|
272
|
+
.r3 = true,
|
|
273
|
+
.r4 = true,
|
|
274
|
+
.r5 = true,
|
|
275
|
+
.r6 = true,
|
|
276
|
+
.r7 = true,
|
|
277
|
+
.r8 = true,
|
|
278
|
+
.r22 = true,
|
|
279
|
+
.r23 = true,
|
|
280
|
+
.r24 = true,
|
|
281
|
+
.r25 = true,
|
|
282
|
+
.r27 = true,
|
|
283
|
+
.r28 = true,
|
|
284
|
+
.memory = true,
|
|
285
|
+
});
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
pub fn clone() callconv(.naked) u64 {
|
|
289
|
+
// __clone(func, stack, flags, arg, ptid, tls, ctid)
|
|
290
|
+
// a0, a1, a2, a3, a4, a5, +0
|
|
291
|
+
//
|
|
292
|
+
// syscall(SYS_clone, flags, stack, ptid, ctid, tls)
|
|
293
|
+
// v0 a0, a1, a2, a3, a4
|
|
294
|
+
asm volatile (
|
|
295
|
+
// a0 = $16, a1 = $17, a2 = $18, a3 = $19,
|
|
296
|
+
// a4 = $20, a5 = $21, sp = $30, v0 = $0
|
|
297
|
+
\\ # Save function pointer and argument pointer on new thread stack
|
|
298
|
+
\\ ldi $1, -8
|
|
299
|
+
\\ and $17, $17, $1
|
|
300
|
+
\\ lda $17, -16($17)
|
|
301
|
+
\\ stq $16, 0($17)
|
|
302
|
+
\\ stq $19, 8($17)
|
|
303
|
+
\\
|
|
304
|
+
\\ # Shuffle (fn,sp,fl,arg,ptid,tls,ctid) to (fl,sp,ptid,ctid,tls)
|
|
305
|
+
\\ mov $18, $16
|
|
306
|
+
\\ mov $20, $18
|
|
307
|
+
\\ ldq $19, 0($30)
|
|
308
|
+
\\ mov $21, $20
|
|
309
|
+
\\
|
|
310
|
+
\\ # Actual syscall
|
|
311
|
+
\\ ldi $0, 312 # SYS_clone
|
|
312
|
+
\\ callsys
|
|
313
|
+
\\ beq $19, 1f
|
|
314
|
+
\\ negq $0, $0
|
|
315
|
+
\\ ret
|
|
316
|
+
\\1:
|
|
317
|
+
\\ beq $0, 2f
|
|
318
|
+
\\ ret
|
|
319
|
+
\\2:
|
|
320
|
+
);
|
|
321
|
+
if (builtin.unwind_tables != .none or !builtin.strip_debug_info) asm volatile (
|
|
322
|
+
// ra = $26
|
|
323
|
+
\\ .cfi_undefined $26
|
|
324
|
+
);
|
|
325
|
+
asm volatile (
|
|
326
|
+
// v0 = $0, t9 = $23, a0 = $16, ra = $26, sp = $30, fp = $15
|
|
327
|
+
\\ mov 0, $15
|
|
328
|
+
\\
|
|
329
|
+
\\ ldq $23, 0($30)
|
|
330
|
+
\\ ldq $16, 8($30)
|
|
331
|
+
\\ lda $30, 16($30)
|
|
332
|
+
\\ jsr $26, ($23)
|
|
333
|
+
\\
|
|
334
|
+
\\ mov $0, $16
|
|
335
|
+
\\ ldi $0, 1 # SYS_EXIT
|
|
336
|
+
\\ callsys
|
|
337
|
+
);
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
pub fn restore() noreturn {
|
|
341
|
+
asm volatile (
|
|
342
|
+
// v0 = $0, a0 = $16, sp = $30
|
|
343
|
+
\\ mov $30, $16
|
|
344
|
+
\\ ldi $0, 103 # SIGRETURN
|
|
345
|
+
\\ callsys
|
|
346
|
+
);
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
pub fn restore_rt() noreturn {
|
|
350
|
+
asm volatile (
|
|
351
|
+
// v0 = $0, a0 = $16, sp = $30
|
|
352
|
+
\\ mov $30, $16
|
|
353
|
+
\\ ldi $0, 351 # RT_SIGRETURN
|
|
354
|
+
\\ callsys
|
|
355
|
+
);
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
pub const VDSO = void;
|
package/std/os/linux/arm.zig
CHANGED
|
@@ -182,30 +182,4 @@ pub const VDSO = struct {
|
|
|
182
182
|
pub const CGT_VER = "LINUX_2.6";
|
|
183
183
|
};
|
|
184
184
|
|
|
185
|
-
pub const HWCAP = struct {
|
|
186
|
-
pub const SWP = 1 << 0;
|
|
187
|
-
pub const HALF = 1 << 1;
|
|
188
|
-
pub const THUMB = 1 << 2;
|
|
189
|
-
pub const @"26BIT" = 1 << 3;
|
|
190
|
-
pub const FAST_MULT = 1 << 4;
|
|
191
|
-
pub const FPA = 1 << 5;
|
|
192
|
-
pub const VFP = 1 << 6;
|
|
193
|
-
pub const EDSP = 1 << 7;
|
|
194
|
-
pub const JAVA = 1 << 8;
|
|
195
|
-
pub const IWMMXT = 1 << 9;
|
|
196
|
-
pub const CRUNCH = 1 << 10;
|
|
197
|
-
pub const THUMBEE = 1 << 11;
|
|
198
|
-
pub const NEON = 1 << 12;
|
|
199
|
-
pub const VFPv3 = 1 << 13;
|
|
200
|
-
pub const VFPv3D16 = 1 << 14;
|
|
201
|
-
pub const TLS = 1 << 15;
|
|
202
|
-
pub const VFPv4 = 1 << 16;
|
|
203
|
-
pub const IDIVA = 1 << 17;
|
|
204
|
-
pub const IDIVT = 1 << 18;
|
|
205
|
-
pub const VFPD32 = 1 << 19;
|
|
206
|
-
pub const IDIV = IDIVA | IDIVT;
|
|
207
|
-
pub const LPAE = 1 << 20;
|
|
208
|
-
pub const EVTSTRM = 1 << 21;
|
|
209
|
-
};
|
|
210
|
-
|
|
211
185
|
pub const time_t = i32;
|
package/std/os/linux/ioctl.zig
CHANGED