From owner-svn-src-user@freebsd.org Tue Jan 9 21:33:00 2018 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5A706E74427 for ; Tue, 9 Jan 2018 21:33:00 +0000 (UTC) (envelope-from jeff@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 36CE8728EC; Tue, 9 Jan 2018 21:33:00 +0000 (UTC) (envelope-from jeff@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 65B411C8F5; Tue, 9 Jan 2018 21:32:59 +0000 (UTC) (envelope-from jeff@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w09LWxEi015888; Tue, 9 Jan 2018 21:32:59 GMT (envelope-from jeff@FreeBSD.org) Received: (from jeff@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w09LWwYR015881; Tue, 9 Jan 2018 21:32:58 GMT (envelope-from jeff@FreeBSD.org) Message-Id: <201801092132.w09LWwYR015881@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jeff set sender to jeff@FreeBSD.org using -f From: Jeff Roberson Date: Tue, 9 Jan 2018 21:32:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r327743 - user/jeff/numa/sys/compat/freebsd32 X-SVN-Group: user X-SVN-Commit-Author: jeff X-SVN-Commit-Paths: user/jeff/numa/sys/compat/freebsd32 X-SVN-Commit-Revision: 327743 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 09 Jan 2018 21:33:00 -0000 Author: jeff Date: Tue Jan 9 21:32:58 2018 New Revision: 327743 URL: https://svnweb.freebsd.org/changeset/base/327743 Log: Properly implement 32bit/64bit compat Modified: user/jeff/numa/sys/compat/freebsd32/freebsd32_misc.c user/jeff/numa/sys/compat/freebsd32/freebsd32_proto.h user/jeff/numa/sys/compat/freebsd32/freebsd32_syscall.h user/jeff/numa/sys/compat/freebsd32/freebsd32_syscalls.c user/jeff/numa/sys/compat/freebsd32/freebsd32_sysent.c user/jeff/numa/sys/compat/freebsd32/freebsd32_systrace_args.c user/jeff/numa/sys/compat/freebsd32/syscalls.master Modified: user/jeff/numa/sys/compat/freebsd32/freebsd32_misc.c ============================================================================== --- user/jeff/numa/sys/compat/freebsd32/freebsd32_misc.c Tue Jan 9 21:24:05 2018 (r327742) +++ user/jeff/numa/sys/compat/freebsd32/freebsd32_misc.c Tue Jan 9 21:32:58 2018 (r327743) @@ -3017,6 +3017,24 @@ freebsd32_cpuset_setaffinity(struct thread *td, } int +freebsd32_cpuset_getdomain(struct thread *td, + struct freebsd32_cpuset_getdomain_args *uap) +{ + + return (kern_cpuset_getdomain(td, uap->level, uap->which, + PAIR32TO64(id_t,uap->id), uap->domainsetsize, uap->mask, uap->policy)); +} + +int +freebsd32_cpuset_setdomain(struct thread *td, + struct freebsd32_cpuset_setdomain_args *uap) +{ + + return (kern_cpuset_setdomain(td, uap->level, uap->which, + PAIR32TO64(id_t,uap->id), uap->domainsetsize, uap->mask, uap->policy)); +} + +int freebsd32_nmount(struct thread *td, struct freebsd32_nmount_args /* { struct iovec *iovp; Modified: user/jeff/numa/sys/compat/freebsd32/freebsd32_proto.h ============================================================================== --- user/jeff/numa/sys/compat/freebsd32/freebsd32_proto.h Tue Jan 9 21:24:05 2018 (r327742) +++ user/jeff/numa/sys/compat/freebsd32/freebsd32_proto.h Tue Jan 9 21:32:58 2018 (r327743) @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include @@ -693,6 +694,24 @@ struct freebsd32_kevent_args { char nevents_l_[PADL_(int)]; int nevents; char nevents_r_[PADR_(int)]; char timeout_l_[PADL_(const struct timespec32 *)]; const struct timespec32 * timeout; char timeout_r_[PADR_(const struct timespec32 *)]; }; +struct freebsd32_cpuset_getdomain_args { + char level_l_[PADL_(cpulevel_t)]; cpulevel_t level; char level_r_[PADR_(cpulevel_t)]; + char which_l_[PADL_(cpuwhich_t)]; cpuwhich_t which; char which_r_[PADR_(cpuwhich_t)]; + char id1_l_[PADL_(uint32_t)]; uint32_t id1; char id1_r_[PADR_(uint32_t)]; + char id2_l_[PADL_(uint32_t)]; uint32_t id2; char id2_r_[PADR_(uint32_t)]; + char domainsetsize_l_[PADL_(size_t)]; size_t domainsetsize; char domainsetsize_r_[PADR_(size_t)]; + char mask_l_[PADL_(domainset_t *)]; domainset_t * mask; char mask_r_[PADR_(domainset_t *)]; + char policy_l_[PADL_(int *)]; int * policy; char policy_r_[PADR_(int *)]; +}; +struct freebsd32_cpuset_setdomain_args { + char level_l_[PADL_(cpulevel_t)]; cpulevel_t level; char level_r_[PADR_(cpulevel_t)]; + char which_l_[PADL_(cpuwhich_t)]; cpuwhich_t which; char which_r_[PADR_(cpuwhich_t)]; + char id1_l_[PADL_(uint32_t)]; uint32_t id1; char id1_r_[PADR_(uint32_t)]; + char id2_l_[PADL_(uint32_t)]; uint32_t id2; char id2_r_[PADR_(uint32_t)]; + char domainsetsize_l_[PADL_(size_t)]; size_t domainsetsize; char domainsetsize_r_[PADR_(size_t)]; + char mask_l_[PADL_(domainset_t *)]; domainset_t * mask; char mask_r_[PADR_(domainset_t *)]; + char policy_l_[PADL_(int)]; int policy; char policy_r_[PADR_(int)]; +}; #if !defined(PAD64_REQUIRED) && (defined(__powerpc__) || defined(__mips__)) #define PAD64_REQUIRED #endif @@ -823,6 +842,8 @@ int freebsd32_fstatat(struct thread *, struct freebsd3 int freebsd32_fhstat(struct thread *, struct freebsd32_fhstat_args *); int freebsd32_getdirentries(struct thread *, struct freebsd32_getdirentries_args *); int freebsd32_kevent(struct thread *, struct freebsd32_kevent_args *); +int freebsd32_cpuset_getdomain(struct thread *, struct freebsd32_cpuset_getdomain_args *); +int freebsd32_cpuset_setdomain(struct thread *, struct freebsd32_cpuset_setdomain_args *); #ifdef COMPAT_43 @@ -1370,6 +1391,8 @@ int freebsd11_freebsd32_mknodat(struct thread *, struc #define FREEBSD32_SYS_AUE_freebsd32_fhstat AUE_FHSTAT #define FREEBSD32_SYS_AUE_freebsd32_getdirentries AUE_GETDIRENTRIES #define FREEBSD32_SYS_AUE_freebsd32_kevent AUE_KEVENT +#define FREEBSD32_SYS_AUE_freebsd32_cpuset_getdomain AUE_NULL +#define FREEBSD32_SYS_AUE_freebsd32_cpuset_setdomain AUE_NULL #undef PAD_ #undef PADL_ Modified: user/jeff/numa/sys/compat/freebsd32/freebsd32_syscall.h ============================================================================== --- user/jeff/numa/sys/compat/freebsd32/freebsd32_syscall.h Tue Jan 9 21:24:05 2018 (r327742) +++ user/jeff/numa/sys/compat/freebsd32/freebsd32_syscall.h Tue Jan 9 21:32:58 2018 (r327743) @@ -455,8 +455,6 @@ #define FREEBSD32_SYS_freebsd32_ppoll 545 #define FREEBSD32_SYS_freebsd32_futimens 546 #define FREEBSD32_SYS_freebsd32_utimensat 547 -#define FREEBSD32_SYS_numa_getaffinity 548 -#define FREEBSD32_SYS_numa_setaffinity 549 #define FREEBSD32_SYS_fdatasync 550 #define FREEBSD32_SYS_freebsd32_fstat 551 #define FREEBSD32_SYS_freebsd32_fstatat 552 @@ -468,4 +466,6 @@ #define FREEBSD32_SYS_fhstatfs 558 #define FREEBSD32_SYS_mknodat 559 #define FREEBSD32_SYS_freebsd32_kevent 560 -#define FREEBSD32_SYS_MAXSYSCALL 561 +#define FREEBSD32_SYS_freebsd32_cpuset_getdomain 561 +#define FREEBSD32_SYS_freebsd32_cpuset_setdomain 562 +#define FREEBSD32_SYS_MAXSYSCALL 563 Modified: user/jeff/numa/sys/compat/freebsd32/freebsd32_syscalls.c ============================================================================== --- user/jeff/numa/sys/compat/freebsd32/freebsd32_syscalls.c Tue Jan 9 21:24:05 2018 (r327742) +++ user/jeff/numa/sys/compat/freebsd32/freebsd32_syscalls.c Tue Jan 9 21:32:58 2018 (r327743) @@ -580,8 +580,8 @@ const char *freebsd32_syscallnames[] = { "freebsd32_ppoll", /* 545 = freebsd32_ppoll */ "freebsd32_futimens", /* 546 = freebsd32_futimens */ "freebsd32_utimensat", /* 547 = freebsd32_utimensat */ - "numa_getaffinity", /* 548 = numa_getaffinity */ - "numa_setaffinity", /* 549 = numa_setaffinity */ + "#548", /* 548 = numa_getaffinity */ + "#549", /* 549 = numa_setaffinity */ "fdatasync", /* 550 = fdatasync */ "freebsd32_fstat", /* 551 = freebsd32_fstat */ "freebsd32_fstatat", /* 552 = freebsd32_fstatat */ @@ -593,4 +593,6 @@ const char *freebsd32_syscallnames[] = { "fhstatfs", /* 558 = fhstatfs */ "mknodat", /* 559 = mknodat */ "freebsd32_kevent", /* 560 = freebsd32_kevent */ + "freebsd32_cpuset_getdomain", /* 561 = freebsd32_cpuset_getdomain */ + "freebsd32_cpuset_setdomain", /* 562 = freebsd32_cpuset_setdomain */ }; Modified: user/jeff/numa/sys/compat/freebsd32/freebsd32_sysent.c ============================================================================== --- user/jeff/numa/sys/compat/freebsd32/freebsd32_sysent.c Tue Jan 9 21:24:05 2018 (r327742) +++ user/jeff/numa/sys/compat/freebsd32/freebsd32_sysent.c Tue Jan 9 21:32:58 2018 (r327743) @@ -629,8 +629,8 @@ struct sysent freebsd32_sysent[] = { { AS(freebsd32_ppoll_args), (sy_call_t *)freebsd32_ppoll, AUE_POLL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 545 = freebsd32_ppoll */ { AS(freebsd32_futimens_args), (sy_call_t *)freebsd32_futimens, AUE_FUTIMES, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 546 = freebsd32_futimens */ { AS(freebsd32_utimensat_args), (sy_call_t *)freebsd32_utimensat, AUE_FUTIMESAT, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 547 = freebsd32_utimensat */ - { AS(numa_getaffinity_args), (sy_call_t *)sys_numa_getaffinity, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 548 = numa_getaffinity */ - { AS(numa_setaffinity_args), (sy_call_t *)sys_numa_setaffinity, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 549 = numa_setaffinity */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 548 = numa_getaffinity */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 549 = numa_setaffinity */ { AS(fdatasync_args), (sy_call_t *)sys_fdatasync, AUE_FSYNC, NULL, 0, 0, 0, SY_THR_STATIC }, /* 550 = fdatasync */ { AS(freebsd32_fstat_args), (sy_call_t *)freebsd32_fstat, AUE_FSTAT, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 551 = freebsd32_fstat */ { AS(freebsd32_fstatat_args), (sy_call_t *)freebsd32_fstatat, AUE_FSTATAT, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 552 = freebsd32_fstatat */ @@ -642,4 +642,6 @@ struct sysent freebsd32_sysent[] = { { AS(fhstatfs_args), (sy_call_t *)sys_fhstatfs, AUE_FHSTATFS, NULL, 0, 0, 0, SY_THR_STATIC }, /* 558 = fhstatfs */ { AS(mknodat_args), (sy_call_t *)sys_mknodat, AUE_MKNODAT, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 559 = mknodat */ { AS(freebsd32_kevent_args), (sy_call_t *)freebsd32_kevent, AUE_KEVENT, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 560 = freebsd32_kevent */ + { AS(freebsd32_cpuset_getdomain_args), (sy_call_t *)freebsd32_cpuset_getdomain, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 561 = freebsd32_cpuset_getdomain */ + { AS(freebsd32_cpuset_setdomain_args), (sy_call_t *)freebsd32_cpuset_setdomain, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 562 = freebsd32_cpuset_setdomain */ }; Modified: user/jeff/numa/sys/compat/freebsd32/freebsd32_systrace_args.c ============================================================================== --- user/jeff/numa/sys/compat/freebsd32/freebsd32_systrace_args.c Tue Jan 9 21:24:05 2018 (r327742) +++ user/jeff/numa/sys/compat/freebsd32/freebsd32_systrace_args.c Tue Jan 9 21:32:58 2018 (r327743) @@ -3150,24 +3150,6 @@ systrace_args(int sysnum, void *params, uint64_t *uarg *n_args = 4; break; } - /* numa_getaffinity */ - case 548: { - struct numa_getaffinity_args *p = params; - iarg[0] = p->which; /* cpuwhich_t */ - iarg[1] = p->id; /* id_t */ - uarg[2] = (intptr_t) p->policy; /* struct vm_domain_policy * */ - *n_args = 3; - break; - } - /* numa_setaffinity */ - case 549: { - struct numa_setaffinity_args *p = params; - iarg[0] = p->which; /* cpuwhich_t */ - iarg[1] = p->id; /* id_t */ - uarg[2] = (intptr_t) p->policy; /* const struct vm_domain_policy * */ - *n_args = 3; - break; - } /* fdatasync */ case 550: { struct fdatasync_args *p = params; @@ -3266,6 +3248,32 @@ systrace_args(int sysnum, void *params, uint64_t *uarg *n_args = 6; break; } + /* freebsd32_cpuset_getdomain */ + case 561: { + struct freebsd32_cpuset_getdomain_args *p = params; + iarg[0] = p->level; /* cpulevel_t */ + iarg[1] = p->which; /* cpuwhich_t */ + uarg[2] = p->id1; /* uint32_t */ + uarg[3] = p->id2; /* uint32_t */ + uarg[4] = p->domainsetsize; /* size_t */ + uarg[5] = (intptr_t) p->mask; /* domainset_t * */ + uarg[6] = (intptr_t) p->policy; /* int * */ + *n_args = 7; + break; + } + /* freebsd32_cpuset_setdomain */ + case 562: { + struct freebsd32_cpuset_setdomain_args *p = params; + iarg[0] = p->level; /* cpulevel_t */ + iarg[1] = p->which; /* cpuwhich_t */ + uarg[2] = p->id1; /* uint32_t */ + uarg[3] = p->id2; /* uint32_t */ + uarg[4] = p->domainsetsize; /* size_t */ + uarg[5] = (intptr_t) p->mask; /* domainset_t * */ + iarg[6] = p->policy; /* int */ + *n_args = 7; + break; + } default: *n_args = 0; break; @@ -8563,38 +8571,6 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d break; }; break; - /* numa_getaffinity */ - case 548: - switch(ndx) { - case 0: - p = "cpuwhich_t"; - break; - case 1: - p = "id_t"; - break; - case 2: - p = "userland struct vm_domain_policy *"; - break; - default: - break; - }; - break; - /* numa_setaffinity */ - case 549: - switch(ndx) { - case 0: - p = "cpuwhich_t"; - break; - case 1: - p = "id_t"; - break; - case 2: - p = "userland const struct vm_domain_policy *"; - break; - default: - break; - }; - break; /* fdatasync */ case 550: switch(ndx) { @@ -8768,6 +8744,62 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d break; }; break; + /* freebsd32_cpuset_getdomain */ + case 561: + switch(ndx) { + case 0: + p = "cpulevel_t"; + break; + case 1: + p = "cpuwhich_t"; + break; + case 2: + p = "uint32_t"; + break; + case 3: + p = "uint32_t"; + break; + case 4: + p = "size_t"; + break; + case 5: + p = "userland domainset_t *"; + break; + case 6: + p = "userland int *"; + break; + default: + break; + }; + break; + /* freebsd32_cpuset_setdomain */ + case 562: + switch(ndx) { + case 0: + p = "cpulevel_t"; + break; + case 1: + p = "cpuwhich_t"; + break; + case 2: + p = "uint32_t"; + break; + case 3: + p = "uint32_t"; + break; + case 4: + p = "size_t"; + break; + case 5: + p = "userland domainset_t *"; + break; + case 6: + p = "int"; + break; + default: + break; + }; + break; default: break; }; @@ -10554,16 +10586,6 @@ systrace_return_setargdesc(int sysnum, int ndx, char * if (ndx == 0 || ndx == 1) p = "int"; break; - /* numa_getaffinity */ - case 548: - if (ndx == 0 || ndx == 1) - p = "int"; - break; - /* numa_setaffinity */ - case 549: - if (ndx == 0 || ndx == 1) - p = "int"; - break; /* fdatasync */ case 550: if (ndx == 0 || ndx == 1) @@ -10616,6 +10638,16 @@ systrace_return_setargdesc(int sysnum, int ndx, char * break; /* freebsd32_kevent */ case 560: + if (ndx == 0 || ndx == 1) + p = "int"; + break; + /* freebsd32_cpuset_getdomain */ + case 561: + if (ndx == 0 || ndx == 1) + p = "int"; + break; + /* freebsd32_cpuset_setdomain */ + case 562: if (ndx == 0 || ndx == 1) p = "int"; break; Modified: user/jeff/numa/sys/compat/freebsd32/syscalls.master ============================================================================== --- user/jeff/numa/sys/compat/freebsd32/syscalls.master Tue Jan 9 21:24:05 2018 (r327742) +++ user/jeff/numa/sys/compat/freebsd32/syscalls.master Tue Jan 9 21:32:58 2018 (r327743) @@ -1086,12 +1086,8 @@ 547 AUE_FUTIMESAT STD { int freebsd32_utimensat(int fd, \ char *path, \ struct timespec *times, int flag); } -548 AUE_NULL NOPROTO { int numa_getaffinity(cpuwhich_t which, \ - id_t id, \ - struct vm_domain_policy *policy); } -549 AUE_NULL NOPROTO { int numa_setaffinity(cpuwhich_t which, \ - id_t id, \ - const struct vm_domain_policy *policy); } +548 AUE_NULL UNIMPL numa_getaffinity +549 AUE_NULL UNIMPL numa_setaffinity 550 AUE_FSYNC NOPROTO { int fdatasync(int fd); } 551 AUE_FSTAT STD { int freebsd32_fstat(int fd, \ struct stat32 *ub); } @@ -1119,12 +1115,12 @@ struct kevent32 *eventlist, \ int nevents, \ const struct timespec32 *timeout); } -561 AUE_NULL STD { int cpuset_getdomain(cpulevel_t level, \ - cpuwhich_t which, id_t id, \ +561 AUE_NULL STD { int freebsd32_cpuset_getdomain(cpulevel_t level, \ + cpuwhich_t which, uint32_t id1, uint32_t id2, \ size_t domainsetsize, domainset_t *mask, \ int *policy); } -562 AUE_NULL STD { int cpuset_setdomain(cpulevel_t level, \ - cpuwhich_t which, id_t id, \ +562 AUE_NULL STD { int freebsd32_cpuset_setdomain(cpulevel_t level, \ + cpuwhich_t which, uint32_t id1, uint32_t id2, \ size_t domainsetsize, domainset_t *mask, \ int policy); }