sysent: Regen for kexec_load()
This commit is contained in:
@@ -32,6 +32,7 @@ struct itimerspec;
|
||||
struct itimerval;
|
||||
struct jail;
|
||||
struct kevent;
|
||||
struct kexec_segment;
|
||||
struct kld_file_stat;
|
||||
struct mac;
|
||||
struct module_stat;
|
||||
@@ -470,6 +471,7 @@ typedef int (__sys_getgroups_t)(int, gid_t *);
|
||||
typedef int (__sys_setgroups_t)(int, const gid_t *);
|
||||
typedef int (__sys_jail_attach_jd_t)(int);
|
||||
typedef int (__sys_jail_remove_jd_t)(int);
|
||||
typedef int (__sys_kexec_load_t)(uint64_t, u_long, struct kexec_segment *, u_long);
|
||||
|
||||
_Noreturn void __sys__exit(int rval);
|
||||
int __sys_fork(void);
|
||||
@@ -876,6 +878,7 @@ int __sys_getgroups(int gidsetsize, gid_t * gidset);
|
||||
int __sys_setgroups(int gidsetsize, const gid_t * gidset);
|
||||
int __sys_jail_attach_jd(int fd);
|
||||
int __sys_jail_remove_jd(int fd);
|
||||
int __sys_kexec_load(uint64_t entry, u_long nseg, struct kexec_segment * segments, u_long flags);
|
||||
__END_DECLS
|
||||
|
||||
#endif /* __LIBSYS_H_ */
|
||||
|
||||
@@ -817,4 +817,6 @@ FBSDprivate_1.0 {
|
||||
__sys_jail_attach_jd;
|
||||
_jail_remove_jd;
|
||||
__sys_jail_remove_jd;
|
||||
_kexec_load;
|
||||
__sys_kexec_load;
|
||||
};
|
||||
|
||||
@@ -517,4 +517,4 @@
|
||||
#define FREEBSD32_SYS_setgroups 596
|
||||
#define FREEBSD32_SYS_jail_attach_jd 597
|
||||
#define FREEBSD32_SYS_jail_remove_jd 598
|
||||
#define FREEBSD32_SYS_MAXSYSCALL 599
|
||||
#define FREEBSD32_SYS_MAXSYSCALL 600
|
||||
|
||||
@@ -604,4 +604,5 @@ const char *freebsd32_syscallnames[] = {
|
||||
"setgroups", /* 596 = setgroups */
|
||||
"jail_attach_jd", /* 597 = jail_attach_jd */
|
||||
"jail_remove_jd", /* 598 = jail_remove_jd */
|
||||
"#599", /* 599 = kexec_load */
|
||||
};
|
||||
|
||||
@@ -666,4 +666,5 @@ struct sysent freebsd32_sysent[] = {
|
||||
{ .sy_narg = AS(setgroups_args), .sy_call = (sy_call_t *)sys_setgroups, .sy_auevent = AUE_SETGROUPS, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 596 = setgroups */
|
||||
{ .sy_narg = AS(jail_attach_jd_args), .sy_call = (sy_call_t *)sys_jail_attach_jd, .sy_auevent = AUE_JAIL_ATTACH, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 597 = jail_attach_jd */
|
||||
{ .sy_narg = AS(jail_remove_jd_args), .sy_call = (sy_call_t *)sys_jail_remove_jd, .sy_auevent = AUE_JAIL_REMOVE, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 598 = jail_remove_jd */
|
||||
{ .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 599 = freebsd32_kexec_load */
|
||||
};
|
||||
|
||||
@@ -665,4 +665,5 @@ struct sysent sysent[] = {
|
||||
{ .sy_narg = AS(setgroups_args), .sy_call = (sy_call_t *)sys_setgroups, .sy_auevent = AUE_SETGROUPS, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 596 = setgroups */
|
||||
{ .sy_narg = AS(jail_attach_jd_args), .sy_call = (sy_call_t *)sys_jail_attach_jd, .sy_auevent = AUE_JAIL_ATTACH, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 597 = jail_attach_jd */
|
||||
{ .sy_narg = AS(jail_remove_jd_args), .sy_call = (sy_call_t *)sys_jail_remove_jd, .sy_auevent = AUE_JAIL_REMOVE, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 598 = jail_remove_jd */
|
||||
{ .sy_narg = AS(kexec_load_args), .sy_call = (sy_call_t *)sys_kexec_load, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 599 = kexec_load */
|
||||
};
|
||||
|
||||
@@ -604,4 +604,5 @@ const char *syscallnames[] = {
|
||||
"setgroups", /* 596 = setgroups */
|
||||
"jail_attach_jd", /* 597 = jail_attach_jd */
|
||||
"jail_remove_jd", /* 598 = jail_remove_jd */
|
||||
"kexec_load", /* 599 = kexec_load */
|
||||
};
|
||||
|
||||
@@ -3514,6 +3514,16 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
|
||||
*n_args = 1;
|
||||
break;
|
||||
}
|
||||
/* kexec_load */
|
||||
case 599: {
|
||||
struct kexec_load_args *p = params;
|
||||
uarg[a++] = p->entry; /* uint64_t */
|
||||
uarg[a++] = p->nseg; /* u_long */
|
||||
uarg[a++] = (intptr_t)p->segments; /* struct kexec_segment * */
|
||||
uarg[a++] = p->flags; /* u_long */
|
||||
*n_args = 4;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
*n_args = 0;
|
||||
break;
|
||||
@@ -9401,6 +9411,25 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
|
||||
break;
|
||||
};
|
||||
break;
|
||||
/* kexec_load */
|
||||
case 599:
|
||||
switch (ndx) {
|
||||
case 0:
|
||||
p = "uint64_t";
|
||||
break;
|
||||
case 1:
|
||||
p = "u_long";
|
||||
break;
|
||||
case 2:
|
||||
p = "userland struct kexec_segment *";
|
||||
break;
|
||||
case 3:
|
||||
p = "u_long";
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
};
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
};
|
||||
@@ -11409,6 +11438,11 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
|
||||
if (ndx == 0 || ndx == 1)
|
||||
p = "int";
|
||||
break;
|
||||
/* kexec_load */
|
||||
case 599:
|
||||
if (ndx == 0 || ndx == 1)
|
||||
p = "int";
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
};
|
||||
|
||||
+2
-1
@@ -537,4 +537,5 @@
|
||||
#define SYS_setgroups 596
|
||||
#define SYS_jail_attach_jd 597
|
||||
#define SYS_jail_remove_jd 598
|
||||
#define SYS_MAXSYSCALL 599
|
||||
#define SYS_kexec_load 599
|
||||
#define SYS_MAXSYSCALL 600
|
||||
|
||||
+2
-1
@@ -440,4 +440,5 @@ MIASM = \
|
||||
getgroups.o \
|
||||
setgroups.o \
|
||||
jail_attach_jd.o \
|
||||
jail_remove_jd.o
|
||||
jail_remove_jd.o \
|
||||
kexec_load.o
|
||||
|
||||
@@ -1907,6 +1907,12 @@ struct jail_attach_jd_args {
|
||||
struct jail_remove_jd_args {
|
||||
char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)];
|
||||
};
|
||||
struct kexec_load_args {
|
||||
char entry_l_[PADL_(uint64_t)]; uint64_t entry; char entry_r_[PADR_(uint64_t)];
|
||||
char nseg_l_[PADL_(u_long)]; u_long nseg; char nseg_r_[PADR_(u_long)];
|
||||
char segments_l_[PADL_(struct kexec_segment *)]; struct kexec_segment * segments; char segments_r_[PADR_(struct kexec_segment *)];
|
||||
char flags_l_[PADL_(u_long)]; u_long flags; char flags_r_[PADR_(u_long)];
|
||||
};
|
||||
int sys__exit(struct thread *, struct _exit_args *);
|
||||
int sys_fork(struct thread *, struct fork_args *);
|
||||
int sys_read(struct thread *, struct read_args *);
|
||||
@@ -2313,6 +2319,7 @@ int sys_getgroups(struct thread *, struct getgroups_args *);
|
||||
int sys_setgroups(struct thread *, struct setgroups_args *);
|
||||
int sys_jail_attach_jd(struct thread *, struct jail_attach_jd_args *);
|
||||
int sys_jail_remove_jd(struct thread *, struct jail_remove_jd_args *);
|
||||
int sys_kexec_load(struct thread *, struct kexec_load_args *);
|
||||
|
||||
#ifdef COMPAT_43
|
||||
|
||||
@@ -3311,6 +3318,7 @@ int freebsd14_setgroups(struct thread *, struct freebsd14_setgroups_args *);
|
||||
#define SYS_AUE_setgroups AUE_SETGROUPS
|
||||
#define SYS_AUE_jail_attach_jd AUE_JAIL_ATTACH
|
||||
#define SYS_AUE_jail_remove_jd AUE_JAIL_REMOVE
|
||||
#define SYS_AUE_kexec_load AUE_NULL
|
||||
|
||||
#undef PAD_
|
||||
#undef PADL_
|
||||
|
||||
Reference in New Issue
Block a user