linux32_machdep.c (134586) | linux32_machdep.c (136152) |
---|---|
1/*- 2 * Copyright (c) 2004 Tim J. Robbins 3 * Copyright (c) 2002 Doug Rabson 4 * Copyright (c) 2000 Marcel Moolenaar 5 * All rights reserved. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions --- 15 unchanged lines hidden (view full) --- 24 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 28 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 */ 30 31#include <sys/cdefs.h> | 1/*- 2 * Copyright (c) 2004 Tim J. Robbins 3 * Copyright (c) 2002 Doug Rabson 4 * Copyright (c) 2000 Marcel Moolenaar 5 * All rights reserved. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions --- 15 unchanged lines hidden (view full) --- 24 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 28 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 */ 30 31#include <sys/cdefs.h> |
32__FBSDID("$FreeBSD: head/sys/amd64/linux32/linux32_machdep.c 134586 2004-09-01 02:11:28Z julian $"); | 32__FBSDID("$FreeBSD: head/sys/amd64/linux32/linux32_machdep.c 136152 2004-10-05 18:51:11Z jhb $"); |
33 34#include <sys/param.h> 35#include <sys/kernel.h> 36#include <sys/systm.h> 37#include <sys/lock.h> 38#include <sys/malloc.h> 39#include <sys/mman.h> 40#include <sys/mutex.h> --- 894 unchanged lines hidden (view full) --- 935 return (error); 936 } 937 return (error); 938} 939 940int 941linux_getrusage(struct thread *td, struct linux_getrusage_args *uap) 942{ | 33 34#include <sys/param.h> 35#include <sys/kernel.h> 36#include <sys/systm.h> 37#include <sys/lock.h> 38#include <sys/malloc.h> 39#include <sys/mman.h> 40#include <sys/mutex.h> --- 894 unchanged lines hidden (view full) --- 935 return (error); 936 } 937 return (error); 938} 939 940int 941linux_getrusage(struct thread *td, struct linux_getrusage_args *uap) 942{ |
943 struct l_rusage s32; 944 struct rusage s; |
|
943 int error; | 945 int error; |
944 caddr_t sg; 945 struct l_rusage *p32, s32; 946 struct rusage *p = NULL, s; | |
947 | 946 |
948 p32 = uap->rusage; 949 if (p32 != NULL) { 950 sg = stackgap_init(); 951 p = stackgap_alloc(&sg, sizeof(struct rusage)); 952 uap->rusage = (struct l_rusage *)p; 953 } 954 error = getrusage(td, (struct getrusage_args *) uap); | 947 error = kern_getrusage(td, uap->who, &s); |
955 if (error != 0) 956 return (error); | 948 if (error != 0) 949 return (error); |
957 if (p32 != NULL) { 958 error = copyin(p, &s, sizeof(s)); 959 if (error != 0) 960 return (error); | 950 if (uap->rusage != NULL) { |
961 s32.ru_utime.tv_sec = s.ru_utime.tv_sec; 962 s32.ru_utime.tv_usec = s.ru_utime.tv_usec; 963 s32.ru_stime.tv_sec = s.ru_stime.tv_sec; 964 s32.ru_stime.tv_usec = s.ru_stime.tv_usec; 965 s32.ru_maxrss = s.ru_maxrss; 966 s32.ru_ixrss = s.ru_ixrss; 967 s32.ru_idrss = s.ru_idrss; 968 s32.ru_isrss = s.ru_isrss; 969 s32.ru_minflt = s.ru_minflt; 970 s32.ru_majflt = s.ru_majflt; 971 s32.ru_nswap = s.ru_nswap; 972 s32.ru_inblock = s.ru_inblock; 973 s32.ru_oublock = s.ru_oublock; 974 s32.ru_msgsnd = s.ru_msgsnd; 975 s32.ru_msgrcv = s.ru_msgrcv; 976 s32.ru_nsignals = s.ru_nsignals; 977 s32.ru_nvcsw = s.ru_nvcsw; 978 s32.ru_nivcsw = s.ru_nivcsw; | 951 s32.ru_utime.tv_sec = s.ru_utime.tv_sec; 952 s32.ru_utime.tv_usec = s.ru_utime.tv_usec; 953 s32.ru_stime.tv_sec = s.ru_stime.tv_sec; 954 s32.ru_stime.tv_usec = s.ru_stime.tv_usec; 955 s32.ru_maxrss = s.ru_maxrss; 956 s32.ru_ixrss = s.ru_ixrss; 957 s32.ru_idrss = s.ru_idrss; 958 s32.ru_isrss = s.ru_isrss; 959 s32.ru_minflt = s.ru_minflt; 960 s32.ru_majflt = s.ru_majflt; 961 s32.ru_nswap = s.ru_nswap; 962 s32.ru_inblock = s.ru_inblock; 963 s32.ru_oublock = s.ru_oublock; 964 s32.ru_msgsnd = s.ru_msgsnd; 965 s32.ru_msgrcv = s.ru_msgrcv; 966 s32.ru_nsignals = s.ru_nsignals; 967 s32.ru_nvcsw = s.ru_nvcsw; 968 s32.ru_nivcsw = s.ru_nivcsw; |
979 error = copyout(&s32, p32, sizeof(s32)); | 969 error = copyout(&s32, uap->rusage, sizeof(s32)); |
980 } 981 return (error); 982} 983 984int 985linux_sched_rr_get_interval(struct thread *td, 986 struct linux_sched_rr_get_interval_args *uap) 987{ --- 34 unchanged lines hidden --- | 970 } 971 return (error); 972} 973 974int 975linux_sched_rr_get_interval(struct thread *td, 976 struct linux_sched_rr_get_interval_args *uap) 977{ --- 34 unchanged lines hidden --- |