Date: Wed, 10 Dec 2003 18:42:46 -0800 (PST) From: Peter Wemm <peter@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 43791 for review Message-ID: <200312110242.hBB2gksU061527@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=43791 Change 43791 by peter@peter_daintree on 2003/12/10 18:42:26 IFC @43790 Affected files ... .. //depot/projects/hammer/sys/amd64/ia32/ia32_sigtramp.S#5 branch .. //depot/projects/hammer/sys/boot/efi/include/efiapi.h#3 integrate .. //depot/projects/hammer/sys/compat/freebsd32/freebsd32_misc.c#5 integrate .. //depot/projects/hammer/sys/compat/freebsd32/freebsd32_proto.h#4 integrate .. //depot/projects/hammer/sys/compat/freebsd32/freebsd32_syscall.h#4 integrate .. //depot/projects/hammer/sys/compat/freebsd32/freebsd32_syscalls.c#4 integrate .. //depot/projects/hammer/sys/compat/freebsd32/freebsd32_sysent.c#4 integrate .. //depot/projects/hammer/sys/compat/freebsd32/syscalls.master#7 integrate .. //depot/projects/hammer/sys/compat/ia32/ia32_sigtramp.S#2 delete .. //depot/projects/hammer/sys/compat/ia32/ia32_sysvec.c#7 integrate .. //depot/projects/hammer/sys/compat/ia32/ia32_util.h#3 integrate .. //depot/projects/hammer/sys/conf/files.amd64#36 integrate .. //depot/projects/hammer/sys/conf/files.ia64#14 integrate .. //depot/projects/hammer/sys/conf/options.i386#20 integrate .. //depot/projects/hammer/sys/dev/acpica/acpi_cpu.c#10 integrate .. //depot/projects/hammer/sys/dev/ata/ata-lowlevel.c#7 integrate .. //depot/projects/hammer/sys/i386/i386/mp_machdep.c#25 integrate .. //depot/projects/hammer/sys/i386/i386/mptable.c#8 integrate .. //depot/projects/hammer/sys/i386/include/apicreg.h#2 integrate .. //depot/projects/hammer/sys/ia64/ia32/Makefile#2 delete .. //depot/projects/hammer/sys/ia64/ia32/ia32.h#2 delete .. //depot/projects/hammer/sys/ia64/ia32/ia32_misc.c#5 delete .. //depot/projects/hammer/sys/ia64/ia32/ia32_proto.h#9 delete .. //depot/projects/hammer/sys/ia64/ia32/ia32_signal.c#1 branch .. //depot/projects/hammer/sys/ia64/ia32/ia32_sigtramp.c#1 branch .. //depot/projects/hammer/sys/ia64/ia32/ia32_syscall.h#9 delete .. //depot/projects/hammer/sys/ia64/ia32/ia32_sysent.c#10 delete .. //depot/projects/hammer/sys/ia64/ia32/ia32_sysvec.c#6 delete .. //depot/projects/hammer/sys/ia64/ia32/ia32_util.h#4 delete .. //depot/projects/hammer/sys/ia64/ia32/syscalls.conf#2 delete .. //depot/projects/hammer/sys/ia64/ia32/syscalls.master#14 delete .. //depot/projects/hammer/sys/ia64/include/cpufunc.h#6 integrate .. //depot/projects/hammer/sys/ia64/include/runq.h#2 integrate .. //depot/projects/hammer/sys/kern/init_sysent.c#22 integrate .. //depot/projects/hammer/sys/kern/syscalls.c#22 integrate .. //depot/projects/hammer/sys/kern/syscalls.master#22 integrate .. //depot/projects/hammer/sys/sys/ioctl_bt848.h#2 delete .. //depot/projects/hammer/sys/sys/ioctl_meteor.h#3 delete .. //depot/projects/hammer/sys/sys/syscall.h#22 integrate .. //depot/projects/hammer/sys/sys/syscall.mk#22 integrate .. //depot/projects/hammer/sys/sys/sysproto.h#22 integrate .. //depot/projects/hammer/usr.bin/vmstat/vmstat.8#4 integrate .. //depot/projects/hammer/usr.bin/vmstat/vmstat.c#9 integrate Differences ... ==== //depot/projects/hammer/sys/boot/efi/include/efiapi.h#3 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/boot/efi/include/efiapi.h,v 1.5 2002/12/08 20:47:44 marcel Exp $ */ +/* $FreeBSD: src/sys/boot/efi/include/efiapi.h,v 1.6 2003/12/10 19:08:09 jhb Exp $ */ #ifndef _EFI_API_H #define _EFI_API_H @@ -204,7 +204,7 @@ /* - * EFI platform varibles + * EFI platform variables */ #define EFI_GLOBAL_VARIABLE \ ==== //depot/projects/hammer/sys/compat/freebsd32/freebsd32_misc.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.15 2003/11/07 21:27:13 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.16 2003/12/11 02:34:49 peter Exp $"); #include "opt_compat.h" @@ -789,29 +789,21 @@ freebsd32_gettimeofday(struct thread *td, struct freebsd32_gettimeofday_args *uap) { - int error; - caddr_t sg; - struct timeval32 *p32, s32; - struct timeval *p = NULL, s; + struct timeval atv; + struct timeval32 atv32; + struct timezone rtz; + int error = 0; - p32 = uap->tp; - if (p32) { - sg = stackgap_init(); - p = stackgap_alloc(&sg, sizeof(struct timeval)); - uap->tp = (struct timeval32 *)p; + if (uap->tp) { + microtime(&atv); + CP(atv, atv32, tv_sec); + CP(atv, atv32, tv_usec); + error = copyout(&atv32, uap->tp, sizeof (atv32)); } - error = gettimeofday(td, (struct gettimeofday_args *) uap); - if (error) - return (error); - if (p32) { - error = copyin(p, &s, sizeof(s)); - if (error) - return (error); - CP(s, s32, tv_sec); - CP(s, s32, tv_usec); - error = copyout(&s32, p32, sizeof(s32)); - if (error) - return (error); + if (error == 0 && uap->tzp != NULL) { + rtz.tz_minuteswest = tz_minuteswest; + rtz.tz_dsttime = tz_dsttime; + error = copyout(&rtz, uap->tzp, sizeof (rtz)); } return (error); } ==== //depot/projects/hammer/sys/compat/freebsd32/freebsd32_proto.h#4 (text+ko) ==== @@ -2,8 +2,8 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.14 2003/11/08 07:31:49 peter Exp $ - * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.26 2003/11/08 07:31:30 peter Exp + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.16 2003/12/11 02:36:37 peter Exp $ + * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.29 2003/12/11 02:36:07 peter Exp */ #ifndef _FREEBSD32_SYSPROTO_H_ ==== //depot/projects/hammer/sys/compat/freebsd32/freebsd32_syscall.h#4 (text+ko) ==== @@ -2,8 +2,8 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.14 2003/11/08 07:31:49 peter Exp $ - * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.26 2003/11/08 07:31:30 peter Exp + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.16 2003/12/11 02:36:37 peter Exp $ + * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.29 2003/12/11 02:36:07 peter Exp */ #define FREEBSD32_SYS_syscall 0 @@ -53,7 +53,7 @@ #define FREEBSD32_SYS_getlogin 49 #define FREEBSD32_SYS_setlogin 50 #define FREEBSD32_SYS_acct 51 -#define FREEBSD32_SYS_sigpending 52 + /* 52 is obsolete osigpending */ #define FREEBSD32_SYS_freebsd32_sigaltstack 53 #define FREEBSD32_SYS_ioctl 54 #define FREEBSD32_SYS_reboot 55 @@ -98,7 +98,7 @@ #define FREEBSD32_SYS_setpriority 96 #define FREEBSD32_SYS_socket 97 #define FREEBSD32_SYS_connect 98 -#define FREEBSD32_SYS_accept 99 + /* 99 is obsolete oaccept */ #define FREEBSD32_SYS_getpriority 100 /* 101 is obsolete osend */ /* 102 is obsolete orecv */ @@ -123,7 +123,7 @@ #define FREEBSD32_SYS_freebsd32_settimeofday 122 #define FREEBSD32_SYS_fchown 123 #define FREEBSD32_SYS_fchmod 124 -#define FREEBSD32_SYS_recvfrom 125 + /* 125 is obsolete orecvfrom */ #define FREEBSD32_SYS_setreuid 126 #define FREEBSD32_SYS_setregid 127 #define FREEBSD32_SYS_rename 128 @@ -149,7 +149,7 @@ #define FREEBSD32_SYS_quotactl 148 /* 149 is obsolete oquota */ /* 150 is obsolete ogetsockname */ -#define FREEBSD32_SYS_getdirentries 156 + /* 156 is obsolete ogetdirentries */ #define FREEBSD32_SYS_freebsd32_statfs 157 #define FREEBSD32_SYS_freebsd32_fstatfs 158 #define FREEBSD32_SYS_getfh 161 @@ -295,4 +295,4 @@ #define FREEBSD32_SYS__umtx_lock 434 #define FREEBSD32_SYS__umtx_unlock 435 #define FREEBSD32_SYS_jail_attach 436 -#define FREEBSD32_SYS_MAXSYSCALL 437 +#define FREEBSD32_SYS_MAXSYSCALL 441 ==== //depot/projects/hammer/sys/compat/freebsd32/freebsd32_syscalls.c#4 (text+ko) ==== @@ -2,8 +2,8 @@ * System call names. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.5 2003/11/08 07:31:49 peter Exp $ - * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.26 2003/11/08 07:31:30 peter Exp + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.7 2003/12/11 02:36:37 peter Exp $ + * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.29 2003/12/11 02:36:07 peter Exp */ const char *freebsd32_syscallnames[] = { @@ -59,7 +59,7 @@ "getlogin", /* 49 = getlogin */ "setlogin", /* 50 = setlogin */ "acct", /* 51 = acct */ - "sigpending", /* 52 = sigpending */ + "obs_osigpending", /* 52 = obsolete osigpending */ "freebsd32_sigaltstack", /* 53 = freebsd32_sigaltstack */ "ioctl", /* 54 = ioctl */ "reboot", /* 55 = reboot */ @@ -106,7 +106,7 @@ "setpriority", /* 96 = setpriority */ "socket", /* 97 = socket */ "connect", /* 98 = connect */ - "accept", /* 99 = accept */ + "obs_oaccept", /* 99 = obsolete oaccept */ "getpriority", /* 100 = getpriority */ "obs_osend", /* 101 = obsolete osend */ "obs_orecv", /* 102 = obsolete orecv */ @@ -132,7 +132,7 @@ "freebsd32_settimeofday", /* 122 = freebsd32_settimeofday */ "fchown", /* 123 = fchown */ "fchmod", /* 124 = fchmod */ - "recvfrom", /* 125 = recvfrom */ + "obs_orecvfrom", /* 125 = obsolete orecvfrom */ "setreuid", /* 126 = setreuid */ "setregid", /* 127 = setregid */ "rename", /* 128 = rename */ @@ -163,7 +163,7 @@ "#153", /* 153 = asyncdaemon */ "#154", /* 154 = nosys */ "#155", /* 155 = nfssvc */ - "getdirentries", /* 156 = getdirentries */ + "obs_ogetdirentries", /* 156 = obsolete ogetdirentries */ "freebsd32_statfs", /* 157 = freebsd32_statfs */ "freebsd32_fstatfs", /* 158 = freebsd32_fstatfs */ "#159", /* 159 = nosys */ @@ -444,4 +444,8 @@ "_umtx_lock", /* 434 = _umtx_lock */ "_umtx_unlock", /* 435 = _umtx_unlock */ "jail_attach", /* 436 = jail_attach */ + "#437", /* 437 = extattr_list_fd */ + "#438", /* 438 = extattr_list_file */ + "#439", /* 439 = extattr_list_link */ + "#440", /* 440 = kse_switchin */ }; ==== //depot/projects/hammer/sys/compat/freebsd32/freebsd32_sysent.c#4 (text+ko) ==== @@ -2,8 +2,8 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.15 2003/11/08 07:31:49 peter Exp $ - * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.26 2003/11/08 07:31:30 peter Exp + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.17 2003/12/11 02:36:37 peter Exp $ + * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.29 2003/12/11 02:36:07 peter Exp */ #include "opt_compat.h" @@ -77,7 +77,7 @@ { SYF_MPSAFE | AS(getlogin_args), (sy_call_t *)getlogin }, /* 49 = getlogin */ { SYF_MPSAFE | AS(setlogin_args), (sy_call_t *)setlogin }, /* 50 = setlogin */ { SYF_MPSAFE | AS(acct_args), (sy_call_t *)acct }, /* 51 = acct */ - { SYF_MPSAFE | 0, (sy_call_t *)sigpending }, /* 52 = sigpending */ + { 0, (sy_call_t *)nosys }, /* 52 = obsolete osigpending */ { SYF_MPSAFE | AS(freebsd32_sigaltstack_args), (sy_call_t *)freebsd32_sigaltstack }, /* 53 = freebsd32_sigaltstack */ { SYF_MPSAFE | AS(ioctl_args), (sy_call_t *)ioctl }, /* 54 = ioctl */ { SYF_MPSAFE | AS(reboot_args), (sy_call_t *)reboot }, /* 55 = reboot */ @@ -124,7 +124,7 @@ { SYF_MPSAFE | AS(setpriority_args), (sy_call_t *)setpriority }, /* 96 = setpriority */ { SYF_MPSAFE | AS(socket_args), (sy_call_t *)socket }, /* 97 = socket */ { SYF_MPSAFE | AS(connect_args), (sy_call_t *)connect }, /* 98 = connect */ - { SYF_MPSAFE | AS(accept_args), (sy_call_t *)accept }, /* 99 = accept */ + { 0, (sy_call_t *)nosys }, /* 99 = obsolete oaccept */ { SYF_MPSAFE | AS(getpriority_args), (sy_call_t *)getpriority }, /* 100 = getpriority */ { 0, (sy_call_t *)nosys }, /* 101 = obsolete osend */ { 0, (sy_call_t *)nosys }, /* 102 = obsolete orecv */ @@ -141,7 +141,7 @@ { 0, (sy_call_t *)nosys }, /* 113 = obsolete orecvmsg */ { 0, (sy_call_t *)nosys }, /* 114 = obsolete osendmsg */ { 0, (sy_call_t *)nosys }, /* 115 = obsolete vtrace */ - { AS(freebsd32_gettimeofday_args), (sy_call_t *)freebsd32_gettimeofday }, /* 116 = freebsd32_gettimeofday */ + { SYF_MPSAFE | AS(freebsd32_gettimeofday_args), (sy_call_t *)freebsd32_gettimeofday }, /* 116 = freebsd32_gettimeofday */ { AS(freebsd32_getrusage_args), (sy_call_t *)freebsd32_getrusage }, /* 117 = freebsd32_getrusage */ { SYF_MPSAFE | AS(getsockopt_args), (sy_call_t *)getsockopt }, /* 118 = getsockopt */ { 0, (sy_call_t *)nosys }, /* 119 = resuba */ @@ -150,7 +150,7 @@ { AS(freebsd32_settimeofday_args), (sy_call_t *)freebsd32_settimeofday }, /* 122 = freebsd32_settimeofday */ { AS(fchown_args), (sy_call_t *)fchown }, /* 123 = fchown */ { AS(fchmod_args), (sy_call_t *)fchmod }, /* 124 = fchmod */ - { SYF_MPSAFE | AS(recvfrom_args), (sy_call_t *)recvfrom }, /* 125 = recvfrom */ + { 0, (sy_call_t *)nosys }, /* 125 = obsolete orecvfrom */ { SYF_MPSAFE | AS(setreuid_args), (sy_call_t *)setreuid }, /* 126 = setreuid */ { SYF_MPSAFE | AS(setregid_args), (sy_call_t *)setregid }, /* 127 = setregid */ { AS(rename_args), (sy_call_t *)rename }, /* 128 = rename */ @@ -181,7 +181,7 @@ { 0, (sy_call_t *)nosys }, /* 153 = asyncdaemon */ { 0, (sy_call_t *)nosys }, /* 154 = nosys */ { 0, (sy_call_t *)nosys }, /* 155 = nfssvc */ - { AS(getdirentries_args), (sy_call_t *)getdirentries }, /* 156 = getdirentries */ + { 0, (sy_call_t *)nosys }, /* 156 = obsolete ogetdirentries */ { AS(freebsd32_statfs_args), (sy_call_t *)freebsd32_statfs }, /* 157 = freebsd32_statfs */ { AS(freebsd32_fstatfs_args), (sy_call_t *)freebsd32_fstatfs }, /* 158 = freebsd32_fstatfs */ { 0, (sy_call_t *)nosys }, /* 159 = nosys */ @@ -462,4 +462,8 @@ { SYF_MPSAFE | AS(_umtx_lock_args), (sy_call_t *)_umtx_lock }, /* 434 = _umtx_lock */ { SYF_MPSAFE | AS(_umtx_unlock_args), (sy_call_t *)_umtx_unlock }, /* 435 = _umtx_unlock */ { SYF_MPSAFE | AS(jail_attach_args), (sy_call_t *)jail_attach }, /* 436 = jail_attach */ + { 0, (sy_call_t *)nosys }, /* 437 = extattr_list_fd */ + { 0, (sy_call_t *)nosys }, /* 438 = extattr_list_file */ + { 0, (sy_call_t *)nosys }, /* 439 = extattr_list_link */ + { 0, (sy_call_t *)nosys }, /* 440 = kse_switchin */ }; ==== //depot/projects/hammer/sys/compat/freebsd32/syscalls.master#7 (text+ko) ==== @@ -76,7 +76,7 @@ 49 MNOPROTO BSD { int getlogin(char *namebuf, u_int namelen); } 50 MNOPROTO BSD { int setlogin(char *namebuf); } 51 MNOPROTO BSD { int acct(char *path); } -52 MNOPROTO POSIX { int sigpending(void); } +52 OBSOL POSIX osigpending 53 MSTD BSD { int freebsd32_sigaltstack(struct sigaltstack32 *ss, \ struct sigaltstack32 *oss); } 54 MNOPROTO POSIX { int ioctl(int fd, u_long com, caddr_t data); } @@ -131,8 +131,7 @@ 96 MNOPROTO BSD { int setpriority(int which, int who, int prio); } 97 MNOPROTO BSD { int socket(int domain, int type, int protocol); } 98 MNOPROTO BSD { int connect(int s, caddr_t name, int namelen); } -99 MNOPROTO BSD { int accept(int s, caddr_t name, int *anamelen); } \ - accept accept_args int +99 OBSOL BSD oaccept 100 MNOPROTO BSD { int getpriority(int which, int who); } 101 OBSOL BSD osend 102 OBSOL BSD orecv @@ -150,7 +149,7 @@ 113 OBSOL BSD orecvmsg 114 OBSOL BSD osendmsg 115 OBSOL NOHIDE vtrace -116 STD BSD { int freebsd32_gettimeofday(struct timeval32 *tp, \ +116 MSTD BSD { int freebsd32_gettimeofday(struct timeval32 *tp, \ struct timezone *tzp); } 117 STD BSD { int freebsd32_getrusage(int who, \ struct rusage32 *rusage); } @@ -165,9 +164,7 @@ struct timezone *tzp); } 123 NOPROTO BSD { int fchown(int fd, int uid, int gid); } 124 NOPROTO BSD { int fchmod(int fd, int mode); } -125 MNOPROTO BSD { int recvfrom(int s, caddr_t buf, size_t len, \ - int flags, caddr_t from, int *fromlenaddr); } \ - recvfrom recvfrom_args int +125 OBSOL BSD orecvfrom 126 MNOPROTO BSD { int setreuid(int ruid, int euid); } 127 MNOPROTO BSD { int setregid(int rgid, int egid); } 128 NOPROTO POSIX { int rename(char *from, char *to); } @@ -209,8 +206,7 @@ 154 UNIMPL NOHIDE nosys ; 155 is initialized by the NFS code, if present. 155 UNIMPL NOHIDE nfssvc -156 NOPROTO BSD { int getdirentries(int fd, char *buf, u_int count, \ - long *basep); } +156 OBSOL BSD ogetdirentries 157 STD BSD { int freebsd32_statfs(char *path, \ struct statfs32 *buf); } 158 STD BSD { int freebsd32_fstatfs(int fd, struct statfs32 *buf); } ==== //depot/projects/hammer/sys/compat/ia32/ia32_sysvec.c#7 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/compat/ia32/ia32_sysvec.c,v 1.12 2003/11/08 07:43:44 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/ia32/ia32_sysvec.c,v 1.14 2003/12/11 01:05:09 peter Exp $"); #include "opt_compat.h" @@ -68,9 +68,15 @@ #include <compat/freebsd32/freebsd32_proto.h> #include <compat/freebsd32/freebsd32_syscall.h> #include <compat/ia32/ia32_signal.h> +#ifdef __amd64__ #include <machine/psl.h> #include <machine/segments.h> #include <machine/specialreg.h> +#else +#include <i386/include/psl.h> +#include <i386/include/segments.h> +#include <i386/include/specialreg.h> +#endif #include <machine/frame.h> #include <machine/md_var.h> #include <machine/pcb.h> @@ -111,7 +117,7 @@ elf32_coredump, NULL, MINSIGSTKSZ, - PAGE_SIZE, + IA32_PAGE_SIZE, 0, FREEBSD32_USRSTACK, FREEBSD32_USRSTACK, ==== //depot/projects/hammer/sys/compat/ia32/ia32_util.h#3 (text+ko) ==== @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/compat/ia32/ia32_util.h,v 1.8 2003/09/25 01:10:23 peter Exp $ + * $FreeBSD: src/sys/compat/ia32/ia32_util.h,v 1.9 2003/12/11 01:05:09 peter Exp $ */ #include <vm/vm.h> @@ -37,8 +37,13 @@ #include <sys/sysent.h> #include <sys/cdefs.h> -#define FREEBSD32_USRSTACK ((1ul << 32) - PAGE_SIZE) +#ifdef __ia64__ +#define FREEBSD32_USRSTACK ((1ul << 32) - IA32_PAGE_SIZE * 2) +#else +#define FREEBSD32_USRSTACK ((1ul << 32) - IA32_PAGE_SIZE) +#endif +#define IA32_PAGE_SIZE 4096 #define IA32_MAXDSIZ (512*1024*1024) /* 512MB */ #define IA32_MAXSSIZ (64*1024*1024) /* 64MB */ #define IA32_MAXVMEM 0 /* Unlimited */ ==== //depot/projects/hammer/sys/conf/files.amd64#36 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.amd64,v 1.26 2003/11/17 08:58:16 peter Exp $ +# $FreeBSD: src/sys/conf/files.amd64,v 1.27 2003/12/11 01:09:51 peter Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -116,10 +116,10 @@ # amd64/ia32/ia32_exception.S optional ia32 amd64/ia32/ia32_signal.c optional ia32 +amd64/ia32/ia32_sigtramp.S optional ia32 amd64/ia32/ia32_syscall.c optional ia32 compat/freebsd32/freebsd32_misc.c optional ia32 compat/freebsd32/freebsd32_syscalls.c optional ia32 compat/freebsd32/freebsd32_sysent.c optional ia32 -compat/ia32/ia32_sigtramp.S optional ia32 compat/ia32/ia32_sysvec.c optional ia32 kern/imgact_elf32.c optional ia32 ==== //depot/projects/hammer/sys/conf/files.ia64#14 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.ia64,v 1.61 2003/10/24 06:48:41 marcel Exp $ +# $FreeBSD: src/sys/conf/files.ia64,v 1.63 2003/12/11 01:05:09 peter Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -28,6 +28,10 @@ no-obj no-implicit-rule before-depend \ clean "ukbdmap.h" # +compat/freebsd32/freebsd32_misc.c optional ia32 +compat/freebsd32/freebsd32_syscalls.c optional ia32 +compat/freebsd32/freebsd32_sysent.c optional ia32 +compat/ia32/ia32_sysvec.c optional ia32 contrib/ia64/libuwx/src/uwx_bstream.c standard contrib/ia64/libuwx/src/uwx_context.c standard contrib/ia64/libuwx/src/uwx_env.c standard @@ -83,9 +87,8 @@ ia64/disasm/disasm_decode.c standard ia64/disasm/disasm_extract.c standard ia64/disasm/disasm_format.c standard -ia64/ia32/ia32_misc.c optional ia32 -ia64/ia32/ia32_sysent.c optional ia32 -ia64/ia32/ia32_sysvec.c optional ia32 +ia64/ia32/ia32_signal.c optional ia32 +ia64/ia32/ia32_sigtramp.c optional ia32 ia64/ia64/autoconf.c standard ia64/ia64/busdma_machdep.c standard ia64/ia64/clock.c standard @@ -135,7 +138,6 @@ isa/vga_isa.c optional vga kern/imgact_elf32.c optional ia32 libkern/bcmp.c standard -libkern/ffs.c standard libkern/ia64/__divdi3.S standard libkern/ia64/__divsi3.S standard libkern/ia64/__moddi3.S standard ==== //depot/projects/hammer/sys/conf/options.i386#20 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options.i386,v 1.204 2003/12/03 23:06:30 imp Exp $ +# $FreeBSD: src/sys/conf/options.i386,v 1.205 2003/12/10 19:30:42 jhb Exp $ # Options specific to the i386 platform kernels AUTO_EOI_1 opt_auto_eoi.h @@ -148,7 +148,6 @@ IPR_LOG opt_i4b.h # Device options -DEV_ACPI opt_acpi.h DEV_APIC opt_apic.h DEV_NPX opt_npx.h ==== //depot/projects/hammer/sys/dev/acpica/acpi_cpu.c#10 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_cpu.c,v 1.24 2003/12/09 03:01:54 njl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_cpu.c,v 1.25 2003/12/10 19:10:27 jhb Exp $"); #include "opt_acpi.h" #include <sys/param.h> @@ -93,7 +93,7 @@ (bus_space_write_ ## width(rman_get_bustag((reg)), \ rman_get_bushandle((reg)), 0, (val))) -/* +/* * Speeds are stored in counts, from 1 - CPU_MAX_SPEED, and * reported to the user in tenths of a percent. */ @@ -294,7 +294,7 @@ { struct pcpu *pcpu_data; uint32_t i; - + KASSERT(acpi_id != NULL, ("Null acpi_id")); KASSERT(cpu_id != NULL, ("Null cpu_id")); for (i = 0; i <= mp_maxid; i++) { @@ -320,7 +320,7 @@ return (ESRCH); } - + static int acpi_cpu_shutdown(device_t dev) { @@ -656,7 +656,7 @@ cpu_economy_state = cpu_performance_state / 2; /* 0 is 'reserved' */ - if (cpu_economy_state == 0) + if (cpu_economy_state == 0) cpu_economy_state++; if (TUNABLE_INT_FETCH("hw.acpi.cpu.performance_speed", &cpu_temp_speed) && cpu_temp_speed > 0 && cpu_temp_speed <= cpu_max_state) { @@ -698,7 +698,7 @@ /* Set initial speed */ acpi_cpu_power_profile(NULL); - printf("acpi_cpu: throttling enabled, %d steps (100%% to %d.%d%%), " + printf("acpi_cpu: throttling enabled, %d steps (100%% to %d.%d%%), " "currently %d.%d%%\n", CPU_MAX_SPEED, CPU_SPEED_PRINTABLE(1), CPU_SPEED_PRINTABLE(cpu_current_state)); } @@ -778,7 +778,7 @@ clk_val = CPU_MAX_SPEED << cpu_duty_offset; p_cnt &= ~clk_val; p_cnt |= (speed << cpu_duty_offset); - + /* Write the new P_CNT value and then enable throttling */ CPU_SET_REG(sc->cpu_p_cnt, 4, p_cnt); p_cnt |= CPU_P_CNT_THT_EN; @@ -993,7 +993,7 @@ * Disable throttling control on PIIX4 A and B-step. * See specification changes #13 ("Manual Throttle Duty Cycle") * and #14 ("Enabling and Disabling Manual Throttle"), plus - * erratum #5 ("STPCLK# Deassertion Time") from the January + * erratum #5 ("STPCLK# Deassertion Time") from the January * 2002 PIIX4 specification update. Note that few (if any) * mobile systems ever used this part. */ @@ -1009,7 +1009,7 @@ * but we take the simpler approach of disabling C3 for these * parts. * - * See erratum #18 ("C3 Power State/BMIDE and Type-F DMA + * See erratum #18 ("C3 Power State/BMIDE and Type-F DMA * Livelock") from the January 2002 PIIX4 specification update. * Applies to all PIIX4 models. */ @@ -1043,7 +1043,7 @@ return; ACPI_LOCK; - + switch (state) { case POWER_PROFILE_PERFORMANCE: new = cpu_performance_state; ==== //depot/projects/hammer/sys/dev/ata/ata-lowlevel.c#7 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/ata/ata-lowlevel.c,v 1.24 2003/12/03 15:32:53 sos Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/ata-lowlevel.c,v 1.25 2003/12/10 23:06:24 sos Exp $"); #include "opt_ata.h" #include <sys/param.h> @@ -606,10 +606,14 @@ if (mask == 0x02) /* wait for slave only */ if (!(stat1 & ATA_S_BUSY) || (stat1 == 0xff && timeout > 20)) break; - if (mask == 0x03) /* wait for both master & slave */ - if ((!(stat0 & ATA_S_BUSY) || (stat0 == 0xff && timeout > 20)) && - (!(stat1 & ATA_S_BUSY) || (stat1 == 0xff && timeout > 20))) + if (mask == 0x03) { /* wait for both master & slave */ + if (!(stat0 & ATA_S_BUSY) && !(stat1 & ATA_S_BUSY)) break; + if (stat0 == 0xff && timeout > 20) + mask &= ~0x01; + if (stat1 == 0xff && timeout > 20) + mask &= ~0x02; + } DELAY(100000); } ==== //depot/projects/hammer/sys/i386/i386/mp_machdep.c#25 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/i386/i386/mp_machdep.c,v 1.227 2003/12/03 14:57:25 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/mp_machdep.c,v 1.228 2003/12/10 19:28:37 jhb Exp $"); #include "opt_apic.h" #include "opt_cpu.h" @@ -232,9 +232,9 @@ cpu_add(u_int apic_id, char boot_cpu) { - if (apic_id > MAXCPU) { + if (apic_id >= MAXCPU) { printf("SMP: CPU %d exceeds maximum CPU %d, ignoring\n", - apic_id, MAXCPU); + apic_id, MAXCPU - 1); return; } KASSERT(cpu_info[apic_id].cpu_present == 0, ("CPU %d added twice", ==== //depot/projects/hammer/sys/i386/i386/mptable.c#8 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/i386/i386/mptable.c,v 1.228 2003/12/03 20:33:18 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/mptable.c,v 1.229 2003/12/10 19:29:39 jhb Exp $"); #include "opt_mptable_force_htt.h" #include <sys/param.h> @@ -55,7 +55,7 @@ /* string defined by the Intel MP Spec as identifying the MP table */ #define MP_SIG 0x5f504d5f /* _MP_ */ -#define NAPICID 32 /* Max number of I/O APIC's */ +#define NAPICID 32 /* Max number of APIC's */ #ifdef PC98 #define BIOS_BASE (0xe8000) @@ -816,7 +816,7 @@ * physical processor. If any of those ID's are * already in the table, then kill the fixup. */ - for (id = 0; id <= MAXCPU; id++) { + for (id = 0; id < NAPICID; id++) { if ((id_mask & 1 << id) == 0) continue; /* First, make sure we are on a logical_cpus boundary. */ ==== //depot/projects/hammer/sys/i386/include/apicreg.h#2 (text+ko) ==== @@ -22,7 +22,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/i386/include/apicreg.h,v 1.25 2003/11/03 21:53:38 jhb Exp $ + * $FreeBSD: src/sys/i386/include/apicreg.h,v 1.26 2003/12/10 21:33:07 jhb Exp $ */ #ifndef _MACHINE_APICREG_H_ @@ -342,38 +342,6 @@ #define APIC_TDCR_128 0x0a #define APIC_TDCR_1 0x0b - -/* - * fields in IRR - * ISA INTerrupts are in bits 16-31 of the 1st IRR register. - * these masks DON'T EQUAL the isa IRQs of the same name. - */ -#define APIC_IRQ0 0x00000001 -#define APIC_IRQ1 0x00000002 -#define APIC_IRQ2 0x00000004 -#define APIC_IRQ3 0x00000008 -#define APIC_IRQ4 0x00000010 -#define APIC_IRQ5 0x00000020 -#define APIC_IRQ6 0x00000040 -#define APIC_IRQ7 0x00000080 -#define APIC_IRQ8 0x00000100 -#define APIC_IRQ9 0x00000200 -#define APIC_IRQ10 0x00000400 -#define APIC_IRQ11 0x00000800 -#define APIC_IRQ12 0x00001000 -#define APIC_IRQ13 0x00002000 -#define APIC_IRQ14 0x00004000 -#define APIC_IRQ15 0x00008000 -#define APIC_IRQ16 0x00010000 -#define APIC_IRQ17 0x00020000 -#define APIC_IRQ18 0x00040000 -#define APIC_IRQ19 0x00080000 -#define APIC_IRQ20 0x00100000 -#define APIC_IRQ21 0x00200000 -#define APIC_IRQ22 0x00400000 -#define APIC_IRQ23 0x00800000 - - /****************************************************************************** * I/O APIC defines */ ==== //depot/projects/hammer/sys/ia64/include/cpufunc.h#6 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/ia64/include/cpufunc.h,v 1.17 2003/05/24 21:44:24 marcel Exp $ + * $FreeBSD: src/sys/ia64/include/cpufunc.h,v 1.18 2003/12/10 22:51:40 peter Exp $ */ #ifndef _MACHINE_CPUFUNC_H_ @@ -45,6 +45,15 @@ __asm __volatile("break 0x80100"); /* XXX use linux value */ } + +#define HAVE_INLINE_FFS + +static __inline int +ffs(int mask) +{ + return (__builtin_ffs(mask)); +} + #endif extern uint64_t ia64_port_base; ==== //depot/projects/hammer/sys/ia64/include/runq.h#2 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/ia64/include/runq.h,v 1.2 2002/06/20 06:21:20 peter Exp $ + * $FreeBSD: src/sys/ia64/include/runq.h,v 1.4 2003/12/10 22:59:03 peter Exp $ */ #ifndef _MACHINE_RUNQ_H_ @@ -36,23 +36,30 @@ #define RQB_BIT(pri) (1UL << ((pri) & (RQB_BPW - 1))) #define RQB_WORD(pri) ((pri) >> RQB_L2BPW) -#define RQB_FFS(word) (ffs64(word) - 1) +#define RQB_FFS(word) (__ffsl(word) - 1) /* * Type of run queue status word. */ typedef u_int64_t rqb_word_t; -static __inline u_long -ffs64(u_long mask) +static __inline u_int64_t +__popcnt(u_int64_t bits) +{ + u_int64_t result; + + __asm __volatile("popcnt %0=%1" : "=r" (result) : "r" (bits)); + return result; +} + + +static __inline int +__ffsl(u_long mask) { - u_long bit; - if (mask == 0) + if (__predict_false(mask == 0ul)) return (0); - for (bit = 1; (mask & 1UL) == 0; bit++) - mask >>= 1UL; - return (bit); + return (__popcnt(mask ^ (mask - 1))); } #endif ==== //depot/projects/hammer/sys/kern/init_sysent.c#22 (text+ko) ==== @@ -2,8 +2,8 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/kern/init_sysent.c,v 1.162 2003/12/07 19:36:15 marcel Exp $ - * created from FreeBSD: src/sys/kern/syscalls.master,v 1.159 2003/12/07 19:34:28 marcel Exp + * $FreeBSD: src/sys/kern/init_sysent.c,v 1.163 2003/12/10 22:18:53 peter Exp $ + * created from FreeBSD: src/sys/kern/syscalls.master,v 1.160 2003/12/10 22:08:37 peter Exp */ #include "opt_compat.h" ==== //depot/projects/hammer/sys/kern/syscalls.c#22 (text+ko) ==== @@ -2,8 +2,8 @@ * System call names. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/kern/syscalls.c,v 1.148 2003/12/07 19:36:15 marcel Exp $ - * created from FreeBSD: src/sys/kern/syscalls.master,v 1.159 2003/12/07 19:34:28 marcel Exp + * $FreeBSD: src/sys/kern/syscalls.c,v 1.149 2003/12/10 22:18:53 peter Exp $ + * created from FreeBSD: src/sys/kern/syscalls.master,v 1.160 2003/12/10 22:08:37 peter Exp */ const char *syscallnames[] = { ==== //depot/projects/hammer/sys/kern/syscalls.master#22 (text+ko) ==== @@ -1,4 +1,4 @@ - $FreeBSD: src/sys/kern/syscalls.master,v 1.159 2003/12/07 19:34:28 marcel Exp $ + $FreeBSD: src/sys/kern/syscalls.master,v 1.161 2003/12/10 22:16:42 peter Exp $ ; from: @(#)syscalls.master 8.2 (Berkeley) 1/13/94 ; ; System call name/number master file. @@ -33,7 +33,8 @@ ; ; Please copy any additions and changes to the following compatability tables: ; sys/ia64/ia32/syscalls.master (take a best guess) -; [other 64 bit platforms with an alternate 32 bit syscall table go here too] +; sys/compat/freebsd32/syscalls.master + ; #ifdef's, etc. may be included, and are copied to the output files. #include <sys/param.h> @@ -82,7 +83,7 @@ 26 STD BSD { int ptrace(int req, pid_t pid, caddr_t addr, \ int data); } 27 MSTD BSD { int recvmsg(int s, struct msghdr *msg, int flags); } -28 MSTD BSD { int sendmsg(int s, caddr_t msg, int flags); } +28 MSTD BSD { int sendmsg(int s, struct msghdr *msg, int flags); } 29 MSTD BSD { int recvfrom(int s, caddr_t buf, size_t len, \ int flags, caddr_t from, int *fromlenaddr); } 30 MSTD BSD { int accept(int s, caddr_t name, int *anamelen); } @@ -644,4 +645,4 @@ ; Please copy any additions and changes to the following compatability tables: ; sys/ia64/ia32/syscalls.master (take a best guess) -; [other 64 bit platforms with an alternate 32 bit syscall table go here too] +; sys/compat/freebsd32/syscalls.master ==== //depot/projects/hammer/sys/sys/syscall.h#22 (text+ko) ==== @@ -2,8 +2,8 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/sys/syscall.h,v 1.146 2003/12/07 19:36:16 marcel Exp $ - * created from FreeBSD: src/sys/kern/syscalls.master,v 1.159 2003/12/07 19:34:28 marcel Exp + * $FreeBSD: src/sys/sys/syscall.h,v 1.147 2003/12/10 22:18:54 peter Exp $ + * created from FreeBSD: src/sys/kern/syscalls.master,v 1.160 2003/12/10 22:08:37 peter Exp */ #define SYS_syscall 0 ==== //depot/projects/hammer/sys/sys/syscall.mk#22 (text+ko) ==== @@ -1,7 +1,7 @@ # FreeBSD system call names. # DO NOT EDIT-- this file is automatically generated. -# $FreeBSD: src/sys/sys/syscall.mk,v 1.101 2003/12/07 19:36:16 marcel Exp $ -# created from FreeBSD: src/sys/kern/syscalls.master,v 1.159 2003/12/07 19:34:28 marcel Exp +# $FreeBSD: src/sys/sys/syscall.mk,v 1.102 2003/12/10 22:18:54 peter Exp $ +# created from FreeBSD: src/sys/kern/syscalls.master,v 1.160 2003/12/10 22:08:37 peter Exp MIASM = \ syscall.o \ exit.o \ ==== //depot/projects/hammer/sys/sys/sysproto.h#22 (text+ko) ==== @@ -2,8 +2,8 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/sys/sysproto.h,v 1.142 2003/12/07 19:36:16 marcel Exp $ - * created from FreeBSD: src/sys/kern/syscalls.master,v 1.159 2003/12/07 19:34:28 marcel Exp + * $FreeBSD: src/sys/sys/sysproto.h,v 1.143 2003/12/10 22:18:54 peter Exp $ + * created from FreeBSD: src/sys/kern/syscalls.master,v 1.160 2003/12/10 22:08:37 peter Exp */ #ifndef _SYS_SYSPROTO_H_ @@ -130,7 +130,7 @@ }; struct sendmsg_args { char s_l_[PADL_(int)]; int s; char s_r_[PADR_(int)]; - char msg_l_[PADL_(caddr_t)]; caddr_t msg; char msg_r_[PADR_(caddr_t)]; + char msg_l_[PADL_(struct msghdr *)]; struct msghdr * msg; char msg_r_[PADR_(struct msghdr *)]; char flags_l_[PADL_(int)]; int flags; char flags_r_[PADR_(int)]; }; struct recvfrom_args { ==== //depot/projects/hammer/usr.bin/vmstat/vmstat.8#4 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)vmstat.8 8.1 (Berkeley) 6/6/93 -.\" $FreeBSD: src/usr.bin/vmstat/vmstat.8,v 1.26 2003/12/07 17:46:14 des Exp $ +.\" $FreeBSD: src/usr.bin/vmstat/vmstat.8,v 1.27 2003/12/10 22:12:06 des Exp $ .\" .Dd April 14, 2003 .Dt VMSTAT 8 @@ -66,9 +66,6 @@ When used with .Fl i , include statistics about interrupts that have never been generated. -If specified twice, also show interrupts that are not connected to any -device; if specified thrice, also list stray entries for each -interrupt. .It Fl c Repeat the display .Ar count ==== //depot/projects/hammer/usr.bin/vmstat/vmstat.c#9 (text+ko) ==== @@ -33,7 +33,7 @@ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/usr.bin/vmstat/vmstat.c,v 1.71 2003/12/08 07:57:57 marcel Exp $"); +__FBSDID("$FreeBSD: src/usr.bin/vmstat/vmstat.c,v 1.76 2003/12/10 22:19:19 des Exp $"); #ifndef lint static const char copyright[] = @@ -148,8 +148,8 @@ static void domem(void); static void dointr(void); static void dosum(void); -static void dosysctl(char *); -static void dovmstat(u_int, int); +static void dosysctl(const char *); +static void dovmstat(unsigned int, int); static void dozmem(void); static void kread(int, void *, size_t); static void needhdr(int); @@ -165,7 +165,7 @@ main(int argc, char *argv[]) { int c, todo; - u_int interval; + unsigned int interval; int reps; char *memf, *nlistf; char errbuf[_POSIX2_LINE_MAX]; @@ -429,42 +429,42 @@ GET_VM_STATS(sys, v_soft); /* vm */ - GET_VM_STATS(vm, v_vm_faults); - GET_VM_STATS(vm, v_cow_faults); >>> TRUNCATED FOR MAIL (1000 lines) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200312110242.hBB2gksU061527>