From owner-p4-projects@FreeBSD.ORG Wed Jul 13 18:25:46 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BD58A16A41F; Wed, 13 Jul 2005 18:25:45 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6017516A41C for ; Wed, 13 Jul 2005 18:25:45 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3A1B343D4C for ; Wed, 13 Jul 2005 18:25:44 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6DIPi9D087446 for ; Wed, 13 Jul 2005 18:25:44 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6DIPhn9087443 for perforce@freebsd.org; Wed, 13 Jul 2005 18:25:43 GMT (envelope-from jhb@freebsd.org) Date: Wed, 13 Jul 2005 18:25:43 GMT Message-Id: <200507131825.j6DIPhn9087443@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 80088 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Jul 2005 18:25:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=80088 Change 80088 by jhb@jhb_slimer on 2005/07/13 18:25:40 IFC @80086. Affected files ... .. //depot/projects/smpng/sys/alpha/alpha/vm_machdep.c#41 integrate .. //depot/projects/smpng/sys/amd64/amd64/sys_machdep.c#8 integrate .. //depot/projects/smpng/sys/amd64/amd64/vm_machdep.c#28 integrate .. //depot/projects/smpng/sys/amd64/isa/clock.c#15 integrate .. //depot/projects/smpng/sys/arm/arm/vm_machdep.c#14 integrate .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_misc.c#23 integrate .. //depot/projects/smpng/sys/compat/svr4/svr4.h#4 integrate .. //depot/projects/smpng/sys/compat/svr4/svr4_proto.h#9 integrate .. //depot/projects/smpng/sys/compat/svr4/svr4_stream.c#24 integrate .. //depot/projects/smpng/sys/compat/svr4/svr4_syscall.h#8 integrate .. //depot/projects/smpng/sys/compat/svr4/svr4_syscallnames.c#8 integrate .. //depot/projects/smpng/sys/compat/svr4/svr4_sysent.c#8 integrate .. //depot/projects/smpng/sys/compat/svr4/syscalls.master#9 integrate .. //depot/projects/smpng/sys/conf/files#143 integrate .. //depot/projects/smpng/sys/conf/newvers.sh#18 integrate .. //depot/projects/smpng/sys/dev/advansys/adv_isa.c#10 integrate .. //depot/projects/smpng/sys/dev/auxio/auxio.c#4 integrate .. //depot/projects/smpng/sys/dev/cp/if_cp.c#12 integrate .. //depot/projects/smpng/sys/dev/ctau/if_ct.c#14 integrate .. //depot/projects/smpng/sys/dev/cx/if_cx.c#18 integrate .. //depot/projects/smpng/sys/dev/ed/if_ed_pccard.c#30 integrate .. //depot/projects/smpng/sys/dev/em/README#10 integrate .. //depot/projects/smpng/sys/dev/ep/if_epvar.h#11 integrate .. //depot/projects/smpng/sys/dev/fb/creator.c#8 integrate .. //depot/projects/smpng/sys/dev/fb/machfb.c#3 integrate .. //depot/projects/smpng/sys/dev/hme/if_hme_pci.c#19 integrate .. //depot/projects/smpng/sys/dev/hwpmc/hwpmc_amd.c#4 integrate .. //depot/projects/smpng/sys/dev/hwpmc/hwpmc_logging.c#3 integrate .. //depot/projects/smpng/sys/dev/hwpmc/hwpmc_mod.c#4 integrate .. //depot/projects/smpng/sys/dev/hwpmc/hwpmc_piv.c#3 integrate .. //depot/projects/smpng/sys/dev/hwpmc/hwpmc_ppro.c#3 integrate .. //depot/projects/smpng/sys/dev/iwi/if_iwi.c#6 integrate .. //depot/projects/smpng/sys/dev/mpt/mpilib/fc_log.h#4 integrate .. //depot/projects/smpng/sys/dev/mpt/mpilib/mpi.h#5 integrate .. //depot/projects/smpng/sys/dev/mpt/mpilib/mpi_cnfg.h#5 integrate .. //depot/projects/smpng/sys/dev/mpt/mpilib/mpi_fc.h#4 integrate .. //depot/projects/smpng/sys/dev/mpt/mpilib/mpi_init.h#5 integrate .. //depot/projects/smpng/sys/dev/mpt/mpilib/mpi_ioc.h#5 integrate .. //depot/projects/smpng/sys/dev/mpt/mpilib/mpi_lan.h#4 integrate .. //depot/projects/smpng/sys/dev/mpt/mpilib/mpi_raid.h#5 integrate .. //depot/projects/smpng/sys/dev/mpt/mpilib/mpi_targ.h#4 integrate .. //depot/projects/smpng/sys/dev/mpt/mpilib/mpi_type.h#6 integrate .. //depot/projects/smpng/sys/dev/mpt/mpt.c#8 integrate .. //depot/projects/smpng/sys/dev/mpt/mpt.h#5 integrate .. //depot/projects/smpng/sys/dev/mpt/mpt_cam.c#1 branch .. //depot/projects/smpng/sys/dev/mpt/mpt_cam.h#1 branch .. //depot/projects/smpng/sys/dev/mpt/mpt_debug.c#7 integrate .. //depot/projects/smpng/sys/dev/mpt/mpt_freebsd.c#13 delete .. //depot/projects/smpng/sys/dev/mpt/mpt_freebsd.h#7 delete .. //depot/projects/smpng/sys/dev/mpt/mpt_pci.c#13 integrate .. //depot/projects/smpng/sys/dev/mpt/mpt_raid.c#1 branch .. //depot/projects/smpng/sys/dev/mpt/mpt_raid.h#1 branch .. //depot/projects/smpng/sys/dev/mpt/mpt_reg.h#1 branch .. //depot/projects/smpng/sys/dev/pccard/pccard.c#36 integrate .. //depot/projects/smpng/sys/dev/pccard/pccard_cis.c#20 integrate .. //depot/projects/smpng/sys/dev/pccard/pccard_cis.h#4 integrate .. //depot/projects/smpng/sys/dev/pccard/pccarddevs#47 integrate .. //depot/projects/smpng/sys/dev/pccard/pccardvar.h#23 integrate .. //depot/projects/smpng/sys/dev/ral/if_ral.c#6 integrate .. //depot/projects/smpng/sys/dev/sn/if_sn.c#21 integrate .. //depot/projects/smpng/sys/dev/sn/if_sn_pccard.c#17 integrate .. //depot/projects/smpng/sys/dev/sn/ositech.h#1 branch .. //depot/projects/smpng/sys/dev/sound/isa/mss.c#23 integrate .. //depot/projects/smpng/sys/dev/usb/if_ural.c#5 integrate .. //depot/projects/smpng/sys/dev/wi/if_wi_pccard.c#35 integrate .. //depot/projects/smpng/sys/dev/xe/if_xe.c#22 integrate .. //depot/projects/smpng/sys/dev/xe/if_xe_pccard.c#19 integrate .. //depot/projects/smpng/sys/fs/udf/udf_vnops.c#31 integrate .. //depot/projects/smpng/sys/geom/gate/g_gate.c#12 integrate .. //depot/projects/smpng/sys/geom/gate/g_gate.h#4 integrate .. //depot/projects/smpng/sys/gnu/fs/ext2fs/ext2_vnops.c#2 integrate .. //depot/projects/smpng/sys/i386/i386/exception.s#24 integrate .. //depot/projects/smpng/sys/i386/i386/machdep.c#97 integrate .. //depot/projects/smpng/sys/i386/i386/trap.c#81 integrate .. //depot/projects/smpng/sys/i386/i386/vm_machdep.c#70 integrate .. //depot/projects/smpng/sys/i386/isa/clock.c#44 integrate .. //depot/projects/smpng/sys/i386/pci/pci_pir.c#9 integrate .. //depot/projects/smpng/sys/ia64/ia64/vm_machdep.c#48 integrate .. //depot/projects/smpng/sys/kern/kern_thr.c#26 integrate .. //depot/projects/smpng/sys/modules/Makefile#100 integrate .. //depot/projects/smpng/sys/modules/ed/Makefile#6 integrate .. //depot/projects/smpng/sys/modules/ep/Makefile#7 integrate .. //depot/projects/smpng/sys/modules/mpt/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/sound/sound/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/syscons/Makefile#4 integrate .. //depot/projects/smpng/sys/net/bpf.h#15 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_crypto.c#7 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_crypto_ccmp.c#4 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_input.c#21 integrate .. //depot/projects/smpng/sys/pc98/cbus/clock.c#3 integrate .. //depot/projects/smpng/sys/pc98/pc98/machdep.c#3 integrate .. //depot/projects/smpng/sys/pci/if_xl.c#58 integrate .. //depot/projects/smpng/sys/powerpc/powerpc/vm_machdep.c#44 integrate .. //depot/projects/smpng/sys/sparc64/creator/creator.h#5 integrate .. //depot/projects/smpng/sys/sparc64/creator/creator_upa.c#9 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/vm_machdep.c#50 integrate .. //depot/projects/smpng/sys/sys/param.h#83 integrate .. //depot/projects/smpng/sys/sys/pmc.h#4 integrate .. //depot/projects/smpng/sys/sys/proc.h#146 integrate Differences ... ==== //depot/projects/smpng/sys/alpha/alpha/vm_machdep.c#41 (text+ko) ==== @@ -67,7 +67,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/vm_machdep.c,v 1.109 2005/04/23 02:32:30 davidxu Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/vm_machdep.c,v 1.110 2005/07/10 23:31:09 davidxu Exp $"); #include #include @@ -360,7 +360,7 @@ tf->tf_regs[FRAME_FLAGS] = 0; /* full restore */ } -void +int cpu_set_user_tls(struct thread *td, void *tls_base) { @@ -368,6 +368,7 @@ td->td_pcb->pcb_hw.apcb_unique = (unsigned long)tls_base; else alpha_pal_wrunique((uintptr_t)tls_base); + return (0); } /* ==== //depot/projects/smpng/sys/amd64/amd64/sys_machdep.c#8 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/sys_machdep.c,v 1.89 2005/04/14 16:57:58 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/sys_machdep.c,v 1.90 2005/07/10 23:31:10 davidxu Exp $"); #include #include @@ -42,6 +42,10 @@ #include #include +#include +#include +#include + #ifndef _SYS_SYSPROTO_H_ struct sysarch_args { int op; @@ -57,6 +61,7 @@ int error = 0; struct pcb *pcb = curthread->td_pcb; uint32_t i386base; + uint64_t a64base; switch(uap->op) { case I386_GET_FSBASE: @@ -65,9 +70,12 @@ break; case I386_SET_FSBASE: error = copyin(uap->parms, &i386base, sizeof(i386base)); - pcb->pcb_fsbase = i386base; - if (!error) - wrmsr(MSR_FSBASE, pcb->pcb_fsbase); + if (!error) { + critical_enter(); + wrmsr(MSR_FSBASE, i386base); + pcb->pcb_fsbase = i386base; + critical_exit(); + } break; case I386_GET_GSBASE: i386base = pcb->pcb_gsbase; @@ -75,18 +83,29 @@ break; case I386_SET_GSBASE: error = copyin(uap->parms, &i386base, sizeof(i386base)); - pcb->pcb_gsbase = i386base; - if (!error) - wrmsr(MSR_KGSBASE, pcb->pcb_gsbase); + if (!error) { + critical_enter(); + wrmsr(MSR_KGSBASE, i386base); + pcb->pcb_gsbase = i386base; + critical_exit(); + } break; case AMD64_GET_FSBASE: error = copyout(&pcb->pcb_fsbase, uap->parms, sizeof(pcb->pcb_fsbase)); break; case AMD64_SET_FSBASE: - error = copyin(uap->parms, &pcb->pcb_fsbase, sizeof(pcb->pcb_fsbase)); - if (!error) - wrmsr(MSR_FSBASE, pcb->pcb_fsbase); + error = copyin(uap->parms, &a64base, sizeof(a64base)); + if (!error) { + if (a64base < VM_MAXUSER_ADDRESS) { + critical_enter(); + wrmsr(MSR_FSBASE, a64base); + pcb->pcb_fsbase = a64base; + critical_exit(); + } else { + error = EINVAL; + } + } break; case AMD64_GET_GSBASE: @@ -94,9 +113,17 @@ break; case AMD64_SET_GSBASE: - error = copyin(uap->parms, &pcb->pcb_gsbase, sizeof(pcb->pcb_gsbase)); - if (!error) - wrmsr(MSR_KGSBASE, pcb->pcb_gsbase); + error = copyin(uap->parms, &a64base, sizeof(a64base)); + if (!error) { + if (a64base < VM_MAXUSER_ADDRESS) { + critical_enter(); + wrmsr(MSR_KGSBASE, a64base); + pcb->pcb_gsbase = a64base; + critical_exit(); + } else { + error = EINVAL; + } + } break; default: ==== //depot/projects/smpng/sys/amd64/amd64/vm_machdep.c#28 (text+ko) ==== @@ -41,7 +41,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/vm_machdep.c,v 1.247 2005/06/24 00:29:53 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/vm_machdep.c,v 1.248 2005/07/10 23:31:10 davidxu Exp $"); #include "opt_isa.h" #include "opt_cpu.h" @@ -341,10 +341,13 @@ td->td_frame->tf_rdi = (register_t)arg; } -void +int cpu_set_user_tls(struct thread *td, void *tls_base) { + if ((u_int64_t)tls_base >= VM_MAXUSER_ADDRESS) + return (EINVAL); + if (td == curthread) { critical_enter(); td->td_pcb->pcb_fsbase = (register_t)tls_base; @@ -353,6 +356,7 @@ } else { td->td_pcb->pcb_fsbase = (register_t)tls_base; } + return (0); } #ifdef SMP ==== //depot/projects/smpng/sys/amd64/isa/clock.c#15 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/isa/clock.c,v 1.221 2005/07/05 20:13:11 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/isa/clock.c,v 1.222 2005/07/13 15:43:19 jhb Exp $"); /* * Routines to handle clock hardware. @@ -101,6 +101,7 @@ #endif u_int timer_freq = TIMER_FREQ; int timer0_max_count; +int timer0_real_max_count; int wall_cmos_clock; /* wall CMOS clock assumed if != 0 */ struct mtx clock_lock; #define RTC_LOCK mtx_lock_spin(&clock_lock) @@ -108,7 +109,6 @@ static int beeping = 0; static const u_char daysinmonth[] = {31,28,31,30,31,30,31,31,30,31,30,31}; -static u_int hardclock_max_count; static struct intsrc *i8254_intsrc; static u_int32_t i8254_lastcount; static u_int32_t i8254_offset; @@ -517,21 +517,24 @@ static void set_timer_freq(u_int freq, int intr_freq) { - int new_timer0_max_count; + int new_timer0_real_max_count; i8254_timecounter.tc_frequency = freq; mtx_lock_spin(&clock_lock); timer_freq = freq; - new_timer0_max_count = hardclock_max_count = TIMER_DIV(intr_freq); - if (using_lapic_timer) { + if (using_lapic_timer) + new_timer0_real_max_count = 0x10000; + else + new_timer0_real_max_count = TIMER_DIV(intr_freq); + if (new_timer0_real_max_count != timer0_real_max_count) { + timer0_real_max_count = new_timer0_real_max_count; + if (timer0_real_max_count == 0x10000) + timer0_max_count = 0xffff; + else + timer0_max_count = timer0_real_max_count; outb(TIMER_MODE, TIMER_SEL0 | TIMER_RATEGEN | TIMER_16BIT); - outb(TIMER_CNTR0, 0); - outb(TIMER_CNTR0, 0); - } else if (new_timer0_max_count != timer0_max_count) { - timer0_max_count = new_timer0_max_count; - outb(TIMER_MODE, TIMER_SEL0 | TIMER_RATEGEN | TIMER_16BIT); - outb(TIMER_CNTR0, timer0_max_count & 0xff); - outb(TIMER_CNTR0, timer0_max_count >> 8); + outb(TIMER_CNTR0, timer0_real_max_count & 0xff); + outb(TIMER_CNTR0, timer0_real_max_count >> 8); } mtx_unlock_spin(&clock_lock); } @@ -826,19 +829,8 @@ static unsigned i8254_simple_get_timecount(struct timecounter *tc) { - u_int count; - u_int high, low; - mtx_lock_spin(&clock_lock); - - /* Select timer0 and latch counter value. */ - outb(TIMER_MODE, TIMER_SEL0 | TIMER_LATCH); - - low = inb(TIMER_CNTR0); - high = inb(TIMER_CNTR0); - count = 0xffff - ((high << 8) | low); - mtx_unlock_spin(&clock_lock); - return (count); + return (timer0_max_count - getit()); } static unsigned ==== //depot/projects/smpng/sys/arm/arm/vm_machdep.c#14 (text+ko) ==== @@ -41,7 +41,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/vm_machdep.c,v 1.16 2005/06/23 11:37:41 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/vm_machdep.c,v 1.17 2005/07/10 23:31:10 davidxu Exp $"); #include #include @@ -297,7 +297,7 @@ tf->tf_spsr = PSR_USR32_MODE; } -void +int cpu_set_user_tls(struct thread *td, void *tls_base) { @@ -308,6 +308,7 @@ *(void **)ARM_TP_ADDRESS = tls_base; critical_exit(); } + return (0); } void ==== //depot/projects/smpng/sys/compat/freebsd32/freebsd32_misc.c#23 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.38 2005/07/07 18:17:55 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.39 2005/07/13 15:12:19 jhb Exp $"); #include "opt_compat.h" @@ -397,6 +397,7 @@ start = addr; end = addr + len; + mtx_lock(&Giant); if (start != trunc_page(start)) { error = freebsd32_mmap_partial(td, start, round_page(start), prot, @@ -427,11 +428,14 @@ prot |= VM_PROT_WRITE; map = &td->td_proc->p_vmspace->vm_map; rv = vm_map_remove(map, start, end); - if (rv != KERN_SUCCESS) + if (rv != KERN_SUCCESS) { + mtx_unlock(&Giant); return (EINVAL); + } rv = vm_map_find(map, 0, 0, &start, end - start, FALSE, prot, VM_PROT_ALL, 0); + mtx_unlock(&Giant); if (rv != KERN_SUCCESS) return (EINVAL); r.fd = fd; @@ -445,6 +449,7 @@ td->td_retval[0] = addr; return (0); } + mtx_unlock(&Giant); if (end == start) { /* * After dealing with the ragged ends, there ==== //depot/projects/smpng/sys/compat/svr4/svr4.h#4 (text+ko) ==== @@ -24,7 +24,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/svr4/svr4.h,v 1.8 2005/01/05 22:34:36 imp Exp $ + * $FreeBSD: src/sys/compat/svr4/svr4.h,v 1.9 2005/07/13 15:14:33 jhb Exp $ */ #include "opt_svr4.h" @@ -35,17 +35,5 @@ extern struct sysentvec svr4_sysvec; #define COMPAT_SVR4_SOLARIS2 -#define KTRACE - -/* These are currently unimplemented (see svr4_ipc.c) */ -#if defined(SYSVMSG) -# undef SYSVMSG -#endif -#if defined(SYSVSHM) -# undef SYSVSHM -#endif -#if defined(SYSVSEM) -# undef SYSVSEM -#endif #endif ==== //depot/projects/smpng/sys/compat/svr4/svr4_proto.h#9 (text+ko) ==== @@ -2,8 +2,8 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/svr4/svr4_proto.h,v 1.17 2005/05/30 15:20:18 rwatson Exp $ - * created from FreeBSD: src/sys/compat/svr4/syscalls.master,v 1.17 2005/05/30 15:09:17 rwatson Exp + * $FreeBSD: src/sys/compat/svr4/svr4_proto.h,v 1.18 2005/07/13 15:14:54 jhb Exp $ + * created from FreeBSD: src/sys/compat/svr4/syscalls.master,v 1.18 2005/07/13 15:14:33 jhb Exp */ #ifndef _SVR4_SYSPROTO_H_ @@ -100,7 +100,6 @@ char signum_l_[PADL_(int)]; int signum; char signum_r_[PADR_(int)]; char handler_l_[PADL_(svr4_sig_t)]; svr4_sig_t handler; char handler_r_[PADR_(svr4_sig_t)]; }; -#if defined(NOTYET) struct svr4_sys_msgsys_args { char what_l_[PADL_(int)]; int what; char what_r_[PADR_(int)]; char a2_l_[PADL_(int)]; int a2; char a2_r_[PADR_(int)]; @@ -108,12 +107,24 @@ char a4_l_[PADL_(int)]; int a4; char a4_r_[PADR_(int)]; char a5_l_[PADL_(int)]; int a5; char a5_r_[PADR_(int)]; }; -#else -#endif struct svr4_sys_sysarch_args { char op_l_[PADL_(int)]; int op; char op_r_[PADR_(int)]; char a1_l_[PADL_(void *)]; void * a1; char a1_r_[PADR_(void *)]; }; +struct svr4_sys_shmsys_args { + char what_l_[PADL_(int)]; int what; char what_r_[PADR_(int)]; + char a2_l_[PADL_(int)]; int a2; char a2_r_[PADR_(int)]; + char a3_l_[PADL_(int)]; int a3; char a3_r_[PADR_(int)]; + char a4_l_[PADL_(int)]; int a4; char a4_r_[PADR_(int)]; + char a5_l_[PADL_(int)]; int a5; char a5_r_[PADR_(int)]; +}; +struct svr4_sys_semsys_args { + char what_l_[PADL_(int)]; int what; char what_r_[PADR_(int)]; + char a2_l_[PADL_(int)]; int a2; char a2_r_[PADR_(int)]; + char a3_l_[PADL_(int)]; int a3; char a3_r_[PADR_(int)]; + char a4_l_[PADL_(int)]; int a4; char a4_r_[PADR_(int)]; + char a5_l_[PADL_(int)]; int a5; char a5_r_[PADR_(int)]; +}; struct svr4_sys_ioctl_args { char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; char com_l_[PADL_(u_long)]; u_long com; char com_r_[PADR_(u_long)]; @@ -413,11 +424,10 @@ int svr4_sys_pgrpsys(struct thread *, struct svr4_sys_pgrpsys_args *); int svr4_sys_times(struct thread *, struct svr4_sys_times_args *); int svr4_sys_signal(struct thread *, struct svr4_sys_signal_args *); -#if defined(NOTYET) int svr4_sys_msgsys(struct thread *, struct svr4_sys_msgsys_args *); -#else -#endif int svr4_sys_sysarch(struct thread *, struct svr4_sys_sysarch_args *); +int svr4_sys_shmsys(struct thread *, struct svr4_sys_shmsys_args *); +int svr4_sys_semsys(struct thread *, struct svr4_sys_semsys_args *); int svr4_sys_ioctl(struct thread *, struct svr4_sys_ioctl_args *); int svr4_sys_utssys(struct thread *, struct svr4_sys_utssys_args *); int svr4_sys_execve(struct thread *, struct svr4_sys_execve_args *); @@ -478,18 +488,12 @@ #ifdef COMPAT_43 -#if defined(NOTYET) -#else -#endif #endif /* COMPAT_43 */ #ifdef COMPAT_FREEBSD4 -#if defined(NOTYET) -#else -#endif #endif /* COMPAT_FREEBSD4 */ ==== //depot/projects/smpng/sys/compat/svr4/svr4_stream.c#24 (text+ko) ==== @@ -36,10 +36,10 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_stream.c,v 1.53 2005/03/23 08:28:06 das Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_stream.c,v 1.54 2005/07/13 15:14:33 jhb Exp $"); -#define COMPAT_43 1 - +#include "opt_compat.h" +#include "opt_ktrace.h" #include "opt_mac.h" #include ==== //depot/projects/smpng/sys/compat/svr4/svr4_syscall.h#8 (text+ko) ==== @@ -2,8 +2,8 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/svr4/svr4_syscall.h,v 1.15 2005/05/30 15:20:18 rwatson Exp $ - * created from FreeBSD: src/sys/compat/svr4/syscalls.master,v 1.17 2005/05/30 15:09:17 rwatson Exp + * $FreeBSD: src/sys/compat/svr4/svr4_syscall.h,v 1.16 2005/07/13 15:14:54 jhb Exp $ + * created from FreeBSD: src/sys/compat/svr4/syscalls.master,v 1.18 2005/07/13 15:14:33 jhb Exp */ #define SVR4_SYS_exit 1 @@ -45,6 +45,8 @@ #define SVR4_SYS_svr4_sys_signal 48 #define SVR4_SYS_svr4_sys_msgsys 49 #define SVR4_SYS_svr4_sys_sysarch 50 +#define SVR4_SYS_svr4_sys_shmsys 52 +#define SVR4_SYS_svr4_sys_semsys 53 #define SVR4_SYS_svr4_sys_ioctl 54 #define SVR4_SYS_svr4_sys_utssys 57 #define SVR4_SYS_fsync 58 ==== //depot/projects/smpng/sys/compat/svr4/svr4_syscallnames.c#8 (text+ko) ==== @@ -2,8 +2,8 @@ * System call names. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/svr4/svr4_syscallnames.c,v 1.15 2005/05/30 15:20:18 rwatson Exp $ - * created from FreeBSD: src/sys/compat/svr4/syscalls.master,v 1.17 2005/05/30 15:09:17 rwatson Exp + * $FreeBSD: src/sys/compat/svr4/svr4_syscallnames.c,v 1.16 2005/07/13 15:14:54 jhb Exp $ + * created from FreeBSD: src/sys/compat/svr4/syscalls.master,v 1.18 2005/07/13 15:14:33 jhb Exp */ const char *svr4_syscallnames[] = { @@ -56,15 +56,11 @@ "setgid", /* 46 = setgid */ "getgid", /* 47 = getgid */ "svr4_sys_signal", /* 48 = svr4_sys_signal */ -#if defined(NOTYET) "svr4_sys_msgsys", /* 49 = svr4_sys_msgsys */ -#else - "#49", /* 49 = msgsys */ -#endif "svr4_sys_sysarch", /* 50 = svr4_sys_sysarch */ "#51", /* 51 = acct */ - "#52", /* 52 = shmsys */ - "#53", /* 53 = semsys */ + "svr4_sys_shmsys", /* 52 = svr4_sys_shmsys */ + "svr4_sys_semsys", /* 53 = svr4_sys_semsys */ "svr4_sys_ioctl", /* 54 = svr4_sys_ioctl */ "#55", /* 55 = uadmin */ "#56", /* 56 = exch */ ==== //depot/projects/smpng/sys/compat/svr4/svr4_sysent.c#8 (text+ko) ==== @@ -2,8 +2,8 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/svr4/svr4_sysent.c,v 1.16 2005/05/30 15:20:18 rwatson Exp $ - * created from FreeBSD: src/sys/compat/svr4/syscalls.master,v 1.17 2005/05/30 15:09:17 rwatson Exp + * $FreeBSD: src/sys/compat/svr4/svr4_sysent.c,v 1.17 2005/07/13 15:14:54 jhb Exp $ + * created from FreeBSD: src/sys/compat/svr4/syscalls.master,v 1.18 2005/07/13 15:14:33 jhb Exp */ #include @@ -69,15 +69,11 @@ { SYF_MPSAFE | AS(setgid_args), (sy_call_t *)setgid, AUE_NULL }, /* 46 = setgid */ { SYF_MPSAFE | 0, (sy_call_t *)getgid, AUE_NULL }, /* 47 = getgid */ { SYF_MPSAFE | AS(svr4_sys_signal_args), (sy_call_t *)svr4_sys_signal, AUE_NULL }, /* 48 = svr4_sys_signal */ -#if defined(NOTYET) { AS(svr4_sys_msgsys_args), (sy_call_t *)svr4_sys_msgsys, AUE_NULL }, /* 49 = svr4_sys_msgsys */ -#else - { 0, (sy_call_t *)nosys, AUE_NULL }, /* 49 = msgsys */ -#endif { AS(svr4_sys_sysarch_args), (sy_call_t *)svr4_sys_sysarch, AUE_NULL }, /* 50 = svr4_sys_sysarch */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 51 = acct */ - { 0, (sy_call_t *)nosys, AUE_NULL }, /* 52 = shmsys */ - { 0, (sy_call_t *)nosys, AUE_NULL }, /* 53 = semsys */ + { AS(svr4_sys_shmsys_args), (sy_call_t *)svr4_sys_shmsys, AUE_NULL }, /* 52 = svr4_sys_shmsys */ + { AS(svr4_sys_semsys_args), (sy_call_t *)svr4_sys_semsys, AUE_NULL }, /* 53 = svr4_sys_semsys */ { AS(svr4_sys_ioctl_args), (sy_call_t *)svr4_sys_ioctl, AUE_NULL }, /* 54 = svr4_sys_ioctl */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 55 = uadmin */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 56 = exch */ ==== //depot/projects/smpng/sys/compat/svr4/syscalls.master#9 (text+ko) ==== @@ -1,4 +1,4 @@ - $FreeBSD: src/sys/compat/svr4/syscalls.master,v 1.17 2005/05/30 15:09:17 rwatson Exp $ + $FreeBSD: src/sys/compat/svr4/syscalls.master,v 1.18 2005/07/13 15:14:33 jhb Exp $ ; from: @(#)syscalls.master 8.1 (Berkeley) 7/19/93 ; ; System call name/number master file (or rather, slave, from SVR4). @@ -96,17 +96,14 @@ 47 AUE_NULL MNOPROTO { gid_t getgid(void); } 48 AUE_NULL MSTD { int svr4_sys_signal(int signum, \ svr4_sig_t handler); } -#if defined(NOTYET) 49 AUE_NULL STD { int svr4_sys_msgsys(int what, int a2, \ - int a3, int a4, \ - int a5); } -#else -49 AUE_NULL UNIMPL msgsys -#endif + int a3, int a4, int a5); } 50 AUE_NULL STD { int svr4_sys_sysarch(int op, void *a1); } 51 AUE_NULL UNIMPL acct -52 AUE_NULL UNIMPL shmsys -53 AUE_NULL UNIMPL semsys +52 AUE_NULL STD { int svr4_sys_shmsys(int what, int a2, \ + int a3, int a4, int a5); } +53 AUE_NULL STD { int svr4_sys_semsys(int what, int a2, \ + int a3, int a4, int a5); } 54 AUE_NULL STD { int svr4_sys_ioctl(int fd, u_long com, \ caddr_t data); } 55 AUE_NULL UNIMPL uadmin ==== //depot/projects/smpng/sys/conf/files#143 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1030 2005/06/21 10:17:54 dumbbell Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1031 2005/07/10 15:07:57 scottl Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -670,9 +670,10 @@ dev/mlx/mlx_pci.c optional mlx pci dev/mly/mly.c optional mly dev/mpt/mpt.c optional mpt +dev/mpt/mpt_cam.c optional mpt dev/mpt/mpt_debug.c optional mpt -dev/mpt/mpt_freebsd.c optional mpt dev/mpt/mpt_pci.c optional mpt pci +dev/mpt/mpt_raid.c optional mpt dev/my/if_my.c optional my dev/ncv/ncr53c500.c optional ncv dev/ncv/ncr53c500_pccard.c optional ncv pccard ==== //depot/projects/smpng/sys/conf/newvers.sh#18 (text+ko) ==== @@ -28,10 +28,10 @@ # SUCH DAMAGE. # # @(#)newvers.sh 8.1 (Berkeley) 4/20/94 -# $FreeBSD: src/sys/conf/newvers.sh,v 1.69 2005/07/01 15:43:09 jhb Exp $ +# $FreeBSD: src/sys/conf/newvers.sh,v 1.70 2005/07/11 08:34:49 scottl Exp $ TYPE="FreeBSD" -REVISION="6.0" +REVISION="7.0" BRANCH="CURRENT" RELEASE="${REVISION}-${BRANCH}" VERSION="${TYPE} ${RELEASE}" ==== //depot/projects/smpng/sys/dev/advansys/adv_isa.c#10 (text+ko) ==== @@ -46,7 +46,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/advansys/adv_isa.c,v 1.28 2005/05/29 04:42:16 nyan Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/advansys/adv_isa.c,v 1.29 2005/07/13 15:44:53 jhb Exp $"); #include #include @@ -116,6 +116,12 @@ struct resource *iores, *irqres; /* + * We don't know of any PnP ID's for these cards. + */ + if (isa_get_logicalid(dev) != 0) + return (ENXIO); + + /* * Default to scanning all possible device locations. */ port_index = 0; ==== //depot/projects/smpng/sys/dev/auxio/auxio.c#4 (text+ko) ==== @@ -61,7 +61,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/auxio/auxio.c,v 1.3 2005/06/04 20:27:39 marius Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/auxio/auxio.c,v 1.4 2005/07/10 10:33:00 marius Exp $"); #include #include @@ -95,16 +95,16 @@ #define AUXIO_PCIO_FREQ 2 #define AUXIO_PCIO_OSC 3 #define AUXIO_PCIO_TEMP 4 -#define AUXIO_PCIO_MAX 8 +#define AUXIO_PCIO_NREG 5 struct auxio_softc { struct device *sc_dev; int sc_nauxio; - struct resource *sc_res[AUXIO_PCIO_MAX]; - int sc_rid[AUXIO_PCIO_MAX]; - bus_space_tag_t sc_regt[AUXIO_PCIO_MAX]; - bus_space_handle_t sc_regh[AUXIO_PCIO_MAX]; + struct resource *sc_res[AUXIO_PCIO_NREG]; + int sc_rid[AUXIO_PCIO_NREG]; + bus_space_tag_t sc_regt[AUXIO_PCIO_NREG]; + bus_space_handle_t sc_regh[AUXIO_PCIO_NREG]; struct cdev *sc_led_dev; u_int32_t sc_led_stat; @@ -224,26 +224,13 @@ auxio_ebus_attach(device_t dev) { struct auxio_softc *sc; - u_long start, count; - int i; sc = device_get_softc(dev); bzero(sc, sizeof(*sc)); sc->sc_dev = dev; AUXIO_LOCK_INIT(sc); - for (i = 0; - i < AUXIO_PCIO_MAX && - bus_get_resource(dev, SYS_RES_MEMORY, i, &start, &count) == 0; i++) - if (bootverbose) - device_printf(sc->sc_dev, - "Got rid %d, start %#lx, count %#lx\n", - i, start, count); - if (i < 1) { - device_printf(dev, "no LED resource\n"); - return (ENXIO); - } - sc->sc_nauxio = i; + sc->sc_nauxio = AUXIO_PCIO_NREG; sc->sc_flags = AUXIO_LEDONLY | AUXIO_EBUS; return(auxio_attach_common(sc)); ==== //depot/projects/smpng/sys/dev/cp/if_cp.c#12 (text+ko) ==== @@ -22,7 +22,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/cp/if_cp.c,v 1.21 2005/06/10 16:49:06 brooks Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/cp/if_cp.c,v 1.24 2005/07/09 16:14:04 rik Exp $"); #include #include @@ -98,7 +98,6 @@ mtx_assert (&(_bd)->cp_mtx, MA_OWNED); \ } while (0) - static int cp_probe __P((device_t)); static int cp_attach __P((device_t)); static int cp_detach __P((device_t)); @@ -327,6 +326,8 @@ for (i = 0; i < NCHAN && b->chan[i].type; i++) { drv_t *d = b->chan[i].sys; struct mbuf *m; + if (!d || !d->running) + continue; while (_IF_QLEN(&d->queue)) { IF_DEQUEUE (&d->queue,m); if (!m) @@ -523,20 +524,20 @@ } d->ifp->if_softc = d; if_initname (d->ifp, "cp", b->num * NCHAN + c->num); - d->ifp->if_mtu = PP_MTU; + d->ifp->if_mtu = PP_MTU; d->ifp->if_flags = IFF_POINTOPOINT | IFF_MULTICAST; if (!cp_mpsafenet) d->ifp->if_flags |= IFF_NEEDSGIANT; d->ifp->if_ioctl = cp_sioctl; d->ifp->if_start = cp_ifstart; d->ifp->if_watchdog = cp_ifwatchdog; - d->ifp->if_init = cp_initialize; + d->ifp->if_init = cp_initialize; d->queue.ifq_maxlen = NRBUF; mtx_init (&d->queue.ifq_mtx, "cp_queue", NULL, MTX_DEF); sppp_attach (d->ifp); if_attach (d->ifp); - IFP2SP(d->ifp)->pp_tlf = cp_tlf; - IFP2SP(d->ifp)->pp_tls = cp_tls; + IFP2SP(d->ifp)->pp_tlf = cp_tlf; + IFP2SP(d->ifp)->pp_tls = cp_tls; /* If BPF is in the kernel, call the attach for it. * The header size of PPP or Cisco/HDLC is 4 bytes. */ bpfattach (d->ifp, DLT_PPP, 4); @@ -823,7 +824,7 @@ if (d->ifp->if_bpf) BPF_MTAP (d->ifp, m); #endif - len = m->m_pkthdr.len; + len = m_length (m, NULL); if (len >= BUFSZ) printf ("%s: too long packet: %d bytes: ", d->name, len); ==== //depot/projects/smpng/sys/dev/ctau/if_ct.c#14 (text+ko) ==== @@ -22,7 +22,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ctau/if_ct.c,v 1.22 2005/06/10 16:49:06 brooks Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ctau/if_ct.c,v 1.25 2005/07/09 16:14:05 rik Exp $"); #include #include @@ -287,6 +287,8 @@ for (i = 0; i < NCHAN && b->chan[i].type; i++) { drv_t *d = b->chan[i].sys; struct mbuf *m; + if (!d || !d->running) + continue; while (_IF_QLEN(&d->queue)) { IF_DEQUEUE (&d->queue,m); if (!m) @@ -741,22 +743,22 @@ ct_bus_dma_mem_free (&d->dmamem); continue; } - d->ifp->if_softc = d; + d->ifp->if_softc = d; if_initname (d->ifp, "ct", b->num * NCHAN + c->num); - d->ifp->if_mtu = PP_MTU; + d->ifp->if_mtu = PP_MTU; d->ifp->if_flags = IFF_POINTOPOINT | IFF_MULTICAST; if (!ct_mpsafenet) d->ifp->if_flags |= IFF_NEEDSGIANT; d->ifp->if_ioctl = ct_sioctl; d->ifp->if_start = ct_ifstart; d->ifp->if_watchdog = ct_ifwatchdog; - d->ifp->if_init = ct_initialize; + d->ifp->if_init = ct_initialize; d->queue.ifq_maxlen = NBUF; mtx_init (&d->queue.ifq_mtx, "ct_queue", NULL, MTX_DEF); sppp_attach (d->ifp); if_attach (d->ifp); - IFP2SP(d->ifp)->pp_tlf = ct_tlf; - IFP2SP(d->ifp)->pp_tls = ct_tls; + IFP2SP(d->ifp)->pp_tlf = ct_tlf; + IFP2SP(d->ifp)->pp_tls = ct_tls; /* If BPF is in the kernel, call the attach for it. * Header size is 4 bytes. */ bpfattach (d->ifp, DLT_PPP, 4); @@ -1031,7 +1033,7 @@ if (d->ifp->if_bpf) BPF_MTAP (d->ifp, m); #endif - len = m->m_pkthdr.len; + len = m_length (m, NULL); if (! m->m_next) ct_send_packet (d->chan, (u_char*)mtod (m, caddr_t), len, 0); ==== //depot/projects/smpng/sys/dev/cx/if_cx.c#18 (text+ko) ==== @@ -23,7 +23,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/cx/if_cx.c,v 1.39 2005/06/10 16:49:06 brooks Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/cx/if_cx.c,v 1.45 2005/07/09 16:14:05 rik Exp $"); #include @@ -374,6 +374,8 @@ for (i = 0; i < NCHAN && b->chan[i].type; i++) { drv_t *d = b->chan[i].sys; struct mbuf *m; + if (!d || !d->running) + continue; while (_IF_QLEN(&d->queue)) { IF_DEQUEUE (&d->queue,m); if (!m) @@ -848,33 +850,35 @@ cx_bus_dma_mem_free (&d->dmamem); continue; } - d->ifp->if_softc = d; + d->ifp->if_softc = d; if_initname (d->ifp, "cx", b->num * NCHAN + c->num); - d->ifp->if_mtu = PP_MTU; - d->ifp->if_flags = IFF_POINTOPOINT | IFF_MULTICAST | - IFF_NEEDSGIANT; + d->ifp->if_mtu = PP_MTU; + d->ifp->if_flags = IFF_POINTOPOINT | IFF_MULTICAST; + if (!cx_mpsafenet) + d->ifp->if_flags |= IFF_NEEDSGIANT; d->ifp->if_ioctl = cx_sioctl; d->ifp->if_start = cx_ifstart; d->ifp->if_watchdog = cx_ifwatchdog; - d->ifp->if_init = cx_initialize; + d->ifp->if_init = cx_initialize; d->queue.ifq_maxlen = 2; mtx_init (&d->queue.ifq_mtx, "cx_queue", NULL, MTX_DEF); sppp_attach (d->ifp); if_attach (d->ifp); - IFP2SP(d->ifp)->pp_tlf = cx_tlf; - IFP2SP(d->ifp)->pp_tls = cx_tls; + IFP2SP(d->ifp)->pp_tlf = cx_tlf; + IFP2SP(d->ifp)->pp_tls = cx_tls; /* If BPF is in the kernel, call the attach for it. * Size of PPP header is 4 bytes. */ bpfattach (d->ifp, DLT_PPP, 4); #endif /*NETGRAPH*/ } d->tty = ttyalloc (); - d->tty->t_open = cx_topen; - d->tty->t_close = cx_tclose; - d->tty->t_param = cx_param; - d->tty->t_stop = cx_stop; - d->tty->t_modem = cx_tmodem; - d->tty->t_sc = d; + d->tty->t_open = cx_topen; + d->tty->t_close = cx_tclose; + d->tty->t_param = cx_param; + d->tty->t_stop = cx_stop; + d->tty->t_modem = cx_tmodem; + d->tty->t_oproc = cx_oproc; + d->tty->t_sc = d; CX_LOCK (bd); cx_start_chan (c, d->dmamem.virt, d->dmamem.phys); cx_register_receive (c, &cx_receive); @@ -1184,7 +1188,7 @@ if (d->ifp->if_bpf) BPF_MTAP (d->ifp, m); #endif - len = m->m_pkthdr.len; >>> TRUNCATED FOR MAIL (1000 lines) <<<