Linux ARM : Add syscalls definition from arch/arm/kernel/calls.S (linux sources)
Details
Diff Detail
- Repository
- rS FreeBSD src repository - subversion
- Lint
Lint Skipped - Unit
Tests Skipped
Event Timeline
sys/arm/linux/syscalls.master | ||
---|---|---|
677 | This is the only unimplemented one that I'm at all worried about.... Have you encountered any programs that use it? |
sys/arm/linux/syscalls.master | ||
---|---|---|
49–50 | This doesn't exist in Linux 2.6.32. | |
66–67 | Also missing in 2.6.32 | |
80–81 | Also missing in 2.6.32 | |
102–103 | Also missing in 2.6.32 | |
116 | Also missing in 2.6.32 | |
128–129 | Also missing in 2.6.32 | |
159 | Also missing in 2.6.32 | |
202 | Also missing in 2.6.32 | |
230 | Also missing in 2.6.32 | |
233 | Also missing in 2.6.32 | |
295–296 | Also missing in 2.6.32 | |
677 | This range is also invalid, the syscalls start at 0x0f0000 and not 400 |
sys/arm/linux/syscalls.master | ||
---|---|---|
49–50 | They are marked as "sys_ni_syscall", but I decied to use the old value if it exists (for old kernel ABI) |
There are also a few syscalls that were removed when they changed to EABI. I don't see a need for us to support the syscalls userspace will never call.
sys/arm/linux/syscalls.master | ||
---|---|---|
49–50 | Linux hasn't supported them in a non-development kernel since 2.6. This was released in late 2003. | |
207 | This is wrong, on arm this is the syscall syscall (although it's removed from EABI). |
Syscalls 13 (time), 22 (umount), 25 (stime), 27 (alarm), 30 (utime), 76 (getrlimir), 82 (select), 89 (readdir), 90 (mmap), 102 (socketcall), 113 (syscall), and 117 (ipc) dont seem to be exported to userspace. I would expect the only things that try calling these with the EABI are malicious.
sys/arm/linux/syscalls.master | ||
---|---|---|
290 | vm86 should be removed. | |
294 | Why was? It seems to be implemented in Linux. |
sys/arm/linux/syscalls.master | ||
---|---|---|
290 | I forgot it ! | |
294 | I use this file https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/arm/kernel/calls.S as base, and it's currently not implemented |
sys/arm/linux/syscalls.master | ||
---|---|---|
294 | What about OBSOLETE syscalls ? Keep them or remove them ? |
sys/arm/linux/syscalls.master | ||
---|---|---|
294 | I've been looking through https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/arm/include/uapi/asm/unistd.h to find the syscalls. The OBSOLETE syscalls are marked as not implemented by https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/arm/kernel/entry-common.S#n294 |
sys/arm/linux/syscalls.master | ||
---|---|---|
294 | OK. I think the same thing, but I wanted to be sure before commit another patch. |
Since this is a new file, you might want to consider formatting it in the new, more readable style used in sys/kern/syscalls.master.
Reformat arm linux syscalls.master per current style
Equivalent to rS339958 for sys/kern/syscalls.master.
Sponsored by: The FreeBSD Foundation