kboot: sort system calls

Sort the system calls. No functional change intended.

Sponsored by:		Netflix
This commit is contained in:
Warner Losh 2022-06-13 11:39:55 -06:00
parent 43ad112b93
commit 201c1d0d25
2 changed files with 62 additions and 45 deletions

View File

@ -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 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_select(int nfds, long *readfds, long *writefds, long *exceptfds,
struct host_timeval *timeout);
int kexec_load(uint32_t start, int nsegs, uint32_t segs);
int host_reboot(int, int, int, uintptr_t);
int host_getdents(int fd, void *dirp, int count);
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

View File

@ -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)
{
return host_syscall(SYS_write, fd, (uintptr_t)buf, nbyte);
}
int
host_open(const char *path, int flags, int mode)
host_getdents(int fd, void *dirp, int count)
{
return host_syscall(SYS_open, (uintptr_t)path, flags, mode);
/* XXX original overrode errors */
return host_syscall(SYS_getdents, fd, (uintptr_t)dirp, count);
}
int
host_gettimeofday(struct host_timeval *a, void *b)
{
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,15 +52,23 @@ 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 */
}
ssize_t
host_read(int fd, void *buf, size_t nbyte)
{
return host_syscall(SYS_read, fd, (uintptr_t)buf, nbyte);
/* XXX original overrode errors */
}
int
host_gettimeofday(struct host_timeval *a, void *b)
host_reboot(int magic1, int magic2, int cmd, uintptr_t arg)
{
return host_syscall(SYS_gettimeofday, (uintptr_t)a, (uintptr_t)b);
return host_syscall(SYS_reboot, magic1, magic2, cmd, arg);
}
int
@ -68,19 +79,13 @@ host_select(int nfds, long *readfds, long *writefds, long *exceptfds,
}
int
kexec_load(uint32_t start, int nsegs, uint32_t segs)
host_uname(struct old_utsname *uts)
{
return host_syscall(SYS_kexec_load, start, nsegs, segs, KEXEC_ARCH << 16);
return host_syscall(SYS_uname, (uintptr_t)uts);
}
int
host_reboot(int magic1, int magic2, int cmd, uintptr_t arg)
ssize_t
host_write(int fd, const void *buf, size_t nbyte)
{
return host_syscall(SYS_reboot, magic1, magic2, cmd, arg);
}
int
host_getdents(int fd, void *dirp, int count)
{
return host_syscall(SYS_getdents, fd, (uintptr_t)dirp, count);
return host_syscall(SYS_write, fd, (uintptr_t)buf, nbyte);
}