Page MenuHomeFreeBSD

Linux ARM v2 3/9
ClosedPublic

Authored by emaste on Sep 20 2016, 2:01 PM.
Referenced Files
Unknown Object (File)
Sat, Nov 2, 1:03 AM
Unknown Object (File)
Tue, Oct 29, 3:26 PM
Unknown Object (File)
Sat, Oct 19, 3:00 AM
Unknown Object (File)
Oct 16 2024, 3:57 PM
Unknown Object (File)
Oct 12 2024, 7:54 AM
Unknown Object (File)
Oct 4 2024, 7:34 PM
Unknown Object (File)
Oct 4 2024, 2:12 PM
Unknown Object (File)
Oct 1 2024, 5:41 PM
Subscribers

Details

Test Plan

Linux ARM : Add syscalls definition from arch/arm/kernel/calls.S (linux sources)

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

soutade_gmail.com retitled this revision from to Linux ARM v2 3/9.
soutade_gmail.com updated this object.
soutade_gmail.com edited the test plan for this revision. (Show Details)
soutade_gmail.com set the repository for this revision to rS FreeBSD src repository - subversion.
imp added a reviewer: imp.
imp added inline comments.
sys/arm/linux/syscalls.master
678

This is the only unimplemented one that I'm at all worried about.... Have you encountered any programs that use it?

This revision is now accepted and ready to land.Sep 20 2016, 3:39 PM
sys/arm/linux/syscalls.master
50–51

This doesn't exist in Linux 2.6.32.

67–68

Also missing in 2.6.32

81–82

Also missing in 2.6.32

103–104

Also missing in 2.6.32

117

Also missing in 2.6.32

129–130

Also missing in 2.6.32

160

Also missing in 2.6.32

203

Also missing in 2.6.32

231

Also missing in 2.6.32

234

Also missing in 2.6.32

296–297

Also missing in 2.6.32

678

This range is also invalid, the syscalls start at 0x0f0000 and not 400

sys/arm/linux/syscalls.master
50–51

It all has been extracted and checked from Linux 4.7.

678

Not for now. Maybe some glibc flush functions could use it, but I'm not sure.

678

This is handled in linux_fetch_syscall_args() to avoid breaking syscall numbering.

sys/arm/linux/syscalls.master
50–51

None of the syscalls I pointed out exist in my recent git checkout.

678

In that case a comment would help.

soutade_gmail.com edited edge metadata.

Add more comments for ARM specific syscalls

This revision now requires review to proceed.Sep 30 2016, 8:22 AM
sys/arm/linux/syscalls.master
50–51

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
50–51

Linux hasn't supported them in a non-development kernel since 2.6. This was released in late 2003.

206

This is wrong, on arm this is the syscall syscall (although it's removed from EABI).

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.

Should we also support OBSOLETE syscalls ? It seems related to OABI.

soutade_gmail.com edited edge metadata.

Remove old Linux syscalls (not presents in Linux calls.S). Add dummy linux_syscall.

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
sys/arm/linux/syscalls.master
294

What about OBSOLETE syscalls ? Keep them or remove them ?

sys/arm/linux/syscalls.master
294

OK. I think the same thing, but I wanted to be sure before commit another patch.

Remove obsolete syscalls. Add linux_send() and linux_recv()

andrew edited edge metadata.
This revision is now accepted and ready to land.Oct 4 2016, 1:31 PM

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.

We'll also want to switch this to the new style -- see rS347186 for arm64.

Oh I see @brooks already mentioned that.

emaste updated this revision to Diff 57102.
emaste added a reviewer: soutade_gmail.com.

Reformat arm linux syscalls.master per current style

Equivalent to rS339958 for sys/kern/syscalls.master.

Sponsored by: The FreeBSD Foundation

This revision now requires review to proceed.May 6 2019, 7:47 PM
This revision was not accepted when it landed; it landed in state Needs Review.Nov 8 2019, 2:17 PM
This revision was automatically updated to reflect the committed changes.