From owner-p4-projects@FreeBSD.ORG Wed Feb 14 09:39:18 2007 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 C995716A468; Wed, 14 Feb 2007 09:39:17 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 8257116A420 for ; Wed, 14 Feb 2007 09:39:17 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 7024213C471 for ; Wed, 14 Feb 2007 09:39:17 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l1E9dHkQ097364 for ; Wed, 14 Feb 2007 09:39:17 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l1E9dFq0097361 for perforce@freebsd.org; Wed, 14 Feb 2007 09:39:15 GMT (envelope-from rdivacky@FreeBSD.org) Date: Wed, 14 Feb 2007 09:39:15 GMT Message-Id: <200702140939.l1E9dFq0097361@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 114478 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, 14 Feb 2007 09:39:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=114478 Change 114478 by rdivacky@rdivacky_witten on 2007/02/14 09:38:49 IFC Affected files ... .. //depot/projects/linuxolator/src/sys/amd64/amd64/mp_machdep.c#6 integrate .. //depot/projects/linuxolator/src/sys/amd64/conf/GENERIC#9 integrate .. //depot/projects/linuxolator/src/sys/arm/arm/busdma_machdep.c#3 integrate .. //depot/projects/linuxolator/src/sys/arm/arm/cpufunc.c#5 integrate .. //depot/projects/linuxolator/src/sys/arm/arm/db_interface.c#2 integrate .. //depot/projects/linuxolator/src/sys/arm/arm/machdep.c#2 integrate .. //depot/projects/linuxolator/src/sys/arm/arm/mem.c#2 integrate .. //depot/projects/linuxolator/src/sys/arm/arm/sys_machdep.c#2 integrate .. //depot/projects/linuxolator/src/sys/arm/at91/if_ate.c#6 integrate .. //depot/projects/linuxolator/src/sys/arm/xscale/ixp425/if_npe.c#5 integrate .. //depot/projects/linuxolator/src/sys/compat/linux/linux_futex.c#9 edit .. //depot/projects/linuxolator/src/sys/conf/NOTES#18 integrate .. //depot/projects/linuxolator/src/sys/conf/files#18 integrate .. //depot/projects/linuxolator/src/sys/conf/options#17 integrate .. //depot/projects/linuxolator/src/sys/dev/aac/aac.c#2 integrate .. //depot/projects/linuxolator/src/sys/dev/ata/ata-chipset.c#7 integrate .. //depot/projects/linuxolator/src/sys/dev/bge/if_bge.c#12 integrate .. //depot/projects/linuxolator/src/sys/dev/bge/if_bgereg.h#10 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/isp_pci.c#10 integrate .. //depot/projects/linuxolator/src/sys/dev/mii/brgphy.c#8 integrate .. //depot/projects/linuxolator/src/sys/dev/mii/brgphyreg.h#2 integrate .. //depot/projects/linuxolator/src/sys/dev/mii/rlphy.c#5 integrate .. //depot/projects/linuxolator/src/sys/dev/pci/pci.c#16 integrate .. //depot/projects/linuxolator/src/sys/dev/usb/ubsa.c#4 integrate .. //depot/projects/linuxolator/src/sys/dev/usb/usbdevs#9 integrate .. //depot/projects/linuxolator/src/sys/fs/cd9660/TODO#1 branch .. //depot/projects/linuxolator/src/sys/fs/cd9660/TODO.hibler#1 branch .. //depot/projects/linuxolator/src/sys/fs/cd9660/cd9660_bmap.c#1 branch .. //depot/projects/linuxolator/src/sys/fs/cd9660/cd9660_iconv.c#1 branch .. //depot/projects/linuxolator/src/sys/fs/cd9660/cd9660_lookup.c#1 branch .. //depot/projects/linuxolator/src/sys/fs/cd9660/cd9660_mount.h#1 branch .. //depot/projects/linuxolator/src/sys/fs/cd9660/cd9660_node.c#1 branch .. //depot/projects/linuxolator/src/sys/fs/cd9660/cd9660_node.h#1 branch .. //depot/projects/linuxolator/src/sys/fs/cd9660/cd9660_rrip.c#1 branch .. //depot/projects/linuxolator/src/sys/fs/cd9660/cd9660_rrip.h#1 branch .. //depot/projects/linuxolator/src/sys/fs/cd9660/cd9660_util.c#1 branch .. //depot/projects/linuxolator/src/sys/fs/cd9660/cd9660_vfsops.c#1 branch .. //depot/projects/linuxolator/src/sys/fs/cd9660/cd9660_vnops.c#1 branch .. //depot/projects/linuxolator/src/sys/fs/cd9660/iso.h#1 branch .. //depot/projects/linuxolator/src/sys/fs/cd9660/iso_rrip.h#1 branch .. //depot/projects/linuxolator/src/sys/fs/msdosfs/msdosfs_vfsops.c#8 integrate .. //depot/projects/linuxolator/src/sys/geom/part/g_part_if.m#2 integrate .. //depot/projects/linuxolator/src/sys/i386/conf/GENERIC#7 integrate .. //depot/projects/linuxolator/src/sys/i386/i386/mp_machdep.c#6 integrate .. //depot/projects/linuxolator/src/sys/ia64/conf/GENERIC#5 integrate .. //depot/projects/linuxolator/src/sys/ia64/ia64/pmap.c#4 integrate .. //depot/projects/linuxolator/src/sys/isofs/cd9660/TODO#2 delete .. //depot/projects/linuxolator/src/sys/isofs/cd9660/TODO.hibler#2 delete .. //depot/projects/linuxolator/src/sys/isofs/cd9660/cd9660_bmap.c#2 delete .. //depot/projects/linuxolator/src/sys/isofs/cd9660/cd9660_iconv.c#2 delete .. //depot/projects/linuxolator/src/sys/isofs/cd9660/cd9660_lookup.c#2 delete .. //depot/projects/linuxolator/src/sys/isofs/cd9660/cd9660_mount.h#2 delete .. //depot/projects/linuxolator/src/sys/isofs/cd9660/cd9660_node.c#2 delete .. //depot/projects/linuxolator/src/sys/isofs/cd9660/cd9660_node.h#3 delete .. //depot/projects/linuxolator/src/sys/isofs/cd9660/cd9660_rrip.c#2 delete .. //depot/projects/linuxolator/src/sys/isofs/cd9660/cd9660_rrip.h#2 delete .. //depot/projects/linuxolator/src/sys/isofs/cd9660/cd9660_util.c#2 delete .. //depot/projects/linuxolator/src/sys/isofs/cd9660/cd9660_vfsops.c#4 delete .. //depot/projects/linuxolator/src/sys/isofs/cd9660/cd9660_vnops.c#2 delete .. //depot/projects/linuxolator/src/sys/isofs/cd9660/iso.h#2 delete .. //depot/projects/linuxolator/src/sys/isofs/cd9660/iso_rrip.h#2 delete .. //depot/projects/linuxolator/src/sys/kern/Make.tags.inc#3 integrate .. //depot/projects/linuxolator/src/sys/kern/kern_ktrace.c#6 integrate .. //depot/projects/linuxolator/src/sys/kern/kern_sig.c#8 integrate .. //depot/projects/linuxolator/src/sys/kern/kern_switch.c#6 integrate .. //depot/projects/linuxolator/src/sys/kern/sched_ule.c#8 integrate .. //depot/projects/linuxolator/src/sys/kern/uipc_usrreq.c#6 integrate .. //depot/projects/linuxolator/src/sys/kern/vfs_mount.c#8 integrate .. //depot/projects/linuxolator/src/sys/kern/vfs_vnops.c#5 integrate .. //depot/projects/linuxolator/src/sys/modules/cd9660/Makefile#2 integrate .. //depot/projects/linuxolator/src/sys/modules/cd9660_iconv/Makefile#2 integrate .. //depot/projects/linuxolator/src/sys/modules/geom/Makefile#4 integrate .. //depot/projects/linuxolator/src/sys/modules/ip_mroute_mod/Makefile#2 integrate .. //depot/projects/linuxolator/src/sys/net/if_loop.c#3 integrate .. //depot/projects/linuxolator/src/sys/netgraph/ng_ksocket.c#2 integrate .. //depot/projects/linuxolator/src/sys/netinet/in_proto.c#3 integrate .. //depot/projects/linuxolator/src/sys/netinet/ip_mroute.c#7 integrate .. //depot/projects/linuxolator/src/sys/netinet/ip_mroute.h#4 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_asconf.c#7 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_auth.c#4 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_auth.h#2 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_constants.h#6 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_crc32.c#3 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_indata.c#7 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_input.c#7 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_os.h#4 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_os_bsd.h#6 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_output.c#7 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_pcb.c#7 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_peeloff.c#4 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_structs.h#7 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_timer.c#5 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_uio.h#5 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_usrreq.c#7 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_var.h#5 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctputil.c#7 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctputil.h#6 integrate .. //depot/projects/linuxolator/src/sys/netinet6/icmp6.c#4 integrate .. //depot/projects/linuxolator/src/sys/netinet6/sctp6_usrreq.c#7 integrate .. //depot/projects/linuxolator/src/sys/netsmb/smb_dev.c#2 integrate .. //depot/projects/linuxolator/src/sys/nfsclient/nfs_socket.c#5 integrate .. //depot/projects/linuxolator/src/sys/nfsserver/nfs_serv.c#4 integrate .. //depot/projects/linuxolator/src/sys/pc98/conf/GENERIC#6 integrate .. //depot/projects/linuxolator/src/sys/powerpc/conf/GENERIC#6 integrate .. //depot/projects/linuxolator/src/sys/powerpc/powerpc/machdep.c#5 integrate .. //depot/projects/linuxolator/src/sys/security/mac_biba/mac_biba.c#7 integrate .. //depot/projects/linuxolator/src/sys/sparc64/conf/GENERIC#6 integrate .. //depot/projects/linuxolator/src/sys/sun4v/conf/GENERIC#7 integrate .. //depot/projects/linuxolator/src/sys/sys/runq.h#4 integrate .. //depot/projects/linuxolator/src/sys/sys/systm.h#7 integrate .. //depot/projects/linuxolator/src/sys/ufs/ufs/ufs_vnops.c#8 integrate .. //depot/projects/linuxolator/src/sys/vm/uma.h#4 integrate .. //depot/projects/linuxolator/src/sys/vm/uma_core.c#6 integrate .. //depot/projects/linuxolator/src/sys/vm/vm_page.c#8 integrate .. //depot/projects/linuxolator/src/sys/vm/vm_zeroidle.c#6 integrate Differences ... ==== //depot/projects/linuxolator/src/sys/amd64/amd64/mp_machdep.c#6 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.280 2007/01/23 08:38:39 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.281 2007/02/08 16:49:58 jhb Exp $"); #include "opt_cpu.h" #include "opt_kstack_pages.h" @@ -632,6 +632,8 @@ continue; if (cpu_info[apic_id].cpu_bsp) continue; + if (cpu_info[apic_id].cpu_disabled) + continue; /* Don't let hyperthreads service interrupts. */ if (hyperthreading_cpus > 1 && ==== //depot/projects/linuxolator/src/sys/amd64/conf/GENERIC#9 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.472 2007/02/07 18:55:29 marcel Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.473 2007/02/09 19:03:17 brooks Exp $ cpu HAMMER ident GENERIC @@ -44,6 +44,7 @@ options PROCFS # Process filesystem (requires PSEUDOFS) options PSEUDOFS # Pseudo-filesystem framework options GEOM_PART_GPT # GUID Partition Tables. +options GEOM_LABEL # Provides labelization options COMPAT_43TTY # BSD 4.3 TTY compat [KEEP THIS!] options COMPAT_IA32 # Compatible with i386 binaries options COMPAT_FREEBSD4 # Compatible with FreeBSD4 ==== //depot/projects/linuxolator/src/sys/arm/arm/busdma_machdep.c#3 (text+ko) ==== @@ -29,10 +29,10 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/busdma_machdep.c,v 1.28 2007/01/17 00:53:05 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/busdma_machdep.c,v 1.29 2007/02/13 07:19:26 kevlo Exp $"); /* - * MacPPC bus dma support routines + * ARM bus dma support routines */ #define _ARM32_BUS_DMA_PRIVATE ==== //depot/projects/linuxolator/src/sys/arm/arm/cpufunc.c#5 (text+ko) ==== @@ -45,7 +45,7 @@ * Created : 30/01/97 */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/cpufunc.c,v 1.15 2006/11/30 23:34:07 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/cpufunc.c,v 1.16 2007/02/11 22:24:54 cognet Exp $"); #include #include @@ -58,6 +58,7 @@ #include #include +#include #include #include @@ -799,7 +800,7 @@ cpu_reset_needs_v4_MMU_disable = 0; get_cachetype_cp15(); pmap_pte_init_generic(); - return 0; + goto out; } #endif #ifdef CPU_ARM8 @@ -809,7 +810,7 @@ cpu_reset_needs_v4_MMU_disable = 0; /* XXX correct? */ get_cachetype_cp15(); pmap_pte_init_arm8(); - return 0; + goto out; } #endif /* CPU_ARM8 */ #ifdef CPU_ARM9 @@ -829,7 +830,7 @@ #else pmap_pte_init_generic(); #endif - return 0; + goto out; } #endif /* CPU_ARM9 */ #ifdef CPU_ARM10 @@ -849,7 +850,7 @@ arm10_dcache_index_inc = 1U << (32 - arm_dcache_l2_assoc); arm10_dcache_index_max = 0U - arm10_dcache_index_inc; pmap_pte_init_generic(); - return 0; + goto out; } #endif /* CPU_ARM10 */ #ifdef CPU_SA110 @@ -858,7 +859,7 @@ cpu_reset_needs_v4_MMU_disable = 1; /* SA needs it */ get_cachetype_table(); pmap_pte_init_sa1(); - return 0; + goto out; } #endif /* CPU_SA110 */ #ifdef CPU_SA1100 @@ -870,7 +871,7 @@ /* Use powersave on this CPU. */ cpu_do_powersave = 1; - return 0; + goto out; } #endif /* CPU_SA1100 */ #ifdef CPU_SA1110 @@ -882,7 +883,7 @@ /* Use powersave on this CPU. */ cpu_do_powersave = 1; - return 0; + goto out; } #endif /* CPU_SA1110 */ #ifdef CPU_IXP12X0 @@ -891,7 +892,7 @@ cpu_reset_needs_v4_MMU_disable = 1; get_cachetype_table(); pmap_pte_init_sa1(); - return 0; + goto out; } #endif /* CPU_IXP12X0 */ #ifdef CPU_XSCALE_80200 @@ -948,7 +949,7 @@ cpu_reset_needs_v4_MMU_disable = 1; /* XScale needs it */ get_cachetype_cp15(); pmap_pte_init_xscale(); - return 0; + goto out; } #endif /* CPU_XSCALE_80200 */ #if defined(CPU_XSCALE_80321) || defined(CPU_XSCALE_80219) @@ -975,7 +976,7 @@ cpu_reset_needs_v4_MMU_disable = 1; /* XScale needs it */ get_cachetype_cp15(); pmap_pte_init_xscale(); - return 0; + goto out; } #endif /* CPU_XSCALE_80321 */ @@ -989,7 +990,7 @@ cpu_reset_needs_v4_MMU_disable = 1; /* XScale needs it */ get_cachetype_cp15(); pmap_pte_init_xscale(); - return 0; + goto out; } #endif /* CPU_XSCALE_81342 */ #ifdef CPU_XSCALE_PXA2X0 @@ -1009,7 +1010,7 @@ /* Use powersave on this CPU. */ cpu_do_powersave = 1; - return 0; + goto out; } #endif /* CPU_XSCALE_PXA2X0 */ #ifdef CPU_XSCALE_IXP425 @@ -1025,7 +1026,7 @@ get_cachetype_cp15(); pmap_pte_init_xscale(); - return 0; + goto out; } #endif /* CPU_XSCALE_IXP425 */ /* @@ -1033,6 +1034,9 @@ */ panic("No support for this CPU type (%08x) in kernel", cputype); return(ARCHITECTURE_NOT_PRESENT); +out: + uma_set_align(arm_dcache_align_mask); + return (0); } /* ==== //depot/projects/linuxolator/src/sys/arm/arm/db_interface.c#2 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/db_interface.c,v 1.5 2005/06/23 11:38:47 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/db_interface.c,v 1.6 2007/02/14 01:25:41 kevlo Exp $"); #include "opt_ddb.h" #include @@ -109,7 +109,7 @@ *valp = get_stackptr(PSR_UND32_MODE); return (1); } - return(0); + return (0); } int @@ -120,7 +120,7 @@ *valp = get_stackptr(PSR_ABT32_MODE); return (1); } - return(0); + return (0); } int @@ -131,7 +131,7 @@ *valp = get_stackptr(PSR_IRQ32_MODE); return (1); } - return(0); + return (0); } int db_frame(struct db_variable *vp, db_expr_t *valp, int rw) @@ -146,7 +146,7 @@ *valp = *reg; else *reg = *valp; - return(1); + return (1); } void @@ -339,4 +339,3 @@ panic("branch_taken: botch"); } } - ==== //depot/projects/linuxolator/src/sys/arm/arm/machdep.c#2 (text+ko) ==== @@ -44,7 +44,7 @@ #include "opt_compat.h" #include -__FBSDID("$FreeBSD: src/sys/arm/arm/machdep.c,v 1.23 2006/05/15 10:40:37 benno Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/machdep.c,v 1.25 2007/02/14 04:41:28 kevlo Exp $"); #include #include @@ -57,6 +57,7 @@ #include #include #include +#include #include #include #include @@ -106,26 +107,38 @@ ksiginfo_t *ksi; sigset_t *mask; { - struct thread *td = curthread; - struct proc *p = td->td_proc; - struct trapframe *tf = td->td_frame; + struct thread *td; + struct proc *p; + struct trapframe *tf; struct sigframe *fp, frame; - struct sigacts *psp = td->td_proc->p_sigacts; + struct sigacts *psp; int onstack; int sig; int code; - onstack = sigonstack(td->td_frame->tf_usr_sp); - + td = curthread; + p = td->td_proc; + PROC_LOCK_ASSERT(p, MA_OWNED); sig = ksi->ksi_signo; code = ksi->ksi_code; - if ((td->td_flags & TDP_ALTSTACK) && - !(onstack) && - SIGISMEMBER(td->td_proc->p_sigacts->ps_sigonstack, sig)) { - fp = (void*)(td->td_sigstk.ss_sp + td->td_sigstk.ss_size); + psp = p->p_sigacts; + mtx_assert(&psp->ps_mtx, MA_OWNED); + tf = td->td_frame; + onstack = sigonstack(tf->tf_usr_sp); + + CTR4(KTR_SIG, "sendsig: td=%p (%s) catcher=%p sig=%d", td, p->p_comm, + catcher, sig); + + /* Allocate and validate space for the signal handler context. */ + if ((td->td_flags & TDP_ALTSTACK) != 0 && !(onstack) && + SIGISMEMBER(psp->ps_sigonstack, sig)) { + fp = (struct sigframe *)(td->td_sigstk.ss_sp + + td->td_sigstk.ss_size); +#if defined(COMPAT_43) td->td_sigstk.ss_flags |= SS_ONSTACK; +#endif } else - fp = (void*)td->td_frame->tf_usr_sp; + fp = (struct sigframe *)td->td_frame->tf_usr_sp; /* make room on the stack */ fp--; @@ -133,18 +146,27 @@ /* make the stack aligned */ fp = (struct sigframe *)STACKALIGN(fp); /* Populate the siginfo frame. */ + get_mcontext(td, &frame.sf_uc.uc_mcontext, 0); frame.sf_si = ksi->ksi_info; frame.sf_uc.uc_sigmask = *mask; - frame.sf_uc.uc_link = NULL; - frame.sf_uc.uc_flags = (td->td_pflags & TDP_ALTSTACK ) + frame.sf_uc.uc_stack.ss_flags = (td->td_pflags & TDP_ALTSTACK ) ? ((onstack) ? SS_ONSTACK : 0) : SS_DISABLE; frame.sf_uc.uc_stack = td->td_sigstk; - memset(&frame.sf_uc.uc_stack, 0, sizeof(frame.sf_uc.uc_stack)); - get_mcontext(td, &frame.sf_uc.uc_mcontext, 0); + mtx_unlock(&psp->ps_mtx); PROC_UNLOCK(td->td_proc); - mtx_unlock(&psp->ps_mtx); - if (copyout(&frame, (void*)fp, sizeof(frame)) != 0) + + /* Copy the sigframe out to the user's stack. */ + if (copyout(&frame, fp, sizeof(*fp)) != 0) { + /* Process has trashed its stack. Kill it. */ + CTR2(KTR_SIG, "sendsig: sigexit td=%p fp=%p", td, fp); + PROC_LOCK(p); sigexit(td, SIGILL); + } + + /* Translate the signal if appropriate. */ + if (p->p_sysent->sv_sigtbl && sig <= p->p_sysent->sv_sigsize) + sig = p->p_sysent->sv_sigtbl[_SIG_IDX(sig)]; + /* * Build context to run handler in. We invoke the handler * directly, only returning via the trampoline. Note the @@ -153,15 +175,19 @@ */ tf->tf_r0 = sig; - tf->tf_r1 = (int)&fp->sf_si; - tf->tf_r2 = (int)&fp->sf_uc; + tf->tf_r1 = (register_t)&fp->sf_si; + tf->tf_r2 = (register_t)&fp->sf_uc; /* the trampoline uses r5 as the uc address */ - tf->tf_r5 = (int)&fp->sf_uc; - tf->tf_pc = (int)catcher; - tf->tf_usr_sp = (int)fp; - tf->tf_usr_lr = (int)(PS_STRINGS - *(p->p_sysent->sv_szsigcode)); - PROC_LOCK(td->td_proc); + tf->tf_r5 = (register_t)&fp->sf_uc; + tf->tf_pc = (register_t)catcher; + tf->tf_usr_sp = (register_t)fp; + tf->tf_usr_lr = (register_t)(PS_STRINGS - *(p->p_sysent->sv_szsigcode)); + + CTR3(KTR_SIG, "sendsig: return td=%p pc=%#x sp=%#x", td, tf->tf_usr_lr, + tf->tf_usr_sp); + + PROC_LOCK(p); mtx_lock(&psp->ps_mtx); } ==== //depot/projects/linuxolator/src/sys/arm/arm/mem.c#2 (text+ko) ==== @@ -37,7 +37,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/mem.c,v 1.4 2006/08/15 16:43:07 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/mem.c,v 1.5 2007/02/13 15:35:57 cognet Exp $"); /* * Memory special file @@ -92,8 +92,21 @@ continue; } if (minor(dev) == CDEV_MINOR_MEM) { + int i; + int address_valid = 0; + v = uio->uio_offset; v &= ~PAGE_MASK; + for (i = 0; dump_avail[i] || dump_avail[i + 1]; + i += 2) { + if (v >= dump_avail[i] && + v < dump_avail[i + 1]) { + address_valid = 1; + break; + } + } + if (!address_valid) + return (EINVAL); pmap_kenter((vm_offset_t)_tmppt, v); o = (int)uio->uio_offset & PAGE_MASK; c = (u_int)(PAGE_SIZE - ((int)iov->iov_base & PAGE_MASK)); ==== //depot/projects/linuxolator/src/sys/arm/arm/sys_machdep.c#2 (text+ko) ==== @@ -34,7 +34,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/sys_machdep.c,v 1.4 2005/02/25 22:56:16 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/sys_machdep.c,v 1.5 2007/02/14 01:25:41 kevlo Exp $"); #include #include @@ -68,7 +68,7 @@ cpu_icache_sync_range(ua.addr, ua.len); td->td_retval[0] = 0; - return(0); + return (0); } static int @@ -78,7 +78,7 @@ td->td_retval[0] = 0; cpu_drain_writebuf(); - return(0); + return (0); } static int @@ -108,7 +108,6 @@ case ARM_SYNC_ICACHE : error = arm32_sync_icache(td, uap->parms); break; - case ARM_DRAIN_WRITEBUF : error = arm32_drain_writebuf(td, uap->parms); break; @@ -124,4 +123,3 @@ } return (error); } - ==== //depot/projects/linuxolator/src/sys/arm/at91/if_ate.c#6 (text) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/at91/if_ate.c,v 1.16 2007/02/03 07:46:26 kevlo Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/if_ate.c,v 1.18 2007/02/10 15:43:57 mlaier Exp $"); #include #include @@ -146,7 +146,7 @@ static void ate_deactivate(device_t dev); static int ate_ifmedia_upd(struct ifnet *ifp); static void ate_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr); -static void ate_get_mac(struct ate_softc *sc, u_char *eaddr); +static int ate_get_mac(struct ate_softc *sc, u_char *eaddr); static void ate_set_mac(struct ate_softc *sc, u_char *eaddr); /* @@ -179,7 +179,6 @@ sc->use_rmii = (RD4(sc, ETH_CFG) & ETH_CFG_RMII) == ETH_CFG_RMII; - /*Sysctls*/ sctx = device_get_sysctl_ctx(dev); soid = device_get_sysctl_tree(dev); @@ -191,7 +190,10 @@ ATE_LOCK_INIT(sc); callout_init_mtx(&sc->tick_ch, &sc->sc_mtx, 0); - ate_get_mac(sc, eaddr); + if ((err = ate_get_mac(sc, eaddr)) != 0) { + device_printf(dev, "No MAC address set"); + goto out; + } ate_set_mac(sc, eaddr); sc->ifp = ifp = if_alloc(IFT_ETHER); @@ -211,7 +213,7 @@ ifp->if_init = ateinit; ifp->if_baudrate = 10000000; IFQ_SET_MAXLEN(&ifp->if_snd, IFQ_MAXLEN); - ifp->if_snd.ifq_maxlen = IFQ_MAXLEN; + ifp->if_snd.ifq_drv_maxlen = IFQ_MAXLEN; IFQ_SET_READY(&ifp->if_snd); ifp->if_timer = 0; ifp->if_linkmib = &sc->mibdata; @@ -582,24 +584,27 @@ } -static void +static int ate_get_mac(struct ate_softc *sc, u_char *eaddr) { - uint32_t low, high; + uint32_t low, high; - /* - * The boot loader setup the MAC with an address, if one is set in - * the loader. The TSC loader will also set the MAC address in a - * similar way. Grab the MAC address from the SA1[HL] registers. - */ - low = RD4(sc, ETH_SA1L); - high = RD4(sc, ETH_SA1H); - eaddr[0] = (high >> 8) & 0xff; - eaddr[1] = high & 0xff; - eaddr[2] = (low >> 24) & 0xff; - eaddr[3] = (low >> 16) & 0xff; - eaddr[4] = (low >> 8) & 0xff; - eaddr[5] = low & 0xff; + /* + * The boot loader setup the MAC with an address, if one is set in + * the loader. The TSC loader will also set the MAC address in a + * similar way. Grab the MAC address from the SA1[HL] registers. + */ + low = RD4(sc, ETH_SA1L); + high = RD4(sc, ETH_SA1H); + if ((low | (high & 0xffff)) == 0) + return (ENXIO); + eaddr[0] = (high >> 8) & 0xff; + eaddr[1] = high & 0xff; + eaddr[2] = (low >> 24) & 0xff; + eaddr[3] = (low >> 16) & 0xff; + eaddr[4] = (low >> 8) & 0xff; + eaddr[5] = low & 0xff; + return (0); } static void ==== //depot/projects/linuxolator/src/sys/arm/xscale/ixp425/if_npe.c#5 (text+ko) ==== @@ -23,7 +23,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/if_npe.c,v 1.4 2007/02/03 07:46:26 kevlo Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/if_npe.c,v 1.5 2007/02/10 15:43:58 mlaier Exp $"); /* * Intel XScale NPE Ethernet driver. @@ -330,7 +330,7 @@ ifp->if_ioctl = npeioctl; ifp->if_init = npeinit; IFQ_SET_MAXLEN(&ifp->if_snd, sc->txdma.nbuf - 1); - ifp->if_snd.ifq_maxlen = IFQ_MAXLEN; + ifp->if_snd.ifq_drv_maxlen = IFQ_MAXLEN; IFQ_SET_READY(&ifp->if_snd); ifp->if_linkmib = &sc->mibdata; ifp->if_linkmiblen = sizeof(sc->mibdata); ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_futex.c#9 (text+ko) ==== @@ -308,7 +308,8 @@ * as the number of retries, so any large number will * be ok. */ - op_ret += futex_wake(f2, 0x7fffffff, NULL); + op_ret += futex_wake(f2, (int) (unsigned long) args->timeout, NULL); +// op_ret += futex_wake(f2, 0xffffffff, NULL); ret += op_ret; } futex_put(f2); ==== //depot/projects/linuxolator/src/sys/conf/NOTES#18 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1409 2007/02/07 18:55:29 marcel Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1410 2007/02/10 13:59:13 bms Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -807,11 +807,8 @@ # Internet family options: # # MROUTING enables the kernel multicast packet forwarder, which works -# with mrouted(8). +# with mrouted and XORP. # -# PIM enables Protocol Independent Multicast in the kernel. -# Requires MROUTING enabled. -# # IPFIREWALL enables support for IP firewall construction, in # conjunction with the `ipfw' program. IPFIREWALL_VERBOSE sends # logged packets to the system logger. IPFIREWALL_VERBOSE_LIMIT @@ -854,7 +851,6 @@ # using the trpt(8) utility. # options MROUTING # Multicast routing -options PIM # Protocol Independent Multicast options IPFIREWALL #firewall options IPFIREWALL_VERBOSE #enable logging to syslogd(8) options IPFIREWALL_VERBOSE_LIMIT=100 #limit verbosity ==== //depot/projects/linuxolator/src/sys/conf/files#18 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1175 2007/02/07 18:55:29 marcel Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1176 2007/02/11 14:01:32 rodrigc Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -1305,14 +1305,14 @@ isa/orm.c optional isa isa/pnp.c optional isa isapnp isa/pnpparse.c optional isa isapnp -isofs/cd9660/cd9660_bmap.c optional cd9660 -isofs/cd9660/cd9660_lookup.c optional cd9660 -isofs/cd9660/cd9660_node.c optional cd9660 -isofs/cd9660/cd9660_rrip.c optional cd9660 -isofs/cd9660/cd9660_util.c optional cd9660 -isofs/cd9660/cd9660_vfsops.c optional cd9660 -isofs/cd9660/cd9660_vnops.c optional cd9660 -isofs/cd9660/cd9660_iconv.c optional cd9660_iconv +fs/cd9660/cd9660_bmap.c optional cd9660 +fs/cd9660/cd9660_lookup.c optional cd9660 +fs/cd9660/cd9660_node.c optional cd9660 +fs/cd9660/cd9660_rrip.c optional cd9660 +fs/cd9660/cd9660_util.c optional cd9660 +fs/cd9660/cd9660_vfsops.c optional cd9660 +fs/cd9660/cd9660_vnops.c optional cd9660 +fs/cd9660/cd9660_iconv.c optional cd9660_iconv kern/bus_if.m standard kern/clock_if.m optional genclock kern/cpufreq_if.m standard ==== //depot/projects/linuxolator/src/sys/conf/options#17 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options,v 1.575 2007/02/07 18:55:29 marcel Exp $ +# $FreeBSD: src/sys/conf/options,v 1.576 2007/02/10 13:59:13 bms Exp $ # # On the handling of kernel options # @@ -352,7 +352,6 @@ ETHER_8022 opt_ef.h ETHER_SNAP opt_ef.h MROUTING opt_mrouting.h -PIM opt_mrouting.h INET opt_inet.h INET6 opt_inet6.h IPSEC opt_ipsec.h ==== //depot/projects/linuxolator/src/sys/dev/aac/aac.c#2 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/aac/aac.c,v 1.118 2006/04/08 06:05:29 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/aac/aac.c,v 1.119 2007/02/14 09:10:37 luoqi Exp $"); /* * Driver for the Adaptec 'FSA' family of PCI/SCSI RAID adapters. @@ -2982,7 +2982,7 @@ switch (event->ev_type) { case AAC_EVENT_CMFREE: mtx_lock(&sc->aac_io_lock); - if (aac_alloc_command(sc, (struct aac_command **)arg) == 0) { + if (aac_alloc_command(sc, (struct aac_command **)arg)) { aac_add_event(sc, event); mtx_unlock(&sc->aac_io_lock); return; ==== //depot/projects/linuxolator/src/sys/dev/ata/ata-chipset.c#7 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ata/ata-chipset.c,v 1.180 2007/02/03 20:12:00 rink Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/ata-chipset.c,v 1.181 2007/02/12 17:17:31 sos Exp $"); #include "opt_ata.h" #include @@ -315,9 +315,8 @@ /* clear SATA error register */ ATA_IDX_OUTL(ch, ATA_SERROR, ATA_IDX_INL(ch, ATA_SERROR)); - /* find out what type device we got poll for spec'd 31 seconds */ + /* poll 31 seconds for device ready */ /* XXX SOS 10 secs for now as I have little patience */ - ch->devices = 0; for (timeout = 0; timeout < 1000; timeout++) { if (ATA_IDX_INB(ch, ATA_STATUS) & ATA_S_BUSY) DELAY(10000); @@ -326,16 +325,9 @@ } if (bootverbose) device_printf(ch->dev, "SATA connect ready time=%dms\n", timeout * 10); - if (timeout < 1000) { - if ((ATA_IDX_INB(ch, ATA_CYL_LSB) == ATAPI_MAGIC_LSB) && - (ATA_IDX_INB(ch, ATA_CYL_MSB) == ATAPI_MAGIC_MSB)) - ch->devices = ATA_ATAPI_MASTER; - else - ch->devices = ATA_ATA_MASTER; - } - if (bootverbose) - device_printf(ch->dev, "sata_connect devices=0x%b\n", - ch->devices, "\20\3ATAPI_MASTER\1ATA_MASTER"); + + /* do a reset and find out what type device we've got */ + ata_generic_reset(ch->dev); return 1; } ==== //depot/projects/linuxolator/src/sys/dev/bge/if_bge.c#12 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/bge/if_bge.c,v 1.173 2007/01/15 21:43:43 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/bge/if_bge.c,v 1.176 2007/02/12 23:58:52 jkim Exp $"); /* * Broadcom BCM570x family gigabit ethernet driver for FreeBSD. @@ -111,8 +111,8 @@ #include -#define BGE_CSUM_FEATURES (CSUM_IP | CSUM_TCP | CSUM_UDP) -#define ETHER_MIN_NOPAD (ETHER_MIN_LEN - ETHER_CRC_LEN) /* i.e., 60 */ +#define BGE_CSUM_FEATURES (CSUM_IP | CSUM_TCP | CSUM_UDP) +#define ETHER_MIN_NOPAD (ETHER_MIN_LEN - ETHER_CRC_LEN) /* i.e., 60 */ MODULE_DEPEND(bge, pci, 1, 1, 1); MODULE_DEPEND(bge, ether, 1, 1, 1); @@ -286,11 +286,11 @@ { 0, NULL } }; -#define BGE_IS_JUMBO_CAPABLE(sc) ((sc)->bge_flags & BGE_FLAG_JUMBO) -#define BGE_IS_5700_FAMILY(sc) ((sc)->bge_flags & BGE_FLAG_5700_FAMILY) -#define BGE_IS_5705_PLUS(sc) ((sc)->bge_flags & BGE_FLAG_5705_PLUS) -#define BGE_IS_5714_FAMILY(sc) ((sc)->bge_flags & BGE_FLAG_5714_FAMILY) -#define BGE_IS_575X_PLUS(sc) ((sc)->bge_flags & BGE_FLAG_575X_PLUS) +#define BGE_IS_JUMBO_CAPABLE(sc) ((sc)->bge_flags & BGE_FLAG_JUMBO) +#define BGE_IS_5700_FAMILY(sc) ((sc)->bge_flags & BGE_FLAG_5700_FAMILY) +#define BGE_IS_5705_PLUS(sc) ((sc)->bge_flags & BGE_FLAG_5705_PLUS) +#define BGE_IS_5714_FAMILY(sc) ((sc)->bge_flags & BGE_FLAG_5714_FAMILY) +#define BGE_IS_575X_PLUS(sc) ((sc)->bge_flags & BGE_FLAG_575X_PLUS) const struct bge_revision * bge_lookup_rev(uint32_t); const struct bge_vendor * bge_lookup_vendor(uint16_t); @@ -359,8 +359,8 @@ static void bge_poll(struct ifnet *ifp, enum poll_cmd cmd, int count); #endif -#define BGE_RESET_START 1 -#define BGE_RESET_STOP 2 +#define BGE_RESET_START 1 +#define BGE_RESET_STOP 2 static void bge_sig_post_reset(struct bge_softc *, int); static void bge_sig_legacy(struct bge_softc *, int); static void bge_sig_pre_reset(struct bge_softc *, int); @@ -1120,9 +1120,9 @@ /* Set up the PCI DMA control register. */ if (sc->bge_flags & BGE_FLAG_PCIE) { /* PCI Express bus */ - dma_rw_ctl = BGE_PCI_READ_CMD|BGE_PCI_WRITE_CMD | - (0xf << BGE_PCIDMARWCTL_RD_WAT_SHIFT) | - (0x2 << BGE_PCIDMARWCTL_WR_WAT_SHIFT); + dma_rw_ctl = BGE_PCI_READ_CMD | BGE_PCI_WRITE_CMD | + BGE_PCIDMARWCTL_RD_WAT_SHIFT(0xf) | + BGE_PCIDMARWCTL_WR_WAT_SHIFT(0x2); } else if (sc->bge_flags & BGE_FLAG_PCIX) { /* PCI-X bus */ if (BGE_IS_5714_FAMILY(sc)) { @@ -1140,14 +1140,14 @@ * The 5704 uses a different encoding of read/write * watermarks. */ - dma_rw_ctl = BGE_PCI_READ_CMD|BGE_PCI_WRITE_CMD | - (0x7 << BGE_PCIDMARWCTL_RD_WAT_SHIFT) | - (0x3 << BGE_PCIDMARWCTL_WR_WAT_SHIFT); + dma_rw_ctl = BGE_PCI_READ_CMD | BGE_PCI_WRITE_CMD | + BGE_PCIDMARWCTL_RD_WAT_SHIFT(0x7) | + BGE_PCIDMARWCTL_WR_WAT_SHIFT(0x3); else - dma_rw_ctl = BGE_PCI_READ_CMD|BGE_PCI_WRITE_CMD | - (0x3 << BGE_PCIDMARWCTL_RD_WAT_SHIFT) | - (0x3 << BGE_PCIDMARWCTL_WR_WAT_SHIFT) | - (0x0F); + dma_rw_ctl = BGE_PCI_READ_CMD | BGE_PCI_WRITE_CMD | + BGE_PCIDMARWCTL_RD_WAT_SHIFT(0x3) | + BGE_PCIDMARWCTL_WR_WAT_SHIFT(0x3) | + 0x0f; /* * 5703 and 5704 need ONEDMA_AT_ONCE as a workaround @@ -1163,10 +1163,10 @@ } } else /* Conventional PCI bus */ - dma_rw_ctl = BGE_PCI_READ_CMD|BGE_PCI_WRITE_CMD | - (0x7 << BGE_PCIDMARWCTL_RD_WAT_SHIFT) | - (0x7 << BGE_PCIDMARWCTL_WR_WAT_SHIFT) | - (0x0F); + dma_rw_ctl = BGE_PCI_READ_CMD | BGE_PCI_WRITE_CMD | + BGE_PCIDMARWCTL_RD_WAT_SHIFT(0x7) | + BGE_PCIDMARWCTL_WR_WAT_SHIFT(0x7) | + 0x0f; if (sc->bge_asicrev == BGE_ASICREV_BCM5703 || sc->bge_asicrev == BGE_ASICREV_BCM5704 || @@ -1687,6 +1687,8 @@ device_set_desc_copy(dev, buf); if (pci_get_subvendor(dev) == DELL_VENDORID) sc->bge_flags |= BGE_FLAG_NO_3LED; + if (did == BCOM_DEVICEID_BCM5755M) + sc->bge_flags |= BGE_FLAG_ADJUST_TRIM; return (0); } t++; @@ -2214,12 +2216,16 @@ } /* Set various bug flags. */ + if (sc->bge_chipid == BGE_CHIPID_BCM5701_A0 || + sc->bge_chipid == BGE_CHIPID_BCM5701_B0) + sc->bge_flags |= BGE_FLAG_CRC_BUG; if (sc->bge_chiprev == BGE_CHIPREV_5703_AX || sc->bge_chiprev == BGE_CHIPREV_5704_AX) sc->bge_flags |= BGE_FLAG_ADC_BUG; if (sc->bge_chipid == BGE_CHIPID_BCM5704_A0) sc->bge_flags |= BGE_FLAG_5704_A0_BUG; - if (BGE_IS_5705_PLUS(sc)) { + if (BGE_IS_5705_PLUS(sc) && + !(sc->bge_flags & BGE_FLAG_ADJUST_TRIM)) { if (sc->bge_asicrev == BGE_ASICREV_BCM5755 || sc->bge_asicrev == BGE_ASICREV_BCM5787) sc->bge_flags |= BGE_FLAG_JITTER_BUG; @@ -3182,7 +3188,7 @@ stats = BGE_MEMWIN_START + BGE_STATS_BLOCK; -#define READ_STAT(sc, stats, stat) \ +#define READ_STAT(sc, stats, stat) \ CSR_READ_4(sc, stats + offsetof(struct bge_stats, stat)) cnt = READ_STAT(sc, stats, txstats.etherStatsCollisions.bge_addr_lo); @@ -3197,7 +3203,7 @@ ifp->if_oerrors += (uint32_t)(cnt - sc->bge_tx_discards); sc->bge_tx_discards = cnt; -#undef READ_STAT >>> TRUNCATED FOR MAIL (1000 lines) <<<