1/*
2 * Copyright (c) 2015 Ruslan Bukin <br@bsdpad.com>
3 * All rights reserved.
4 *
5 * This software was developed by the University of Cambridge Computer
6 * Laboratory as part of the CTSRD Project, with support from the UK Higher
7 * Education Innovation Fund (HEIF).
8 *
9 * Redistribution and use in source and binary forms, with or without
10 * modification, are permitted provided that the following conditions are
11 * met: redistributions of source code must retain the above copyright
12 * notice, this list of conditions and the following disclaimer;
13 * redistributions in binary form must reproduce the above copyright
14 * notice, this list of conditions and the following disclaimer in the
15 * documentation and/or other materials provided with the distribution;
16 * neither the name of the copyright holders nor the names of its
17 * contributors may be used to endorse or promote products derived from
18 * this software without specific prior written permission.
19 *
20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 */
32
33#include "arch/arm/freebsd/process.hh"
34
35#include <sys/mman.h>
36#include <sys/param.h>
37#include <sys/syscall.h>
38#include <sys/sysctl.h>
39#include <sys/types.h>
40#include <utime.h>
41
42#include "arch/arm/freebsd/freebsd.hh"
43#include "arch/arm/isa_traits.hh"
44#include "base/loader/object_file.hh"
45#include "base/trace.hh"
46#include "cpu/thread_context.hh"
47#include "kern/freebsd/freebsd.hh"
48#include "sim/process.hh"
49#include "sim/syscall_desc.hh"
50#include "sim/syscall_emul.hh"
51#include "sim/system.hh"
52
53using namespace std;
54using namespace ArmISA;
55
56namespace
57{
58
59class ArmFreebsdObjectFileLoader : public ObjectFile::Loader
60{
61  public:
62    Process *
63    load(ProcessParams *params, ObjectFile *obj_file) override
64    {
65        auto arch = obj_file->getArch();
66        auto opsys = obj_file->getOpSys();
67
68        if (arch != ObjectFile::Arm && arch != ObjectFile::Thumb &&
69                arch != ObjectFile::Arm64) {
70            return nullptr;
71        }
72
73        if (opsys != ObjectFile::FreeBSD)
74            return nullptr;
75
76        if (arch == ObjectFile::Arm64)
77            return new ArmFreebsdProcess64(params, obj_file, arch);
78        else
79            return new ArmFreebsdProcess32(params, obj_file, arch);
80    }
81};
82
83ArmFreebsdObjectFileLoader loader;
84
85} // anonymous namespace
86
87static SyscallReturn
88issetugidFunc(SyscallDesc *desc, int callnum, ThreadContext *tc)
89{
90    return 0;
91}
92
93static SyscallReturn
94sysctlFunc(SyscallDesc *desc, int callnum, ThreadContext *tc)
95{
96    int index = 0;
97    uint64_t ret;
98
99    auto process = tc->getProcessPtr();
100    Addr namep = process->getSyscallArg(tc, index);
101    size_t namelen = process->getSyscallArg(tc, index);
102    Addr oldp = process->getSyscallArg(tc, index);
103    Addr oldlenp = process->getSyscallArg(tc, index);
104    Addr newp = process->getSyscallArg(tc, index);
105    size_t newlen = process->getSyscallArg(tc, index);
106
107    BufferArg buf(namep, sizeof(size_t));
108    BufferArg buf2(oldp, sizeof(size_t));
109    BufferArg buf3(oldlenp, sizeof(size_t));
110    BufferArg buf4(newp, sizeof(size_t));
111
112    buf.copyIn(tc->getVirtProxy());
113    buf2.copyIn(tc->getVirtProxy());
114    buf3.copyIn(tc->getVirtProxy());
115
116    void *hnewp = NULL;
117    if (newp) {
118        buf4.copyIn(tc->getVirtProxy());
119        hnewp = (void *)buf4.bufferPtr();
120    }
121
122    uint32_t *hnamep = (uint32_t *)buf.bufferPtr();
123    void *holdp = (void *)buf2.bufferPtr();
124    size_t *holdlenp = (size_t *)buf3.bufferPtr();
125
126    ret = sysctl((int *)hnamep, namelen, holdp, holdlenp, hnewp, newlen);
127
128    buf.copyOut(tc->getVirtProxy());
129    buf2.copyOut(tc->getVirtProxy());
130    buf3.copyOut(tc->getVirtProxy());
131    if (newp)
132        buf4.copyOut(tc->getVirtProxy());
133
134    return (ret);
135}
136
137static SyscallDesc syscallDescs32[] = {
138    /*    0 */ SyscallDesc("unused#000", unimplementedFunc),
139    /*    1 */ SyscallDesc("unused#001", unimplementedFunc),
140    /*    2 */ SyscallDesc("unused#002", unimplementedFunc),
141    /*    3 */ SyscallDesc("unused#003", unimplementedFunc),
142    /*    4 */ SyscallDesc("unused#004", unimplementedFunc),
143    /*    5 */ SyscallDesc("unused#005", unimplementedFunc),
144    /*    6 */ SyscallDesc("unused#006", unimplementedFunc),
145    /*    7 */ SyscallDesc("unused#007", unimplementedFunc),
146    /*    8 */ SyscallDesc("unused#008", unimplementedFunc),
147    /*    9 */ SyscallDesc("unused#009", unimplementedFunc),
148    /*   10 */ SyscallDesc("unused#010", unimplementedFunc),
149    /*   11 */ SyscallDesc("unused#011", unimplementedFunc),
150    /*   12 */ SyscallDesc("unused#012", unimplementedFunc),
151    /*   13 */ SyscallDesc("unused#013", unimplementedFunc),
152    /*   14 */ SyscallDesc("unused#014", unimplementedFunc),
153    /*   15 */ SyscallDesc("unused#015", unimplementedFunc),
154    /*   16 */ SyscallDesc("unused#016", unimplementedFunc),
155    /*   17 */ SyscallDesc("unused#017", unimplementedFunc),
156    /*   18 */ SyscallDesc("unused#018", unimplementedFunc),
157    /*   19 */ SyscallDesc("unused#019", unimplementedFunc),
158    /*   20 */ SyscallDesc("unused#020", unimplementedFunc),
159    /*   21 */ SyscallDesc("unused#021", unimplementedFunc),
160    /*   22 */ SyscallDesc("unused#022", unimplementedFunc),
161    /*   23 */ SyscallDesc("unused#023", unimplementedFunc),
162    /*   24 */ SyscallDesc("unused#024", unimplementedFunc),
163    /*   25 */ SyscallDesc("unused#025", unimplementedFunc),
164    /*   26 */ SyscallDesc("unused#026", unimplementedFunc),
165    /*   27 */ SyscallDesc("unused#027", unimplementedFunc),
166    /*   28 */ SyscallDesc("unused#028", unimplementedFunc),
167    /*   29 */ SyscallDesc("unused#029", unimplementedFunc),
168    /*   30 */ SyscallDesc("unused#030", unimplementedFunc),
169    /*   31 */ SyscallDesc("unused#031", unimplementedFunc),
170    /*   32 */ SyscallDesc("unused#032", unimplementedFunc),
171    /*   33 */ SyscallDesc("unused#033", unimplementedFunc),
172    /*   34 */ SyscallDesc("unused#034", unimplementedFunc),
173    /*   35 */ SyscallDesc("unused#035", unimplementedFunc),
174    /*   36 */ SyscallDesc("unused#036", unimplementedFunc),
175    /*   37 */ SyscallDesc("unused#037", unimplementedFunc),
176    /*   38 */ SyscallDesc("unused#038", unimplementedFunc),
177    /*   39 */ SyscallDesc("unused#039", unimplementedFunc),
178    /*   40 */ SyscallDesc("unused#040", unimplementedFunc),
179    /*   41 */ SyscallDesc("unused#041", unimplementedFunc),
180    /*   42 */ SyscallDesc("unused#042", unimplementedFunc),
181    /*   43 */ SyscallDesc("unused#043", unimplementedFunc),
182    /*   44 */ SyscallDesc("unused#044", unimplementedFunc),
183    /*   45 */ SyscallDesc("unused#045", unimplementedFunc),
184    /*   46 */ SyscallDesc("unused#046", unimplementedFunc),
185    /*   47 */ SyscallDesc("unused#047", unimplementedFunc),
186    /*   48 */ SyscallDesc("unused#048", unimplementedFunc),
187    /*   49 */ SyscallDesc("unused#049", unimplementedFunc),
188    /*   50 */ SyscallDesc("unused#050", unimplementedFunc),
189    /*   51 */ SyscallDesc("unused#051", unimplementedFunc),
190    /*   52 */ SyscallDesc("unused#052", unimplementedFunc),
191    /*   53 */ SyscallDesc("unused#053", unimplementedFunc),
192    /*   54 */ SyscallDesc("unused#054", unimplementedFunc),
193    /*   55 */ SyscallDesc("unused#055", unimplementedFunc),
194    /*   56 */ SyscallDesc("unused#056", unimplementedFunc),
195    /*   57 */ SyscallDesc("unused#057", unimplementedFunc),
196    /*   58 */ SyscallDesc("unused#058", unimplementedFunc),
197    /*   59 */ SyscallDesc("unused#059", unimplementedFunc),
198    /*   60 */ SyscallDesc("unused#060", unimplementedFunc),
199    /*   61 */ SyscallDesc("unused#061", unimplementedFunc),
200    /*   62 */ SyscallDesc("unused#062", unimplementedFunc),
201    /*   63 */ SyscallDesc("unused#063", unimplementedFunc),
202    /*   64 */ SyscallDesc("unused#064", unimplementedFunc),
203    /*   65 */ SyscallDesc("unused#065", unimplementedFunc),
204    /*   66 */ SyscallDesc("unused#066", unimplementedFunc),
205    /*   67 */ SyscallDesc("unused#067", unimplementedFunc),
206    /*   68 */ SyscallDesc("unused#068", unimplementedFunc),
207    /*   69 */ SyscallDesc("unused#069", unimplementedFunc),
208    /*   70 */ SyscallDesc("unused#070", unimplementedFunc),
209    /*   71 */ SyscallDesc("unused#071", unimplementedFunc),
210    /*   72 */ SyscallDesc("unused#072", unimplementedFunc),
211    /*   73 */ SyscallDesc("unused#073", unimplementedFunc),
212    /*   74 */ SyscallDesc("unused#074", unimplementedFunc),
213    /*   75 */ SyscallDesc("unused#075", unimplementedFunc),
214    /*   76 */ SyscallDesc("unused#076", unimplementedFunc),
215    /*   77 */ SyscallDesc("unused#077", unimplementedFunc),
216    /*   78 */ SyscallDesc("unused#078", unimplementedFunc),
217    /*   79 */ SyscallDesc("unused#079", unimplementedFunc),
218    /*   80 */ SyscallDesc("unused#080", unimplementedFunc),
219    /*   81 */ SyscallDesc("unused#081", unimplementedFunc),
220    /*   82 */ SyscallDesc("unused#082", unimplementedFunc),
221    /*   83 */ SyscallDesc("unused#083", unimplementedFunc),
222    /*   84 */ SyscallDesc("unused#084", unimplementedFunc),
223    /*   85 */ SyscallDesc("unused#085", unimplementedFunc),
224    /*   86 */ SyscallDesc("unused#086", unimplementedFunc),
225    /*   87 */ SyscallDesc("unused#087", unimplementedFunc),
226    /*   88 */ SyscallDesc("unused#088", unimplementedFunc),
227    /*   89 */ SyscallDesc("unused#089", unimplementedFunc),
228    /*   90 */ SyscallDesc("unused#090", unimplementedFunc),
229    /*   91 */ SyscallDesc("unused#091", unimplementedFunc),
230    /*   92 */ SyscallDesc("unused#092", unimplementedFunc),
231    /*   93 */ SyscallDesc("unused#093", unimplementedFunc),
232    /*   94 */ SyscallDesc("unused#094", unimplementedFunc),
233    /*   95 */ SyscallDesc("unused#095", unimplementedFunc),
234    /*   96 */ SyscallDesc("unused#096", unimplementedFunc),
235    /*   97 */ SyscallDesc("unused#097", unimplementedFunc),
236    /*   98 */ SyscallDesc("unused#098", unimplementedFunc),
237    /*   99 */ SyscallDesc("unused#099", unimplementedFunc),
238    /*  100 */ SyscallDesc("unused#100", unimplementedFunc),
239    /*  101 */ SyscallDesc("unused#101", unimplementedFunc),
240    /*  102 */ SyscallDesc("unused#102", unimplementedFunc),
241    /*  103 */ SyscallDesc("unused#103", unimplementedFunc),
242    /*  104 */ SyscallDesc("unused#104", unimplementedFunc),
243    /*  105 */ SyscallDesc("unused#105", unimplementedFunc),
244    /*  106 */ SyscallDesc("unused#106", unimplementedFunc),
245    /*  107 */ SyscallDesc("unused#107", unimplementedFunc),
246    /*  108 */ SyscallDesc("unused#108", unimplementedFunc),
247    /*  109 */ SyscallDesc("unused#109", unimplementedFunc),
248    /*  110 */ SyscallDesc("unused#110", unimplementedFunc),
249    /*  111 */ SyscallDesc("unused#111", unimplementedFunc),
250    /*  112 */ SyscallDesc("unused#112", unimplementedFunc),
251    /*  113 */ SyscallDesc("unused#113", unimplementedFunc),
252    /*  114 */ SyscallDesc("unused#114", unimplementedFunc),
253    /*  115 */ SyscallDesc("unused#115", unimplementedFunc),
254    /*  116 */ SyscallDesc("unused#116", unimplementedFunc),
255    /*  117 */ SyscallDesc("unused#117", unimplementedFunc),
256    /*  118 */ SyscallDesc("unused#118", unimplementedFunc),
257    /*  119 */ SyscallDesc("unused#119", unimplementedFunc),
258    /*  120 */ SyscallDesc("unused#120", unimplementedFunc),
259    /*  121 */ SyscallDesc("unused#121", unimplementedFunc),
260    /*  122 */ SyscallDesc("unused#122", unimplementedFunc),
261    /*  123 */ SyscallDesc("unused#123", unimplementedFunc),
262    /*  124 */ SyscallDesc("unused#124", unimplementedFunc),
263    /*  125 */ SyscallDesc("unused#125", unimplementedFunc),
264    /*  126 */ SyscallDesc("unused#126", unimplementedFunc),
265    /*  127 */ SyscallDesc("unused#127", unimplementedFunc),
266    /*  128 */ SyscallDesc("unused#128", unimplementedFunc),
267    /*  129 */ SyscallDesc("unused#129", unimplementedFunc),
268    /*  130 */ SyscallDesc("unused#130", unimplementedFunc),
269    /*  131 */ SyscallDesc("unused#131", unimplementedFunc),
270    /*  132 */ SyscallDesc("unused#132", unimplementedFunc),
271    /*  133 */ SyscallDesc("unused#133", unimplementedFunc),
272    /*  134 */ SyscallDesc("unused#134", unimplementedFunc),
273    /*  135 */ SyscallDesc("unused#135", unimplementedFunc),
274    /*  136 */ SyscallDesc("unused#136", unimplementedFunc),
275    /*  137 */ SyscallDesc("unused#137", unimplementedFunc),
276    /*  138 */ SyscallDesc("unused#138", unimplementedFunc),
277    /*  139 */ SyscallDesc("unused#139", unimplementedFunc),
278    /*  140 */ SyscallDesc("unused#140", unimplementedFunc),
279    /*  141 */ SyscallDesc("unused#141", unimplementedFunc),
280    /*  142 */ SyscallDesc("unused#142", unimplementedFunc),
281    /*  143 */ SyscallDesc("unused#143", unimplementedFunc),
282    /*  144 */ SyscallDesc("unused#144", unimplementedFunc),
283    /*  145 */ SyscallDesc("unused#145", unimplementedFunc),
284    /*  146 */ SyscallDesc("unused#146", unimplementedFunc),
285    /*  147 */ SyscallDesc("unused#147", unimplementedFunc),
286    /*  148 */ SyscallDesc("unused#148", unimplementedFunc),
287    /*  149 */ SyscallDesc("unused#149", unimplementedFunc),
288    /*  150 */ SyscallDesc("unused#150", unimplementedFunc),
289    /*  151 */ SyscallDesc("unused#151", unimplementedFunc),
290    /*  152 */ SyscallDesc("unused#152", unimplementedFunc),
291    /*  153 */ SyscallDesc("unused#153", unimplementedFunc),
292    /*  154 */ SyscallDesc("unused#154", unimplementedFunc),
293    /*  155 */ SyscallDesc("unused#155", unimplementedFunc),
294    /*  156 */ SyscallDesc("unused#156", unimplementedFunc),
295    /*  157 */ SyscallDesc("unused#157", unimplementedFunc),
296    /*  158 */ SyscallDesc("unused#158", unimplementedFunc),
297    /*  159 */ SyscallDesc("unused#159", unimplementedFunc),
298    /*  160 */ SyscallDesc("unused#160", unimplementedFunc),
299    /*  161 */ SyscallDesc("unused#161", unimplementedFunc),
300    /*  162 */ SyscallDesc("unused#162", unimplementedFunc),
301    /*  163 */ SyscallDesc("unused#163", unimplementedFunc),
302    /*  164 */ SyscallDesc("unused#164", unimplementedFunc),
303    /*  165 */ SyscallDesc("unused#165", unimplementedFunc),
304    /*  166 */ SyscallDesc("unused#166", unimplementedFunc),
305    /*  167 */ SyscallDesc("unused#167", unimplementedFunc),
306    /*  168 */ SyscallDesc("unused#168", unimplementedFunc),
307    /*  169 */ SyscallDesc("unused#169", unimplementedFunc),
308    /*  170 */ SyscallDesc("unused#170", unimplementedFunc),
309    /*  171 */ SyscallDesc("unused#171", unimplementedFunc),
310    /*  172 */ SyscallDesc("unused#172", unimplementedFunc),
311    /*  173 */ SyscallDesc("unused#173", unimplementedFunc),
312    /*  174 */ SyscallDesc("unused#174", unimplementedFunc),
313    /*  175 */ SyscallDesc("unused#175", unimplementedFunc),
314    /*  176 */ SyscallDesc("unused#176", unimplementedFunc),
315    /*  177 */ SyscallDesc("unused#177", unimplementedFunc),
316    /*  178 */ SyscallDesc("unused#178", unimplementedFunc),
317    /*  179 */ SyscallDesc("unused#179", unimplementedFunc),
318    /*  180 */ SyscallDesc("unused#180", unimplementedFunc),
319    /*  181 */ SyscallDesc("unused#181", unimplementedFunc),
320    /*  182 */ SyscallDesc("unused#182", unimplementedFunc),
321    /*  183 */ SyscallDesc("unused#183", unimplementedFunc),
322    /*  184 */ SyscallDesc("unused#184", unimplementedFunc),
323    /*  185 */ SyscallDesc("unused#185", unimplementedFunc),
324    /*  186 */ SyscallDesc("unused#186", unimplementedFunc),
325    /*  187 */ SyscallDesc("unused#187", unimplementedFunc),
326    /*  188 */ SyscallDesc("unused#188", unimplementedFunc),
327    /*  189 */ SyscallDesc("unused#189", unimplementedFunc),
328    /*  190 */ SyscallDesc("unused#190", unimplementedFunc),
329    /*  191 */ SyscallDesc("unused#191", unimplementedFunc),
330    /*  192 */ SyscallDesc("unused#192", unimplementedFunc),
331    /*  193 */ SyscallDesc("unused#193", unimplementedFunc),
332    /*  194 */ SyscallDesc("unused#194", unimplementedFunc),
333    /*  195 */ SyscallDesc("unused#195", unimplementedFunc),
334    /*  196 */ SyscallDesc("unused#196", unimplementedFunc),
335    /*  197 */ SyscallDesc("unused#197", unimplementedFunc),
336    /*  198 */ SyscallDesc("unused#198", unimplementedFunc),
337    /*  199 */ SyscallDesc("unused#199", unimplementedFunc),
338    /*  200 */ SyscallDesc("unused#200", unimplementedFunc),
339    /*  201 */ SyscallDesc("unused#201", unimplementedFunc),
340    /*  202 */ SyscallDesc("unused#202", unimplementedFunc),
341    /*  203 */ SyscallDesc("unused#203", unimplementedFunc),
342    /*  204 */ SyscallDesc("unused#204", unimplementedFunc),
343    /*  205 */ SyscallDesc("unused#205", unimplementedFunc),
344    /*  206 */ SyscallDesc("unused#206", unimplementedFunc),
345    /*  207 */ SyscallDesc("unused#207", unimplementedFunc),
346    /*  208 */ SyscallDesc("unused#208", unimplementedFunc),
347    /*  209 */ SyscallDesc("unused#209", unimplementedFunc),
348    /*  210 */ SyscallDesc("unused#210", unimplementedFunc),
349    /*  211 */ SyscallDesc("unused#211", unimplementedFunc),
350    /*  212 */ SyscallDesc("unused#212", unimplementedFunc),
351    /*  213 */ SyscallDesc("unused#213", unimplementedFunc),
352    /*  214 */ SyscallDesc("unused#214", unimplementedFunc),
353    /*  215 */ SyscallDesc("unused#215", unimplementedFunc),
354    /*  216 */ SyscallDesc("unused#216", unimplementedFunc),
355    /*  217 */ SyscallDesc("unused#217", unimplementedFunc),
356    /*  218 */ SyscallDesc("unused#218", unimplementedFunc),
357    /*  219 */ SyscallDesc("unused#219", unimplementedFunc),
358    /*  220 */ SyscallDesc("unused#220", unimplementedFunc),
359    /*  221 */ SyscallDesc("unused#221", unimplementedFunc),
360    /*  222 */ SyscallDesc("unused#222", unimplementedFunc),
361    /*  223 */ SyscallDesc("unused#223", unimplementedFunc),
362    /*  224 */ SyscallDesc("unused#224", unimplementedFunc),
363    /*  225 */ SyscallDesc("unused#225", unimplementedFunc),
364    /*  226 */ SyscallDesc("unused#226", unimplementedFunc),
365    /*  227 */ SyscallDesc("unused#227", unimplementedFunc),
366    /*  228 */ SyscallDesc("unused#228", unimplementedFunc),
367    /*  229 */ SyscallDesc("unused#229", unimplementedFunc),
368    /*  230 */ SyscallDesc("unused#230", unimplementedFunc),
369    /*  231 */ SyscallDesc("unused#231", unimplementedFunc),
370    /*  232 */ SyscallDesc("unused#232", unimplementedFunc),
371    /*  233 */ SyscallDesc("unused#233", unimplementedFunc),
372    /*  234 */ SyscallDesc("unused#234", unimplementedFunc),
373    /*  235 */ SyscallDesc("unused#235", unimplementedFunc),
374    /*  236 */ SyscallDesc("unused#236", unimplementedFunc),
375    /*  237 */ SyscallDesc("unused#237", unimplementedFunc),
376    /*  238 */ SyscallDesc("unused#238", unimplementedFunc),
377    /*  239 */ SyscallDesc("unused#239", unimplementedFunc),
378    /*  240 */ SyscallDesc("unused#240", unimplementedFunc),
379    /*  241 */ SyscallDesc("unused#241", unimplementedFunc),
380    /*  242 */ SyscallDesc("unused#242", unimplementedFunc),
381    /*  243 */ SyscallDesc("unused#243", unimplementedFunc),
382    /*  244 */ SyscallDesc("unused#244", unimplementedFunc),
383    /*  245 */ SyscallDesc("unused#245", unimplementedFunc),
384    /*  246 */ SyscallDesc("unused#246", unimplementedFunc),
385    /*  247 */ SyscallDesc("unused#247", unimplementedFunc),
386    /*  248 */ SyscallDesc("unused#248", unimplementedFunc),
387    /*  249 */ SyscallDesc("unused#249", unimplementedFunc),
388    /*  250 */ SyscallDesc("unused#250", unimplementedFunc),
389    /*  251 */ SyscallDesc("unused#251", unimplementedFunc),
390    /*  252 */ SyscallDesc("unused#252", unimplementedFunc),
391    /*  253 */ SyscallDesc("unused#253", unimplementedFunc),
392    /*  254 */ SyscallDesc("unused#254", unimplementedFunc),
393    /*  255 */ SyscallDesc("unused#255", unimplementedFunc),
394    /*  256 */ SyscallDesc("unused#256", unimplementedFunc),
395    /*  257 */ SyscallDesc("unused#257", unimplementedFunc),
396    /*  258 */ SyscallDesc("unused#258", unimplementedFunc),
397    /*  259 */ SyscallDesc("unused#259", unimplementedFunc),
398    /*  260 */ SyscallDesc("unused#260", unimplementedFunc),
399    /*  261 */ SyscallDesc("unused#261", unimplementedFunc),
400    /*  262 */ SyscallDesc("unused#262", unimplementedFunc),
401    /*  263 */ SyscallDesc("unused#263", unimplementedFunc),
402    /*  264 */ SyscallDesc("unused#264", unimplementedFunc),
403    /*  265 */ SyscallDesc("unused#265", unimplementedFunc),
404    /*  266 */ SyscallDesc("unused#266", unimplementedFunc),
405    /*  267 */ SyscallDesc("unused#267", unimplementedFunc),
406    /*  268 */ SyscallDesc("unused#268", unimplementedFunc),
407    /*  269 */ SyscallDesc("unused#269", unimplementedFunc),
408    /*  270 */ SyscallDesc("unused#270", unimplementedFunc),
409    /*  271 */ SyscallDesc("unused#271", unimplementedFunc),
410    /*  272 */ SyscallDesc("unused#272", unimplementedFunc),
411    /*  273 */ SyscallDesc("unused#273", unimplementedFunc),
412    /*  274 */ SyscallDesc("unused#274", unimplementedFunc),
413    /*  275 */ SyscallDesc("unused#275", unimplementedFunc),
414    /*  276 */ SyscallDesc("unused#276", unimplementedFunc),
415    /*  277 */ SyscallDesc("unused#277", unimplementedFunc),
416    /*  278 */ SyscallDesc("unused#278", unimplementedFunc),
417    /*  279 */ SyscallDesc("unused#279", unimplementedFunc),
418    /*  280 */ SyscallDesc("unused#280", unimplementedFunc),
419    /*  281 */ SyscallDesc("unused#281", unimplementedFunc),
420    /*  282 */ SyscallDesc("unused#282", unimplementedFunc),
421    /*  283 */ SyscallDesc("unused#283", unimplementedFunc),
422    /*  284 */ SyscallDesc("unused#284", unimplementedFunc),
423    /*  285 */ SyscallDesc("unused#285", unimplementedFunc),
424    /*  286 */ SyscallDesc("unused#286", unimplementedFunc),
425    /*  287 */ SyscallDesc("unused#287", unimplementedFunc),
426    /*  288 */ SyscallDesc("unused#288", unimplementedFunc),
427    /*  289 */ SyscallDesc("unused#289", unimplementedFunc),
428    /*  290 */ SyscallDesc("unused#290", unimplementedFunc),
429    /*  291 */ SyscallDesc("unused#291", unimplementedFunc),
430    /*  292 */ SyscallDesc("unused#292", unimplementedFunc),
431    /*  293 */ SyscallDesc("unused#293", unimplementedFunc),
432    /*  294 */ SyscallDesc("unused#294", unimplementedFunc),
433    /*  295 */ SyscallDesc("unused#295", unimplementedFunc),
434    /*  296 */ SyscallDesc("unused#296", unimplementedFunc),
435    /*  297 */ SyscallDesc("unused#297", unimplementedFunc),
436    /*  298 */ SyscallDesc("unused#298", unimplementedFunc),
437    /*  299 */ SyscallDesc("unused#299", unimplementedFunc),
438    /*  300 */ SyscallDesc("unused#300", unimplementedFunc),
439    /*  301 */ SyscallDesc("unused#301", unimplementedFunc),
440    /*  302 */ SyscallDesc("unused#302", unimplementedFunc),
441    /*  303 */ SyscallDesc("unused#303", unimplementedFunc),
442    /*  304 */ SyscallDesc("unused#304", unimplementedFunc),
443    /*  305 */ SyscallDesc("unused#305", unimplementedFunc),
444    /*  306 */ SyscallDesc("unused#306", unimplementedFunc),
445    /*  307 */ SyscallDesc("unused#307", unimplementedFunc),
446    /*  308 */ SyscallDesc("unused#308", unimplementedFunc),
447    /*  309 */ SyscallDesc("unused#309", unimplementedFunc),
448    /*  310 */ SyscallDesc("unused#310", unimplementedFunc),
449    /*  311 */ SyscallDesc("unused#311", unimplementedFunc),
450    /*  312 */ SyscallDesc("unused#312", unimplementedFunc),
451    /*  313 */ SyscallDesc("unused#313", unimplementedFunc),
452    /*  314 */ SyscallDesc("unused#314", unimplementedFunc),
453    /*  315 */ SyscallDesc("unused#315", unimplementedFunc),
454    /*  316 */ SyscallDesc("unused#316", unimplementedFunc),
455    /*  317 */ SyscallDesc("unused#317", unimplementedFunc),
456    /*  318 */ SyscallDesc("unused#318", unimplementedFunc),
457    /*  319 */ SyscallDesc("unused#319", unimplementedFunc),
458    /*  320 */ SyscallDesc("unused#320", unimplementedFunc),
459    /*  321 */ SyscallDesc("unused#321", unimplementedFunc),
460    /*  322 */ SyscallDesc("unused#322", unimplementedFunc),
461    /*  323 */ SyscallDesc("unused#323", unimplementedFunc),
462    /*  324 */ SyscallDesc("unused#324", unimplementedFunc),
463    /*  325 */ SyscallDesc("unused#325", unimplementedFunc),
464    /*  326 */ SyscallDesc("unused#326", unimplementedFunc),
465    /*  327 */ SyscallDesc("unused#327", unimplementedFunc),
466    /*  328 */ SyscallDesc("unused#328", unimplementedFunc),
467    /*  329 */ SyscallDesc("unused#329", unimplementedFunc),
468    /*  330 */ SyscallDesc("unused#330", unimplementedFunc),
469    /*  331 */ SyscallDesc("unused#331", unimplementedFunc),
470    /*  332 */ SyscallDesc("unused#332", unimplementedFunc),
471    /*  333 */ SyscallDesc("unused#333", unimplementedFunc),
472    /*  334 */ SyscallDesc("unused#334", unimplementedFunc),
473    /*  335 */ SyscallDesc("unused#335", unimplementedFunc),
474    /*  336 */ SyscallDesc("unused#336", unimplementedFunc),
475    /*  337 */ SyscallDesc("unused#337", unimplementedFunc),
476    /*  338 */ SyscallDesc("unused#338", unimplementedFunc),
477    /*  339 */ SyscallDesc("unused#339", unimplementedFunc),
478    /*  340 */ SyscallDesc("unused#340", unimplementedFunc),
479    /*  341 */ SyscallDesc("unused#341", unimplementedFunc),
480    /*  342 */ SyscallDesc("unused#342", unimplementedFunc),
481    /*  343 */ SyscallDesc("unused#343", unimplementedFunc),
482    /*  344 */ SyscallDesc("unused#344", unimplementedFunc),
483    /*  345 */ SyscallDesc("unused#345", unimplementedFunc),
484    /*  346 */ SyscallDesc("unused#346", unimplementedFunc),
485    /*  347 */ SyscallDesc("unused#347", unimplementedFunc),
486    /*  348 */ SyscallDesc("unused#348", unimplementedFunc),
487    /*  349 */ SyscallDesc("unused#349", unimplementedFunc),
488    /*  350 */ SyscallDesc("unused#350", unimplementedFunc),
489    /*  351 */ SyscallDesc("unused#351", unimplementedFunc),
490    /*  352 */ SyscallDesc("unused#352", unimplementedFunc),
491    /*  353 */ SyscallDesc("unused#353", unimplementedFunc),
492    /*  354 */ SyscallDesc("unused#354", unimplementedFunc),
493    /*  355 */ SyscallDesc("unused#355", unimplementedFunc),
494    /*  356 */ SyscallDesc("unused#356", unimplementedFunc),
495    /*  357 */ SyscallDesc("unused#357", unimplementedFunc),
496    /*  358 */ SyscallDesc("unused#358", unimplementedFunc),
497    /*  359 */ SyscallDesc("unused#359", unimplementedFunc),
498    /*  360 */ SyscallDesc("unused#360", unimplementedFunc),
499    /*  361 */ SyscallDesc("unused#361", unimplementedFunc),
500    /*  362 */ SyscallDesc("unused#362", unimplementedFunc),
501    /*  363 */ SyscallDesc("unused#363", unimplementedFunc),
502    /*  364 */ SyscallDesc("unused#364", unimplementedFunc),
503    /*  365 */ SyscallDesc("unused#365", unimplementedFunc),
504    /*  366 */ SyscallDesc("unused#366", unimplementedFunc),
505    /*  367 */ SyscallDesc("unused#367", unimplementedFunc),
506    /*  368 */ SyscallDesc("unused#368", unimplementedFunc),
507    /*  369 */ SyscallDesc("unused#369", unimplementedFunc),
508    /*  370 */ SyscallDesc("unused#370", unimplementedFunc),
509    /*  371 */ SyscallDesc("unused#371", unimplementedFunc),
510    /*  372 */ SyscallDesc("unused#372", unimplementedFunc),
511    /*  373 */ SyscallDesc("unused#373", unimplementedFunc),
512    /*  374 */ SyscallDesc("unused#374", unimplementedFunc),
513    /*  375 */ SyscallDesc("unused#375", unimplementedFunc),
514    /*  376 */ SyscallDesc("unused#376", unimplementedFunc),
515    /*  377 */ SyscallDesc("unused#377", unimplementedFunc),
516    /*  378 */ SyscallDesc("unused#378", unimplementedFunc),
517    /*  379 */ SyscallDesc("unused#379", unimplementedFunc),
518    /*  380 */ SyscallDesc("unused#380", unimplementedFunc),
519    /*  381 */ SyscallDesc("unused#381", unimplementedFunc),
520    /*  382 */ SyscallDesc("unused#382", unimplementedFunc),
521    /*  383 */ SyscallDesc("unused#383", unimplementedFunc),
522    /*  384 */ SyscallDesc("unused#384", unimplementedFunc),
523    /*  385 */ SyscallDesc("unused#385", unimplementedFunc),
524    /*  386 */ SyscallDesc("unused#386", unimplementedFunc),
525    /*  387 */ SyscallDesc("unused#387", unimplementedFunc),
526    /*  388 */ SyscallDesc("unused#388", unimplementedFunc),
527    /*  389 */ SyscallDesc("unused#389", unimplementedFunc),
528    /*  390 */ SyscallDesc("unused#390", unimplementedFunc),
529    /*  391 */ SyscallDesc("unused#391", unimplementedFunc),
530    /*  392 */ SyscallDesc("unused#392", unimplementedFunc),
531    /*  393 */ SyscallDesc("unused#393", unimplementedFunc),
532    /*  394 */ SyscallDesc("unused#394", unimplementedFunc),
533    /*  395 */ SyscallDesc("unused#395", unimplementedFunc),
534    /*  396 */ SyscallDesc("unused#396", unimplementedFunc),
535    /*  397 */ SyscallDesc("unused#397", unimplementedFunc),
536    /*  398 */ SyscallDesc("unused#398", unimplementedFunc),
537    /*  399 */ SyscallDesc("unused#399", unimplementedFunc),
538    /*  400 */ SyscallDesc("unused#400", unimplementedFunc),
539    /*  401 */ SyscallDesc("unused#401", unimplementedFunc),
540    /*  402 */ SyscallDesc("unused#402", unimplementedFunc),
541    /*  403 */ SyscallDesc("unused#403", unimplementedFunc),
542    /*  404 */ SyscallDesc("unused#404", unimplementedFunc),
543    /*  405 */ SyscallDesc("unused#405", unimplementedFunc),
544    /*  406 */ SyscallDesc("unused#406", unimplementedFunc),
545    /*  407 */ SyscallDesc("unused#407", unimplementedFunc),
546    /*  408 */ SyscallDesc("unused#408", unimplementedFunc),
547    /*  409 */ SyscallDesc("unused#409", unimplementedFunc),
548    /*  410 */ SyscallDesc("unused#410", unimplementedFunc),
549    /*  411 */ SyscallDesc("unused#411", unimplementedFunc),
550    /*  412 */ SyscallDesc("unused#412", unimplementedFunc),
551    /*  413 */ SyscallDesc("unused#413", unimplementedFunc),
552    /*  414 */ SyscallDesc("unused#414", unimplementedFunc),
553    /*  415 */ SyscallDesc("unused#415", unimplementedFunc),
554    /*  416 */ SyscallDesc("unused#416", unimplementedFunc),
555    /*  417 */ SyscallDesc("unused#417", unimplementedFunc),
556    /*  418 */ SyscallDesc("unused#418", unimplementedFunc),
557    /*  419 */ SyscallDesc("unused#419", unimplementedFunc),
558    /*  420 */ SyscallDesc("unused#420", unimplementedFunc),
559    /*  421 */ SyscallDesc("unused#421", unimplementedFunc),
560    /*  422 */ SyscallDesc("unused#422", unimplementedFunc),
561    /*  423 */ SyscallDesc("unused#423", unimplementedFunc),
562    /*  424 */ SyscallDesc("unused#424", unimplementedFunc),
563    /*  425 */ SyscallDesc("unused#425", unimplementedFunc),
564    /*  426 */ SyscallDesc("unused#426", unimplementedFunc),
565    /*  427 */ SyscallDesc("unused#427", unimplementedFunc),
566    /*  428 */ SyscallDesc("unused#428", unimplementedFunc),
567    /*  429 */ SyscallDesc("unused#429", unimplementedFunc),
568    /*  430 */ SyscallDesc("unused#430", unimplementedFunc),
569    /*  431 */ SyscallDesc("unused#431", unimplementedFunc),
570    /*  432 */ SyscallDesc("unused#432", unimplementedFunc),
571    /*  433 */ SyscallDesc("unused#433", unimplementedFunc),
572    /*  434 */ SyscallDesc("unused#434", unimplementedFunc),
573    /*  435 */ SyscallDesc("unused#435", unimplementedFunc),
574    /*  436 */ SyscallDesc("unused#436", unimplementedFunc),
575    /*  437 */ SyscallDesc("unused#437", unimplementedFunc),
576    /*  438 */ SyscallDesc("unused#438", unimplementedFunc),
577    /*  439 */ SyscallDesc("unused#439", unimplementedFunc),
578    /*  440 */ SyscallDesc("unused#440", unimplementedFunc),
579    /*  441 */ SyscallDesc("unused#441", unimplementedFunc),
580    /*  442 */ SyscallDesc("unused#442", unimplementedFunc),
581    /*  443 */ SyscallDesc("unused#443", unimplementedFunc),
582    /*  444 */ SyscallDesc("unused#444", unimplementedFunc),
583    /*  445 */ SyscallDesc("unused#445", unimplementedFunc),
584    /*  446 */ SyscallDesc("unused#446", unimplementedFunc),
585    /*  447 */ SyscallDesc("unused#447", unimplementedFunc),
586    /*  448 */ SyscallDesc("unused#448", unimplementedFunc),
587    /*  449 */ SyscallDesc("unused#449", unimplementedFunc),
588    /*  450 */ SyscallDesc("unused#450", unimplementedFunc),
589    /*  451 */ SyscallDesc("unused#451", unimplementedFunc),
590    /*  452 */ SyscallDesc("unused#452", unimplementedFunc),
591    /*  453 */ SyscallDesc("unused#453", unimplementedFunc),
592    /*  454 */ SyscallDesc("unused#454", unimplementedFunc),
593    /*  455 */ SyscallDesc("unused#455", unimplementedFunc),
594    /*  456 */ SyscallDesc("unused#456", unimplementedFunc),
595    /*  457 */ SyscallDesc("unused#457", unimplementedFunc),
596    /*  458 */ SyscallDesc("unused#458", unimplementedFunc),
597    /*  459 */ SyscallDesc("unused#459", unimplementedFunc),
598    /*  460 */ SyscallDesc("unused#460", unimplementedFunc),
599    /*  461 */ SyscallDesc("unused#461", unimplementedFunc),
600    /*  462 */ SyscallDesc("unused#462", unimplementedFunc),
601    /*  463 */ SyscallDesc("unused#463", unimplementedFunc),
602    /*  464 */ SyscallDesc("unused#464", unimplementedFunc),
603    /*  465 */ SyscallDesc("unused#465", unimplementedFunc),
604    /*  466 */ SyscallDesc("unused#466", unimplementedFunc),
605    /*  467 */ SyscallDesc("unused#467", unimplementedFunc),
606    /*  468 */ SyscallDesc("unused#468", unimplementedFunc),
607    /*  469 */ SyscallDesc("unused#469", unimplementedFunc),
608    /*  470 */ SyscallDesc("unused#470", unimplementedFunc),
609    /*  471 */ SyscallDesc("unused#471", unimplementedFunc),
610    /*  472 */ SyscallDesc("unused#472", unimplementedFunc),
611    /*  473 */ SyscallDesc("unused#473", unimplementedFunc),
612    /*  474 */ SyscallDesc("unused#474", unimplementedFunc),
613    /*  475 */ SyscallDesc("unused#475", unimplementedFunc),
614    /*  476 */ SyscallDesc("unused#476", unimplementedFunc),
615    /*  477 */ SyscallDesc("unused#477", unimplementedFunc),
616    /*  478 */ SyscallDesc("unused#478", unimplementedFunc),
617    /*  479 */ SyscallDesc("unused#479", unimplementedFunc),
618    /*  480 */ SyscallDesc("unused#480", unimplementedFunc),
619    /*  481 */ SyscallDesc("unused#481", unimplementedFunc),
620    /*  482 */ SyscallDesc("unused#482", unimplementedFunc),
621    /*  483 */ SyscallDesc("unused#483", unimplementedFunc),
622    /*  484 */ SyscallDesc("unused#484", unimplementedFunc),
623    /*  485 */ SyscallDesc("unused#485", unimplementedFunc),
624    /*  486 */ SyscallDesc("unused#486", unimplementedFunc),
625    /*  487 */ SyscallDesc("unused#487", unimplementedFunc),
626    /*  488 */ SyscallDesc("unused#488", unimplementedFunc),
627    /*  489 */ SyscallDesc("unused#489", unimplementedFunc),
628    /*  490 */ SyscallDesc("unused#490", unimplementedFunc),
629    /*  491 */ SyscallDesc("unused#491", unimplementedFunc),
630    /*  492 */ SyscallDesc("unused#492", unimplementedFunc),
631    /*  493 */ SyscallDesc("unused#493", unimplementedFunc),
632    /*  494 */ SyscallDesc("unused#494", unimplementedFunc),
633    /*  495 */ SyscallDesc("unused#495", unimplementedFunc),
634    /*  496 */ SyscallDesc("unused#496", unimplementedFunc),
635    /*  497 */ SyscallDesc("unused#497", unimplementedFunc),
636    /*  498 */ SyscallDesc("unused#498", unimplementedFunc),
637    /*  499 */ SyscallDesc("unused#499", unimplementedFunc),
638    /*  500 */ SyscallDesc("unused#500", unimplementedFunc),
639    /*  501 */ SyscallDesc("unused#501", unimplementedFunc),
640    /*  502 */ SyscallDesc("unused#502", unimplementedFunc),
641    /*  503 */ SyscallDesc("unused#503", unimplementedFunc),
642    /*  504 */ SyscallDesc("unused#504", unimplementedFunc),
643    /*  505 */ SyscallDesc("unused#505", unimplementedFunc),
644    /*  506 */ SyscallDesc("unused#506", unimplementedFunc),
645    /*  507 */ SyscallDesc("unused#507", unimplementedFunc),
646    /*  508 */ SyscallDesc("unused#508", unimplementedFunc),
647    /*  509 */ SyscallDesc("unused#509", unimplementedFunc),
648    /*  510 */ SyscallDesc("unused#510", unimplementedFunc),
649    /*  511 */ SyscallDesc("unused#511", unimplementedFunc),
650    /*  512 */ SyscallDesc("unused#512", unimplementedFunc),
651    /*  513 */ SyscallDesc("unused#513", unimplementedFunc),
652    /*  514 */ SyscallDesc("unused#514", unimplementedFunc),
653    /*  515 */ SyscallDesc("unused#515", unimplementedFunc),
654    /*  516 */ SyscallDesc("unused#516", unimplementedFunc),
655    /*  517 */ SyscallDesc("unused#517", unimplementedFunc),
656    /*  518 */ SyscallDesc("unused#518", unimplementedFunc),
657    /*  519 */ SyscallDesc("unused#519", unimplementedFunc),
658    /*  520 */ SyscallDesc("unused#520", unimplementedFunc),
659    /*  521 */ SyscallDesc("unused#521", unimplementedFunc),
660    /*  522 */ SyscallDesc("unused#522", unimplementedFunc),
661    /*  523 */ SyscallDesc("unused#523", unimplementedFunc),
662    /*  524 */ SyscallDesc("unused#524", unimplementedFunc),
663    /*  525 */ SyscallDesc("unused#525", unimplementedFunc),
664    /*  526 */ SyscallDesc("unused#526", unimplementedFunc),
665    /*  527 */ SyscallDesc("unused#527", unimplementedFunc),
666    /*  528 */ SyscallDesc("unused#528", unimplementedFunc),
667    /*  529 */ SyscallDesc("unused#529", unimplementedFunc),
668    /*  530 */ SyscallDesc("unused#530", unimplementedFunc),
669    /*  531 */ SyscallDesc("unused#531", unimplementedFunc),
670    /*  532 */ SyscallDesc("unused#532", unimplementedFunc),
671    /*  533 */ SyscallDesc("unused#533", unimplementedFunc),
672    /*  534 */ SyscallDesc("unused#534", unimplementedFunc),
673    /*  535 */ SyscallDesc("unused#535", unimplementedFunc),
674    /*  536 */ SyscallDesc("unused#536", unimplementedFunc),
675    /*  537 */ SyscallDesc("unused#537", unimplementedFunc),
676    /*  538 */ SyscallDesc("unused#538", unimplementedFunc),
677    /*  539 */ SyscallDesc("unused#539", unimplementedFunc),
678    /*  540 */ SyscallDesc("unused#540", unimplementedFunc),
679    /*  541 */ SyscallDesc("unused#541", unimplementedFunc),
680    /*  542 */ SyscallDesc("unused#542", unimplementedFunc),
681    /*  543 */ SyscallDesc("unused#543", unimplementedFunc),
682    /*  544 */ SyscallDesc("unused#544", unimplementedFunc),
683    /*  545 */ SyscallDesc("unused#545", unimplementedFunc),
684    /*  546 */ SyscallDesc("unused#546", unimplementedFunc),
685    /*  547 */ SyscallDesc("unused#547", unimplementedFunc),
686};
687
688static SyscallDesc syscallDescs64[] = {
689    /*    0 */ SyscallDesc("unused#000", unimplementedFunc),
690    /*    1 */ SyscallDesc("exit", exitFunc),
691    /*    2 */ SyscallDesc("unused#002", unimplementedFunc),
692    /*    3 */ SyscallDesc("read", readFunc<ArmFreebsd64>),
693    /*    4 */ SyscallDesc("write", writeFunc<ArmFreebsd64>),
694    /*    5 */ SyscallDesc("unused#005", unimplementedFunc),
695    /*    6 */ SyscallDesc("unused#006", unimplementedFunc),
696    /*    7 */ SyscallDesc("unused#007", unimplementedFunc),
697    /*    8 */ SyscallDesc("unused#008", unimplementedFunc),
698    /*    9 */ SyscallDesc("unused#009", unimplementedFunc),
699    /*   10 */ SyscallDesc("unused#010", unimplementedFunc),
700    /*   11 */ SyscallDesc("unused#011", unimplementedFunc),
701    /*   12 */ SyscallDesc("unused#012", unimplementedFunc),
702    /*   13 */ SyscallDesc("unused#013", unimplementedFunc),
703    /*   14 */ SyscallDesc("unused#014", unimplementedFunc),
704    /*   15 */ SyscallDesc("unused#015", unimplementedFunc),
705    /*   16 */ SyscallDesc("unused#016", unimplementedFunc),
706    /*   17 */ SyscallDesc("obreak", brkFunc),
707    /*   18 */ SyscallDesc("unused#018", unimplementedFunc),
708    /*   19 */ SyscallDesc("unused#019", unimplementedFunc),
709    /*   20 */ SyscallDesc("unused#020", unimplementedFunc),
710    /*   21 */ SyscallDesc("unused#021", unimplementedFunc),
711    /*   22 */ SyscallDesc("unused#022", unimplementedFunc),
712    /*   23 */ SyscallDesc("unused#023", unimplementedFunc),
713    /*   24 */ SyscallDesc("unused#024", unimplementedFunc),
714    /*   25 */ SyscallDesc("unused#025", unimplementedFunc),
715    /*   26 */ SyscallDesc("unused#026", unimplementedFunc),
716    /*   27 */ SyscallDesc("unused#027", unimplementedFunc),
717    /*   28 */ SyscallDesc("unused#028", unimplementedFunc),
718    /*   29 */ SyscallDesc("unused#029", unimplementedFunc),
719    /*   30 */ SyscallDesc("unused#030", unimplementedFunc),
720    /*   31 */ SyscallDesc("unused#031", unimplementedFunc),
721    /*   32 */ SyscallDesc("unused#032", unimplementedFunc),
722    /*   33 */ SyscallDesc("unused#033", unimplementedFunc),
723    /*   34 */ SyscallDesc("unused#034", unimplementedFunc),
724    /*   35 */ SyscallDesc("unused#035", unimplementedFunc),
725    /*   36 */ SyscallDesc("unused#036", unimplementedFunc),
726    /*   37 */ SyscallDesc("unused#037", unimplementedFunc),
727    /*   38 */ SyscallDesc("unused#038", unimplementedFunc),
728    /*   39 */ SyscallDesc("unused#039", unimplementedFunc),
729    /*   40 */ SyscallDesc("unused#040", unimplementedFunc),
730    /*   41 */ SyscallDesc("unused#041", unimplementedFunc),
731    /*   42 */ SyscallDesc("unused#042", unimplementedFunc),
732    /*   43 */ SyscallDesc("unused#043", unimplementedFunc),
733    /*   44 */ SyscallDesc("unused#044", unimplementedFunc),
734    /*   45 */ SyscallDesc("unused#045", unimplementedFunc),
735    /*   46 */ SyscallDesc("unused#046", unimplementedFunc),
736    /*   47 */ SyscallDesc("unused#047", unimplementedFunc),
737    /*   48 */ SyscallDesc("unused#048", unimplementedFunc),
738    /*   49 */ SyscallDesc("unused#049", unimplementedFunc),
739    /*   50 */ SyscallDesc("unused#050", unimplementedFunc),
740    /*   51 */ SyscallDesc("unused#051", unimplementedFunc),
741    /*   52 */ SyscallDesc("unused#052", unimplementedFunc),
742    /*   53 */ SyscallDesc("unused#053", unimplementedFunc),
743    /*   54 */ SyscallDesc("ioctl", ioctlFunc<ArmFreebsd64>),
744    /*   55 */ SyscallDesc("unused#055", unimplementedFunc),
745    /*   56 */ SyscallDesc("unused#056", unimplementedFunc),
746    /*   57 */ SyscallDesc("unused#057", unimplementedFunc),
747    /*   58 */ SyscallDesc("readlink", readlinkFunc),
748    /*   59 */ SyscallDesc("unused#059", unimplementedFunc),
749    /*   60 */ SyscallDesc("unused#060", unimplementedFunc),
750    /*   61 */ SyscallDesc("unused#061", unimplementedFunc),
751    /*   62 */ SyscallDesc("unused#062", unimplementedFunc),
752    /*   63 */ SyscallDesc("unused#063", unimplementedFunc),
753    /*   64 */ SyscallDesc("unused#064", unimplementedFunc),
754    /*   65 */ SyscallDesc("unused#065", unimplementedFunc),
755    /*   66 */ SyscallDesc("unused#066", unimplementedFunc),
756    /*   67 */ SyscallDesc("unused#067", unimplementedFunc),
757    /*   68 */ SyscallDesc("unused#068", unimplementedFunc),
758    /*   69 */ SyscallDesc("unused#069", unimplementedFunc),
759    /*   70 */ SyscallDesc("unused#070", unimplementedFunc),
760    /*   71 */ SyscallDesc("unused#071", unimplementedFunc),
761    /*   72 */ SyscallDesc("unused#072", unimplementedFunc),
762    /*   73 */ SyscallDesc("unused#073", unimplementedFunc),
763    /*   74 */ SyscallDesc("unused#074", unimplementedFunc),
764    /*   75 */ SyscallDesc("unused#075", unimplementedFunc),
765    /*   76 */ SyscallDesc("unused#076", unimplementedFunc),
766    /*   77 */ SyscallDesc("unused#077", unimplementedFunc),
767    /*   78 */ SyscallDesc("unused#078", unimplementedFunc),
768    /*   79 */ SyscallDesc("unused#079", unimplementedFunc),
769    /*   80 */ SyscallDesc("unused#080", unimplementedFunc),
770    /*   81 */ SyscallDesc("unused#081", unimplementedFunc),
771    /*   82 */ SyscallDesc("unused#082", unimplementedFunc),
772    /*   83 */ SyscallDesc("unused#083", unimplementedFunc),
773    /*   84 */ SyscallDesc("unused#084", unimplementedFunc),
774    /*   85 */ SyscallDesc("unused#085", unimplementedFunc),
775    /*   86 */ SyscallDesc("unused#086", unimplementedFunc),
776    /*   87 */ SyscallDesc("unused#087", unimplementedFunc),
777    /*   88 */ SyscallDesc("unused#088", unimplementedFunc),
778    /*   89 */ SyscallDesc("unused#089", unimplementedFunc),
779    /*   90 */ SyscallDesc("unused#090", unimplementedFunc),
780    /*   91 */ SyscallDesc("unused#091", unimplementedFunc),
781    /*   92 */ SyscallDesc("unused#092", unimplementedFunc),
782    /*   93 */ SyscallDesc("unused#093", unimplementedFunc),
783    /*   94 */ SyscallDesc("unused#094", unimplementedFunc),
784    /*   95 */ SyscallDesc("unused#095", unimplementedFunc),
785    /*   96 */ SyscallDesc("unused#096", unimplementedFunc),
786    /*   97 */ SyscallDesc("unused#097", unimplementedFunc),
787    /*   98 */ SyscallDesc("unused#098", unimplementedFunc),
788    /*   99 */ SyscallDesc("unused#099", unimplementedFunc),
789    /*  100 */ SyscallDesc("unused#100", unimplementedFunc),
790    /*  101 */ SyscallDesc("unused#101", unimplementedFunc),
791    /*  102 */ SyscallDesc("unused#102", unimplementedFunc),
792    /*  103 */ SyscallDesc("unused#103", unimplementedFunc),
793    /*  104 */ SyscallDesc("unused#104", unimplementedFunc),
794    /*  105 */ SyscallDesc("unused#105", unimplementedFunc),
795    /*  106 */ SyscallDesc("unused#106", unimplementedFunc),
796    /*  107 */ SyscallDesc("unused#107", unimplementedFunc),
797    /*  108 */ SyscallDesc("unused#108", unimplementedFunc),
798    /*  109 */ SyscallDesc("unused#109", unimplementedFunc),
799    /*  110 */ SyscallDesc("unused#110", unimplementedFunc),
800    /*  111 */ SyscallDesc("unused#111", unimplementedFunc),
801    /*  112 */ SyscallDesc("unused#112", unimplementedFunc),
802    /*  113 */ SyscallDesc("unused#113", unimplementedFunc),
803    /*  114 */ SyscallDesc("unused#114", unimplementedFunc),
804    /*  115 */ SyscallDesc("unused#115", unimplementedFunc),
805    /*  116 */ SyscallDesc("unused#116", unimplementedFunc),
806    /*  117 */ SyscallDesc("getrusage", getrusageFunc<ArmFreebsd64>),
807    /*  118 */ SyscallDesc("unused#118", unimplementedFunc),
808    /*  119 */ SyscallDesc("unused#119", unimplementedFunc),
809    /*  120 */ SyscallDesc("unused#120", unimplementedFunc),
810    /*  121 */ SyscallDesc("unused#121", unimplementedFunc),
811    /*  122 */ SyscallDesc("unused#122", unimplementedFunc),
812    /*  123 */ SyscallDesc("unused#123", unimplementedFunc),
813    /*  124 */ SyscallDesc("unused#124", unimplementedFunc),
814    /*  125 */ SyscallDesc("unused#125", unimplementedFunc),
815    /*  126 */ SyscallDesc("unused#126", unimplementedFunc),
816    /*  127 */ SyscallDesc("unused#127", unimplementedFunc),
817    /*  128 */ SyscallDesc("unused#128", unimplementedFunc),
818    /*  129 */ SyscallDesc("unused#129", unimplementedFunc),
819    /*  130 */ SyscallDesc("unused#130", unimplementedFunc),
820    /*  131 */ SyscallDesc("unused#131", unimplementedFunc),
821    /*  132 */ SyscallDesc("unused#132", unimplementedFunc),
822    /*  133 */ SyscallDesc("unused#133", unimplementedFunc),
823    /*  134 */ SyscallDesc("unused#134", unimplementedFunc),
824    /*  135 */ SyscallDesc("unused#135", unimplementedFunc),
825    /*  136 */ SyscallDesc("unused#136", unimplementedFunc),
826    /*  137 */ SyscallDesc("unused#137", unimplementedFunc),
827    /*  138 */ SyscallDesc("unused#138", unimplementedFunc),
828    /*  139 */ SyscallDesc("unused#139", unimplementedFunc),
829    /*  140 */ SyscallDesc("unused#140", unimplementedFunc),
830    /*  141 */ SyscallDesc("unused#141", unimplementedFunc),
831    /*  142 */ SyscallDesc("unused#142", unimplementedFunc),
832    /*  143 */ SyscallDesc("unused#143", unimplementedFunc),
833    /*  144 */ SyscallDesc("unused#144", unimplementedFunc),
834    /*  145 */ SyscallDesc("unused#145", unimplementedFunc),
835    /*  146 */ SyscallDesc("unused#146", unimplementedFunc),
836    /*  147 */ SyscallDesc("unused#147", unimplementedFunc),
837    /*  148 */ SyscallDesc("unused#148", unimplementedFunc),
838    /*  149 */ SyscallDesc("unused#149", unimplementedFunc),
839    /*  150 */ SyscallDesc("unused#150", unimplementedFunc),
840    /*  151 */ SyscallDesc("unused#151", unimplementedFunc),
841    /*  152 */ SyscallDesc("unused#152", unimplementedFunc),
842    /*  153 */ SyscallDesc("unused#153", unimplementedFunc),
843    /*  154 */ SyscallDesc("unused#154", unimplementedFunc),
844    /*  155 */ SyscallDesc("unused#155", unimplementedFunc),
845    /*  156 */ SyscallDesc("unused#156", unimplementedFunc),
846    /*  157 */ SyscallDesc("unused#157", unimplementedFunc),
847    /*  158 */ SyscallDesc("unused#158", unimplementedFunc),
848    /*  159 */ SyscallDesc("unused#159", unimplementedFunc),
849    /*  160 */ SyscallDesc("unused#160", unimplementedFunc),
850    /*  161 */ SyscallDesc("unused#161", unimplementedFunc),
851    /*  162 */ SyscallDesc("unused#162", unimplementedFunc),
852    /*  163 */ SyscallDesc("unused#163", unimplementedFunc),
853    /*  164 */ SyscallDesc("unused#164", unimplementedFunc),
854    /*  165 */ SyscallDesc("unused#165", unimplementedFunc),
855    /*  166 */ SyscallDesc("unused#166", unimplementedFunc),
856    /*  167 */ SyscallDesc("unused#167", unimplementedFunc),
857    /*  168 */ SyscallDesc("unused#168", unimplementedFunc),
858    /*  169 */ SyscallDesc("unused#169", unimplementedFunc),
859    /*  170 */ SyscallDesc("unused#170", unimplementedFunc),
860    /*  171 */ SyscallDesc("unused#171", unimplementedFunc),
861    /*  172 */ SyscallDesc("unused#172", unimplementedFunc),
862    /*  173 */ SyscallDesc("unused#173", unimplementedFunc),
863    /*  174 */ SyscallDesc("unused#174", unimplementedFunc),
864    /*  175 */ SyscallDesc("unused#175", unimplementedFunc),
865    /*  176 */ SyscallDesc("unused#176", unimplementedFunc),
866    /*  177 */ SyscallDesc("unused#177", unimplementedFunc),
867    /*  178 */ SyscallDesc("unused#178", unimplementedFunc),
868    /*  179 */ SyscallDesc("unused#179", unimplementedFunc),
869    /*  180 */ SyscallDesc("unused#180", unimplementedFunc),
870    /*  181 */ SyscallDesc("unused#181", unimplementedFunc),
871    /*  182 */ SyscallDesc("unused#182", unimplementedFunc),
872    /*  183 */ SyscallDesc("unused#183", unimplementedFunc),
873    /*  184 */ SyscallDesc("unused#184", unimplementedFunc),
874    /*  185 */ SyscallDesc("unused#185", unimplementedFunc),
875    /*  186 */ SyscallDesc("unused#186", unimplementedFunc),
876    /*  187 */ SyscallDesc("unused#187", unimplementedFunc),
877    /*  188 */ SyscallDesc("unused#188", unimplementedFunc),
878    /*  189 */ SyscallDesc("fstat", fstatFunc<ArmFreebsd64>),
879    /*  190 */ SyscallDesc("unused#190", unimplementedFunc),
880    /*  191 */ SyscallDesc("unused#191", unimplementedFunc),
881    /*  192 */ SyscallDesc("unused#192", unimplementedFunc),
882    /*  193 */ SyscallDesc("unused#193", unimplementedFunc),
883    /*  194 */ SyscallDesc("unused#194", unimplementedFunc),
884    /*  195 */ SyscallDesc("unused#195", unimplementedFunc),
885    /*  196 */ SyscallDesc("unused#196", unimplementedFunc),
886    /*  197 */ SyscallDesc("unused#197", unimplementedFunc),
887    /*  198 */ SyscallDesc("unused#198", unimplementedFunc),
888    /*  199 */ SyscallDesc("unused#199", unimplementedFunc),
889    /*  200 */ SyscallDesc("unused#200", unimplementedFunc),
890    /*  201 */ SyscallDesc("unused#201", unimplementedFunc),
891    /*  202 */ SyscallDesc("sysctl", sysctlFunc),
892    /*  203 */ SyscallDesc("unused#203", unimplementedFunc),
893    /*  204 */ SyscallDesc("unused#204", unimplementedFunc),
894    /*  205 */ SyscallDesc("unused#205", unimplementedFunc),
895    /*  206 */ SyscallDesc("unused#206", unimplementedFunc),
896    /*  207 */ SyscallDesc("unused#207", unimplementedFunc),
897    /*  208 */ SyscallDesc("unused#208", unimplementedFunc),
898    /*  209 */ SyscallDesc("unused#209", unimplementedFunc),
899    /*  210 */ SyscallDesc("unused#210", unimplementedFunc),
900    /*  211 */ SyscallDesc("unused#211", unimplementedFunc),
901    /*  212 */ SyscallDesc("unused#212", unimplementedFunc),
902    /*  213 */ SyscallDesc("unused#213", unimplementedFunc),
903    /*  214 */ SyscallDesc("unused#214", unimplementedFunc),
904    /*  215 */ SyscallDesc("unused#215", unimplementedFunc),
905    /*  216 */ SyscallDesc("unused#216", unimplementedFunc),
906    /*  217 */ SyscallDesc("unused#217", unimplementedFunc),
907    /*  218 */ SyscallDesc("unused#218", unimplementedFunc),
908    /*  219 */ SyscallDesc("unused#219", unimplementedFunc),
909    /*  220 */ SyscallDesc("unused#220", unimplementedFunc),
910    /*  221 */ SyscallDesc("unused#221", unimplementedFunc),
911    /*  222 */ SyscallDesc("unused#222", unimplementedFunc),
912    /*  223 */ SyscallDesc("unused#223", unimplementedFunc),
913    /*  224 */ SyscallDesc("unused#224", unimplementedFunc),
914    /*  225 */ SyscallDesc("unused#225", unimplementedFunc),
915    /*  226 */ SyscallDesc("unused#226", unimplementedFunc),
916    /*  227 */ SyscallDesc("unused#227", unimplementedFunc),
917    /*  228 */ SyscallDesc("unused#228", unimplementedFunc),
918    /*  229 */ SyscallDesc("unused#229", unimplementedFunc),
919    /*  230 */ SyscallDesc("unused#230", unimplementedFunc),
920    /*  231 */ SyscallDesc("unused#231", unimplementedFunc),
921    /*  232 */ SyscallDesc("unused#232", unimplementedFunc),
922    /*  233 */ SyscallDesc("unused#233", unimplementedFunc),
923    /*  234 */ SyscallDesc("unused#234", unimplementedFunc),
924    /*  235 */ SyscallDesc("unused#235", unimplementedFunc),
925    /*  236 */ SyscallDesc("unused#236", unimplementedFunc),
926    /*  237 */ SyscallDesc("unused#237", unimplementedFunc),
927    /*  238 */ SyscallDesc("unused#238", unimplementedFunc),
928    /*  239 */ SyscallDesc("unused#239", unimplementedFunc),
929    /*  240 */ SyscallDesc("unused#240", unimplementedFunc),
930    /*  241 */ SyscallDesc("unused#241", unimplementedFunc),
931    /*  242 */ SyscallDesc("unused#242", unimplementedFunc),
932    /*  243 */ SyscallDesc("unused#243", unimplementedFunc),
933    /*  244 */ SyscallDesc("unused#244", unimplementedFunc),
934    /*  245 */ SyscallDesc("unused#245", unimplementedFunc),
935    /*  246 */ SyscallDesc("unused#246", unimplementedFunc),
936    /*  247 */ SyscallDesc("unused#247", unimplementedFunc),
937    /*  248 */ SyscallDesc("unused#248", unimplementedFunc),
938    /*  249 */ SyscallDesc("unused#249", unimplementedFunc),
939    /*  250 */ SyscallDesc("unused#250", unimplementedFunc),
940    /*  251 */ SyscallDesc("unused#251", unimplementedFunc),
941    /*  252 */ SyscallDesc("unused#252", unimplementedFunc),
942    /*  253 */ SyscallDesc("issetugid", issetugidFunc),
943    /*  254 */ SyscallDesc("unused#254", unimplementedFunc),
944    /*  255 */ SyscallDesc("unused#255", unimplementedFunc),
945    /*  256 */ SyscallDesc("unused#256", unimplementedFunc),
946    /*  257 */ SyscallDesc("unused#257", unimplementedFunc),
947    /*  258 */ SyscallDesc("unused#258", unimplementedFunc),
948    /*  259 */ SyscallDesc("unused#259", unimplementedFunc),
949    /*  260 */ SyscallDesc("unused#260", unimplementedFunc),
950    /*  261 */ SyscallDesc("unused#261", unimplementedFunc),
951    /*  262 */ SyscallDesc("unused#262", unimplementedFunc),
952    /*  263 */ SyscallDesc("unused#263", unimplementedFunc),
953    /*  264 */ SyscallDesc("unused#264", unimplementedFunc),
954    /*  265 */ SyscallDesc("unused#265", unimplementedFunc),
955    /*  266 */ SyscallDesc("unused#266", unimplementedFunc),
956    /*  267 */ SyscallDesc("unused#267", unimplementedFunc),
957    /*  268 */ SyscallDesc("unused#268", unimplementedFunc),
958    /*  269 */ SyscallDesc("unused#269", unimplementedFunc),
959    /*  270 */ SyscallDesc("unused#270", unimplementedFunc),
960    /*  271 */ SyscallDesc("unused#271", unimplementedFunc),
961    /*  272 */ SyscallDesc("unused#272", unimplementedFunc),
962    /*  273 */ SyscallDesc("unused#273", unimplementedFunc),
963    /*  274 */ SyscallDesc("unused#274", unimplementedFunc),
964    /*  275 */ SyscallDesc("unused#275", unimplementedFunc),
965    /*  276 */ SyscallDesc("unused#276", unimplementedFunc),
966    /*  277 */ SyscallDesc("unused#277", unimplementedFunc),
967    /*  278 */ SyscallDesc("unused#278", unimplementedFunc),
968    /*  279 */ SyscallDesc("unused#279", unimplementedFunc),
969    /*  280 */ SyscallDesc("unused#280", unimplementedFunc),
970    /*  281 */ SyscallDesc("unused#281", unimplementedFunc),
971    /*  282 */ SyscallDesc("unused#282", unimplementedFunc),
972    /*  283 */ SyscallDesc("unused#283", unimplementedFunc),
973    /*  284 */ SyscallDesc("unused#284", unimplementedFunc),
974    /*  285 */ SyscallDesc("unused#285", unimplementedFunc),
975    /*  286 */ SyscallDesc("unused#286", unimplementedFunc),
976    /*  287 */ SyscallDesc("unused#287", unimplementedFunc),
977    /*  288 */ SyscallDesc("unused#288", unimplementedFunc),
978    /*  289 */ SyscallDesc("unused#289", unimplementedFunc),
979    /*  290 */ SyscallDesc("unused#290", unimplementedFunc),
980    /*  291 */ SyscallDesc("unused#291", unimplementedFunc),
981    /*  292 */ SyscallDesc("unused#292", unimplementedFunc),
982    /*  293 */ SyscallDesc("unused#293", unimplementedFunc),
983    /*  294 */ SyscallDesc("unused#294", unimplementedFunc),
984    /*  295 */ SyscallDesc("unused#295", unimplementedFunc),
985    /*  296 */ SyscallDesc("unused#296", unimplementedFunc),
986    /*  297 */ SyscallDesc("unused#297", unimplementedFunc),
987    /*  298 */ SyscallDesc("unused#298", unimplementedFunc),
988    /*  299 */ SyscallDesc("unused#299", unimplementedFunc),
989    /*  300 */ SyscallDesc("unused#300", unimplementedFunc),
990    /*  301 */ SyscallDesc("unused#301", unimplementedFunc),
991    /*  302 */ SyscallDesc("unused#302", unimplementedFunc),
992    /*  303 */ SyscallDesc("unused#303", unimplementedFunc),
993    /*  304 */ SyscallDesc("unused#304", unimplementedFunc),
994    /*  305 */ SyscallDesc("unused#305", unimplementedFunc),
995    /*  306 */ SyscallDesc("unused#306", unimplementedFunc),
996    /*  307 */ SyscallDesc("unused#307", unimplementedFunc),
997    /*  308 */ SyscallDesc("unused#308", unimplementedFunc),
998    /*  309 */ SyscallDesc("unused#309", unimplementedFunc),
999    /*  310 */ SyscallDesc("unused#310", unimplementedFunc),
1000    /*  311 */ SyscallDesc("unused#311", unimplementedFunc),
1001    /*  312 */ SyscallDesc("unused#312", unimplementedFunc),
1002    /*  313 */ SyscallDesc("unused#313", unimplementedFunc),
1003    /*  314 */ SyscallDesc("unused#314", unimplementedFunc),
1004    /*  315 */ SyscallDesc("unused#315", unimplementedFunc),
1005    /*  316 */ SyscallDesc("unused#316", unimplementedFunc),
1006    /*  317 */ SyscallDesc("unused#317", unimplementedFunc),
1007    /*  318 */ SyscallDesc("unused#318", unimplementedFunc),
1008    /*  319 */ SyscallDesc("unused#319", unimplementedFunc),
1009    /*  320 */ SyscallDesc("unused#320", unimplementedFunc),
1010    /*  321 */ SyscallDesc("unused#321", unimplementedFunc),
1011    /*  322 */ SyscallDesc("unused#322", unimplementedFunc),
1012    /*  323 */ SyscallDesc("unused#323", unimplementedFunc),
1013    /*  324 */ SyscallDesc("unused#324", unimplementedFunc),
1014    /*  325 */ SyscallDesc("unused#325", unimplementedFunc),
1015    /*  326 */ SyscallDesc("unused#326", unimplementedFunc),
1016    /*  327 */ SyscallDesc("unused#327", unimplementedFunc),
1017    /*  328 */ SyscallDesc("unused#328", unimplementedFunc),
1018    /*  329 */ SyscallDesc("unused#329", unimplementedFunc),
1019    /*  330 */ SyscallDesc("unused#330", unimplementedFunc),
1020    /*  331 */ SyscallDesc("unused#331", unimplementedFunc),
1021    /*  332 */ SyscallDesc("unused#332", unimplementedFunc),
1022    /*  333 */ SyscallDesc("unused#333", unimplementedFunc),
1023    /*  334 */ SyscallDesc("unused#334", unimplementedFunc),
1024    /*  335 */ SyscallDesc("unused#335", unimplementedFunc),
1025    /*  336 */ SyscallDesc("unused#336", unimplementedFunc),
1026    /*  337 */ SyscallDesc("unused#337", unimplementedFunc),
1027    /*  338 */ SyscallDesc("unused#338", unimplementedFunc),
1028    /*  339 */ SyscallDesc("unused#339", unimplementedFunc),
1029    /*  340 */ SyscallDesc("unused#340", unimplementedFunc),
1030    /*  341 */ SyscallDesc("unused#341", unimplementedFunc),
1031    /*  342 */ SyscallDesc("unused#342", unimplementedFunc),
1032    /*  343 */ SyscallDesc("unused#343", unimplementedFunc),
1033    /*  344 */ SyscallDesc("unused#344", unimplementedFunc),
1034    /*  345 */ SyscallDesc("unused#345", unimplementedFunc),
1035    /*  346 */ SyscallDesc("unused#346", unimplementedFunc),
1036    /*  347 */ SyscallDesc("unused#347", unimplementedFunc),
1037    /*  348 */ SyscallDesc("unused#348", unimplementedFunc),
1038    /*  349 */ SyscallDesc("unused#349", unimplementedFunc),
1039    /*  350 */ SyscallDesc("unused#350", unimplementedFunc),
1040    /*  351 */ SyscallDesc("unused#351", unimplementedFunc),
1041    /*  352 */ SyscallDesc("unused#352", unimplementedFunc),
1042    /*  353 */ SyscallDesc("unused#353", unimplementedFunc),
1043    /*  354 */ SyscallDesc("unused#354", unimplementedFunc),
1044    /*  355 */ SyscallDesc("unused#355", unimplementedFunc),
1045    /*  356 */ SyscallDesc("unused#356", unimplementedFunc),
1046    /*  357 */ SyscallDesc("unused#357", unimplementedFunc),
1047    /*  358 */ SyscallDesc("unused#358", unimplementedFunc),
1048    /*  359 */ SyscallDesc("unused#359", unimplementedFunc),
1049    /*  360 */ SyscallDesc("unused#360", unimplementedFunc),
1050    /*  361 */ SyscallDesc("unused#361", unimplementedFunc),
1051    /*  362 */ SyscallDesc("unused#362", unimplementedFunc),
1052    /*  363 */ SyscallDesc("unused#363", unimplementedFunc),
1053    /*  364 */ SyscallDesc("unused#364", unimplementedFunc),
1054    /*  365 */ SyscallDesc("unused#365", unimplementedFunc),
1055    /*  366 */ SyscallDesc("unused#366", unimplementedFunc),
1056    /*  367 */ SyscallDesc("unused#367", unimplementedFunc),
1057    /*  368 */ SyscallDesc("unused#368", unimplementedFunc),
1058    /*  369 */ SyscallDesc("unused#369", unimplementedFunc),
1059    /*  370 */ SyscallDesc("unused#370", unimplementedFunc),
1060    /*  371 */ SyscallDesc("unused#371", unimplementedFunc),
1061    /*  372 */ SyscallDesc("unused#372", unimplementedFunc),
1062    /*  373 */ SyscallDesc("unused#373", unimplementedFunc),
1063    /*  374 */ SyscallDesc("unused#374", unimplementedFunc),
1064    /*  375 */ SyscallDesc("unused#375", unimplementedFunc),
1065    /*  376 */ SyscallDesc("unused#376", unimplementedFunc),
1066    /*  377 */ SyscallDesc("unused#377", unimplementedFunc),
1067    /*  378 */ SyscallDesc("unused#378", unimplementedFunc),
1068    /*  379 */ SyscallDesc("unused#379", unimplementedFunc),
1069    /*  380 */ SyscallDesc("unused#380", unimplementedFunc),
1070    /*  381 */ SyscallDesc("unused#381", unimplementedFunc),
1071    /*  382 */ SyscallDesc("unused#382", unimplementedFunc),
1072    /*  383 */ SyscallDesc("unused#383", unimplementedFunc),
1073    /*  384 */ SyscallDesc("unused#384", unimplementedFunc),
1074    /*  385 */ SyscallDesc("unused#385", unimplementedFunc),
1075    /*  386 */ SyscallDesc("unused#386", unimplementedFunc),
1076    /*  387 */ SyscallDesc("unused#387", unimplementedFunc),
1077    /*  388 */ SyscallDesc("unused#388", unimplementedFunc),
1078    /*  389 */ SyscallDesc("unused#389", unimplementedFunc),
1079    /*  390 */ SyscallDesc("unused#390", unimplementedFunc),
1080    /*  391 */ SyscallDesc("unused#391", unimplementedFunc),
1081    /*  392 */ SyscallDesc("unused#392", unimplementedFunc),
1082    /*  393 */ SyscallDesc("unused#393", unimplementedFunc),
1083    /*  394 */ SyscallDesc("unused#394", unimplementedFunc),
1084    /*  395 */ SyscallDesc("unused#395", unimplementedFunc),
1085    /*  396 */ SyscallDesc("unused#396", unimplementedFunc),
1086    /*  397 */ SyscallDesc("unused#397", unimplementedFunc),
1087    /*  398 */ SyscallDesc("unused#398", unimplementedFunc),
1088    /*  399 */ SyscallDesc("unused#399", unimplementedFunc),
1089    /*  400 */ SyscallDesc("unused#400", unimplementedFunc),
1090    /*  401 */ SyscallDesc("unused#401", unimplementedFunc),
1091    /*  402 */ SyscallDesc("unused#402", unimplementedFunc),
1092    /*  403 */ SyscallDesc("unused#403", unimplementedFunc),
1093    /*  404 */ SyscallDesc("unused#404", unimplementedFunc),
1094    /*  405 */ SyscallDesc("unused#405", unimplementedFunc),
1095    /*  406 */ SyscallDesc("unused#406", unimplementedFunc),
1096    /*  407 */ SyscallDesc("unused#407", unimplementedFunc),
1097    /*  408 */ SyscallDesc("unused#408", unimplementedFunc),
1098    /*  409 */ SyscallDesc("unused#409", unimplementedFunc),
1099    /*  410 */ SyscallDesc("unused#410", unimplementedFunc),
1100    /*  411 */ SyscallDesc("unused#411", unimplementedFunc),
1101    /*  412 */ SyscallDesc("unused#412", unimplementedFunc),
1102    /*  413 */ SyscallDesc("unused#413", unimplementedFunc),
1103    /*  414 */ SyscallDesc("unused#414", unimplementedFunc),
1104    /*  415 */ SyscallDesc("unused#415", unimplementedFunc),
1105    /*  416 */ SyscallDesc("unused#416", unimplementedFunc),
1106    /*  417 */ SyscallDesc("unused#417", unimplementedFunc),
1107    /*  418 */ SyscallDesc("unused#418", unimplementedFunc),
1108    /*  419 */ SyscallDesc("unused#419", unimplementedFunc),
1109    /*  420 */ SyscallDesc("unused#420", unimplementedFunc),
1110    /*  421 */ SyscallDesc("unused#421", unimplementedFunc),
1111    /*  422 */ SyscallDesc("unused#422", unimplementedFunc),
1112    /*  423 */ SyscallDesc("unused#423", unimplementedFunc),
1113    /*  424 */ SyscallDesc("unused#424", unimplementedFunc),
1114    /*  425 */ SyscallDesc("unused#425", unimplementedFunc),
1115    /*  426 */ SyscallDesc("unused#426", unimplementedFunc),
1116    /*  427 */ SyscallDesc("unused#427", unimplementedFunc),
1117    /*  428 */ SyscallDesc("unused#428", unimplementedFunc),
1118    /*  429 */ SyscallDesc("unused#429", unimplementedFunc),
1119    /*  430 */ SyscallDesc("unused#430", unimplementedFunc),
1120    /*  431 */ SyscallDesc("unused#431", unimplementedFunc),
1121    /*  432 */ SyscallDesc("unused#432", unimplementedFunc),
1122    /*  433 */ SyscallDesc("unused#433", unimplementedFunc),
1123    /*  434 */ SyscallDesc("unused#434", unimplementedFunc),
1124    /*  435 */ SyscallDesc("unused#435", unimplementedFunc),
1125    /*  436 */ SyscallDesc("unused#436", unimplementedFunc),
1126    /*  437 */ SyscallDesc("unused#437", unimplementedFunc),
1127    /*  438 */ SyscallDesc("unused#438", unimplementedFunc),
1128    /*  439 */ SyscallDesc("unused#439", unimplementedFunc),
1129    /*  440 */ SyscallDesc("unused#440", unimplementedFunc),
1130    /*  441 */ SyscallDesc("unused#441", unimplementedFunc),
1131    /*  442 */ SyscallDesc("unused#442", unimplementedFunc),
1132    /*  443 */ SyscallDesc("unused#443", unimplementedFunc),
1133    /*  444 */ SyscallDesc("unused#444", unimplementedFunc),
1134    /*  445 */ SyscallDesc("unused#445", unimplementedFunc),
1135    /*  446 */ SyscallDesc("unused#446", unimplementedFunc),
1136    /*  447 */ SyscallDesc("unused#447", unimplementedFunc),
1137    /*  448 */ SyscallDesc("unused#448", unimplementedFunc),
1138    /*  449 */ SyscallDesc("unused#449", unimplementedFunc),
1139    /*  450 */ SyscallDesc("unused#450", unimplementedFunc),
1140    /*  451 */ SyscallDesc("unused#451", unimplementedFunc),
1141    /*  452 */ SyscallDesc("unused#452", unimplementedFunc),
1142    /*  453 */ SyscallDesc("unused#453", unimplementedFunc),
1143    /*  454 */ SyscallDesc("unused#454", unimplementedFunc),
1144    /*  455 */ SyscallDesc("unused#455", unimplementedFunc),
1145    /*  456 */ SyscallDesc("unused#456", unimplementedFunc),
1146    /*  457 */ SyscallDesc("unused#457", unimplementedFunc),
1147    /*  458 */ SyscallDesc("unused#458", unimplementedFunc),
1148    /*  459 */ SyscallDesc("unused#459", unimplementedFunc),
1149    /*  460 */ SyscallDesc("unused#460", unimplementedFunc),
1150    /*  461 */ SyscallDesc("unused#461", unimplementedFunc),
1151    /*  462 */ SyscallDesc("unused#462", unimplementedFunc),
1152    /*  463 */ SyscallDesc("unused#463", unimplementedFunc),
1153    /*  464 */ SyscallDesc("unused#464", unimplementedFunc),
1154    /*  465 */ SyscallDesc("unused#465", unimplementedFunc),
1155    /*  466 */ SyscallDesc("unused#466", unimplementedFunc),
1156    /*  467 */ SyscallDesc("unused#467", unimplementedFunc),
1157    /*  468 */ SyscallDesc("unused#468", unimplementedFunc),
1158    /*  469 */ SyscallDesc("unused#469", unimplementedFunc),
1159    /*  470 */ SyscallDesc("unused#470", unimplementedFunc),
1160    /*  471 */ SyscallDesc("unused#471", unimplementedFunc),
1161    /*  472 */ SyscallDesc("unused#472", unimplementedFunc),
1162    /*  473 */ SyscallDesc("unused#473", unimplementedFunc),
1163    /*  474 */ SyscallDesc("unused#474", unimplementedFunc),
1164    /*  475 */ SyscallDesc("unused#475", unimplementedFunc),
1165    /*  476 */ SyscallDesc("unused#476", unimplementedFunc),
1166    /*  477 */ SyscallDesc("mmap", mmapFunc<ArmFreebsd64>),
1167    /*  478 */ SyscallDesc("unused#478", unimplementedFunc),
1168    /*  479 */ SyscallDesc("unused#479", unimplementedFunc),
1169    /*  480 */ SyscallDesc("unused#480", unimplementedFunc),
1170    /*  481 */ SyscallDesc("unused#481", unimplementedFunc),
1171    /*  482 */ SyscallDesc("unused#482", unimplementedFunc),
1172    /*  483 */ SyscallDesc("unused#483", unimplementedFunc),
1173    /*  484 */ SyscallDesc("unused#484", unimplementedFunc),
1174    /*  485 */ SyscallDesc("unused#485", unimplementedFunc),
1175    /*  486 */ SyscallDesc("unused#486", unimplementedFunc),
1176    /*  487 */ SyscallDesc("unused#487", unimplementedFunc),
1177    /*  488 */ SyscallDesc("unused#488", unimplementedFunc),
1178    /*  489 */ SyscallDesc("unused#489", unimplementedFunc),
1179    /*  490 */ SyscallDesc("unused#490", unimplementedFunc),
1180    /*  491 */ SyscallDesc("unused#491", unimplementedFunc),
1181    /*  492 */ SyscallDesc("unused#492", unimplementedFunc),
1182    /*  493 */ SyscallDesc("unused#493", unimplementedFunc),
1183    /*  494 */ SyscallDesc("unused#494", unimplementedFunc),
1184    /*  495 */ SyscallDesc("unused#495", unimplementedFunc),
1185    /*  496 */ SyscallDesc("unused#496", unimplementedFunc),
1186    /*  497 */ SyscallDesc("unused#497", unimplementedFunc),
1187    /*  498 */ SyscallDesc("unused#498", unimplementedFunc),
1188    /*  499 */ SyscallDesc("unused#499", unimplementedFunc),
1189    /*  500 */ SyscallDesc("unused#500", unimplementedFunc),
1190    /*  501 */ SyscallDesc("unused#501", unimplementedFunc),
1191    /*  502 */ SyscallDesc("unused#502", unimplementedFunc),
1192    /*  503 */ SyscallDesc("unused#503", unimplementedFunc),
1193    /*  504 */ SyscallDesc("unused#504", unimplementedFunc),
1194    /*  505 */ SyscallDesc("unused#505", unimplementedFunc),
1195    /*  506 */ SyscallDesc("unused#506", unimplementedFunc),
1196    /*  507 */ SyscallDesc("unused#507", unimplementedFunc),
1197    /*  508 */ SyscallDesc("unused#508", unimplementedFunc),
1198    /*  509 */ SyscallDesc("unused#509", unimplementedFunc),
1199    /*  510 */ SyscallDesc("unused#510", unimplementedFunc),
1200    /*  511 */ SyscallDesc("unused#511", unimplementedFunc),
1201    /*  512 */ SyscallDesc("unused#512", unimplementedFunc),
1202    /*  513 */ SyscallDesc("unused#513", unimplementedFunc),
1203    /*  514 */ SyscallDesc("unused#514", unimplementedFunc),
1204    /*  515 */ SyscallDesc("unused#515", unimplementedFunc),
1205    /*  516 */ SyscallDesc("unused#516", unimplementedFunc),
1206    /*  517 */ SyscallDesc("unused#517", unimplementedFunc),
1207    /*  518 */ SyscallDesc("unused#518", unimplementedFunc),
1208    /*  519 */ SyscallDesc("unused#519", unimplementedFunc),
1209    /*  520 */ SyscallDesc("unused#520", unimplementedFunc),
1210    /*  521 */ SyscallDesc("unused#521", unimplementedFunc),
1211    /*  522 */ SyscallDesc("unused#522", unimplementedFunc),
1212    /*  523 */ SyscallDesc("unused#523", unimplementedFunc),
1213    /*  524 */ SyscallDesc("unused#524", unimplementedFunc),
1214    /*  525 */ SyscallDesc("unused#525", unimplementedFunc),
1215    /*  526 */ SyscallDesc("unused#526", unimplementedFunc),
1216    /*  527 */ SyscallDesc("unused#527", unimplementedFunc),
1217    /*  528 */ SyscallDesc("unused#528", unimplementedFunc),
1218    /*  529 */ SyscallDesc("unused#529", unimplementedFunc),
1219    /*  530 */ SyscallDesc("unused#530", unimplementedFunc),
1220    /*  531 */ SyscallDesc("unused#531", unimplementedFunc),
1221    /*  532 */ SyscallDesc("unused#532", unimplementedFunc),
1222    /*  533 */ SyscallDesc("unused#533", unimplementedFunc),
1223    /*  534 */ SyscallDesc("unused#534", unimplementedFunc),
1224    /*  535 */ SyscallDesc("unused#535", unimplementedFunc),
1225    /*  536 */ SyscallDesc("unused#536", unimplementedFunc),
1226    /*  537 */ SyscallDesc("unused#537", unimplementedFunc),
1227    /*  538 */ SyscallDesc("unused#538", unimplementedFunc),
1228    /*  539 */ SyscallDesc("unused#539", unimplementedFunc),
1229    /*  540 */ SyscallDesc("unused#540", unimplementedFunc),
1230    /*  541 */ SyscallDesc("unused#541", unimplementedFunc),
1231    /*  542 */ SyscallDesc("unused#542", unimplementedFunc),
1232    /*  543 */ SyscallDesc("unused#543", unimplementedFunc),
1233    /*  544 */ SyscallDesc("unused#544", unimplementedFunc),
1234    /*  545 */ SyscallDesc("unused#545", unimplementedFunc),
1235    /*  546 */ SyscallDesc("unused#546", unimplementedFunc),
1236    /*  547 */ SyscallDesc("unused#547", unimplementedFunc),
1237};
1238
1239ArmFreebsdProcess32::ArmFreebsdProcess32(ProcessParams * params,
1240        ObjectFile *objFile, ObjectFile::Arch _arch)
1241    : ArmProcess32(params, objFile, _arch)
1242{
1243    SyscallTable table;
1244
1245    table.descs = syscallDescs32;
1246    table.size = sizeof(syscallDescs32) / sizeof(SyscallDesc);
1247    table.base = 0;
1248    syscallTables.push_back(table);
1249}
1250
1251ArmFreebsdProcess64::ArmFreebsdProcess64(ProcessParams * params,
1252        ObjectFile *objFile, ObjectFile::Arch _arch)
1253    : ArmProcess64(params, objFile, _arch)
1254{
1255    SyscallTable table;
1256
1257    table.descs = syscallDescs64;
1258    table.size = sizeof(syscallDescs64) / sizeof(SyscallDesc);
1259    table.base = 0;
1260    syscallTables.push_back(table);
1261}
1262
1263SyscallDesc*
1264ArmFreebsdProcessBits::getFreebsdDesc(int callnum)
1265{
1266
1267    for (unsigned i = 0; i < syscallTables.size(); i++) {
1268        SyscallDesc *desc = syscallTables[i].getDesc(callnum);
1269        if (desc)
1270            return desc;
1271    }
1272    return NULL;
1273}
1274
1275SyscallDesc *
1276ArmFreebsdProcessBits::SyscallTable::getDesc(int callnum) const
1277{
1278
1279    int offset = callnum - base;
1280    if (offset < 0 || offset >= size)
1281        return NULL;
1282    return &descs[offset];
1283}
1284
1285SyscallDesc*
1286ArmFreebsdProcess32::getDesc(int callnum)
1287{
1288
1289    return getFreebsdDesc(callnum);
1290}
1291
1292SyscallDesc*
1293ArmFreebsdProcess64::getDesc(int callnum)
1294{
1295
1296    return getFreebsdDesc(callnum);
1297}
1298
1299void
1300ArmFreebsdProcess32::initState()
1301{
1302    ArmProcess32::initState();
1303    // The 32 bit equivalent of the comm page would be set up here.
1304}
1305
1306void
1307ArmFreebsdProcess64::initState()
1308{
1309    ArmProcess64::initState();
1310    // The 64 bit equivalent of the comm page would be set up here.
1311}
1312