git: 4449947ac892 - stable/13 - kboot: sort system calls
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 24 Jan 2023 22:10:34 UTC
The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=4449947ac8929f96efa911fa7f146c29592eb614 commit 4449947ac8929f96efa911fa7f146c29592eb614 Author: Warner Losh <imp@FreeBSD.org> AuthorDate: 2022-06-13 17:39:55 +0000 Commit: Warner Losh <imp@FreeBSD.org> CommitDate: 2023-01-24 21:49:21 +0000 kboot: sort system calls Sort the system calls. No functional change intended. Sponsored by: Netflix (cherry picked from commit 201c1d0d25ee5ac50092a7334b7ebfa238ce2c0f) --- stand/kboot/host_syscall.h | 34 ++++++++++++++-------- stand/kboot/host_syscalls.c | 69 ++++++++++++++++++++++++--------------------- 2 files changed, 60 insertions(+), 43 deletions(-) diff --git a/stand/kboot/host_syscall.h b/stand/kboot/host_syscall.h index f6f22a736d53..b7861e1af6f1 100644 --- a/stand/kboot/host_syscall.h +++ b/stand/kboot/host_syscall.h @@ -32,13 +32,9 @@ long host_syscall(int number, ...); -ssize_t host_read(int fd, void *buf, size_t nbyte); -ssize_t host_write(int fd, const void *buf, size_t nbyte); -int host_open(const char *path, int flags, int mode); -ssize_t host_llseek(int fd, int32_t offset_high, int32_t offset_lo, uint64_t *result, int whence); -int host_close(int fd); -void *host_mmap(void *addr, size_t len, int prot, int flags, int fd, off_t off); -#define host_getmem(size) host_mmap(0, size, 3 /* RW */, 0x22 /* ANON */, -1, 0); +/* + * Data types + */ struct old_utsname { char sysname[65]; char nodename[65]; @@ -46,16 +42,32 @@ struct old_utsname { char version[65]; char machine[65]; }; -int host_uname(struct old_utsname *); + struct host_timeval { time_t tv_sec; long tv_usec; }; + +/* + * System Calls + */ +int host_close(int fd); +int host_getdents(int fd, void *dirp, int count); int host_gettimeofday(struct host_timeval *a, void *b); -int host_select(int nfds, long *readfds, long *writefds, long *exceptfds, - struct host_timeval *timeout); int kexec_load(uint32_t start, int nsegs, uint32_t segs); +ssize_t host_llseek(int fd, int32_t offset_high, int32_t offset_lo, uint64_t *result, int whence); +void *host_mmap(void *addr, size_t len, int prot, int flags, int fd, off_t off); +int host_open(const char *path, int flags, int mode); +ssize_t host_read(int fd, void *buf, size_t nbyte); int host_reboot(int, int, int, uintptr_t); -int host_getdents(int fd, void *dirp, int count); +int host_select(int nfds, long *readfds, long *writefds, long *exceptfds, + struct host_timeval *timeout); +int host_uname(struct old_utsname *); +ssize_t host_write(int fd, const void *buf, size_t nbyte); + +/* + * Wrappers / one-liners + */ +#define host_getmem(size) host_mmap(0, size, 3 /* RW */, 0x22 /* ANON */, -1, 0); #endif diff --git a/stand/kboot/host_syscalls.c b/stand/kboot/host_syscalls.c index fd14095d7d68..3a5cdd7d8ea4 100644 --- a/stand/kboot/host_syscalls.c +++ b/stand/kboot/host_syscalls.c @@ -2,24 +2,33 @@ #include "syscall_nr.h" #include <stand.h> -ssize_t -host_read(int fd, void *buf, size_t nbyte) +/* + * Various trivial wrappers for Linux system calls. Please keep sorted + * alphabetically. + */ + +int +host_close(int fd) { - return host_syscall(SYS_read, fd, (uintptr_t)buf, nbyte); - /* XXX original overrode errors */ + return host_syscall(SYS_close, fd); } -ssize_t -host_write(int fd, const void *buf, size_t nbyte) +int +host_getdents(int fd, void *dirp, int count) { - return host_syscall(SYS_write, fd, (uintptr_t)buf, nbyte); + return host_syscall(SYS_getdents, fd, (uintptr_t)dirp, count); } - + int -host_open(const char *path, int flags, int mode) +host_gettimeofday(struct host_timeval *a, void *b) { - return host_syscall(SYS_open, (uintptr_t)path, flags, mode); - /* XXX original overrode errors */ + return host_syscall(SYS_gettimeofday, (uintptr_t)a, (uintptr_t)b); +} + +int +kexec_load(uint32_t start, int nsegs, uint32_t segs) +{ + return host_syscall(SYS_kexec_load, start, nsegs, segs, KEXEC_ARCH << 16); } ssize_t @@ -36,12 +45,6 @@ host_llseek(int fd, int32_t offset_high, int32_t offset_lo, uint64_t *result, in #endif } -int -host_close(int fd) -{ - return host_syscall(SYS_close, fd); -} - void * host_mmap(void *addr, size_t len, int prot, int flags, int fd, off_t off) { @@ -49,38 +52,40 @@ host_mmap(void *addr, size_t len, int prot, int flags, int fd, off_t off) } int -host_uname(struct old_utsname *uts) +host_open(const char *path, int flags, int mode) { - return host_syscall(SYS_uname, (uintptr_t)uts); + return host_syscall(SYS_open, (uintptr_t)path, flags, mode); + /* XXX original overrode errors */ } -int -host_gettimeofday(struct host_timeval *a, void *b) +ssize_t +host_read(int fd, void *buf, size_t nbyte) { - return host_syscall(SYS_gettimeofday, (uintptr_t)a, (uintptr_t)b); + return host_syscall(SYS_read, fd, (uintptr_t)buf, nbyte); + /* XXX original overrode errors */ } int -host_select(int nfds, long *readfds, long *writefds, long *exceptfds, - struct host_timeval *timeout) +host_reboot(int magic1, int magic2, int cmd, uintptr_t arg) { - return host_syscall(SYS_select, nfds, (uintptr_t)readfds, (uintptr_t)writefds, (uintptr_t)exceptfds, (uintptr_t)timeout, 0); + return host_syscall(SYS_reboot, magic1, magic2, cmd, arg); } int -kexec_load(uint32_t start, int nsegs, uint32_t segs) +host_select(int nfds, long *readfds, long *writefds, long *exceptfds, + struct host_timeval *timeout) { - return host_syscall(SYS_kexec_load, start, nsegs, segs, KEXEC_ARCH << 16); + return host_syscall(SYS_select, nfds, (uintptr_t)readfds, (uintptr_t)writefds, (uintptr_t)exceptfds, (uintptr_t)timeout, 0); } int -host_reboot(int magic1, int magic2, int cmd, uintptr_t arg) +host_uname(struct old_utsname *uts) { - return host_syscall(SYS_reboot, magic1, magic2, cmd, arg); + return host_syscall(SYS_uname, (uintptr_t)uts); } -int -host_getdents(int fd, void *dirp, int count) +ssize_t +host_write(int fd, const void *buf, size_t nbyte) { - return host_syscall(SYS_getdents, fd, (uintptr_t)dirp, count); + return host_syscall(SYS_write, fd, (uintptr_t)buf, nbyte); }