PERFORCE change 108802 for review

Matt Jacob mjacob at FreeBSD.org
Tue Oct 31 06:09:58 UTC 2006


http://perforce.freebsd.org/chv.cgi?CH=108802

Change 108802 by mjacob at newisp on 2006/10/31 06:09:10

	IFC

Affected files ...

.. //depot/projects/newisp/amd64/amd64/machdep.c#5 integrate
.. //depot/projects/newisp/amd64/amd64/prof_machdep.c#2 integrate
.. //depot/projects/newisp/amd64/amd64/trap.c#2 integrate
.. //depot/projects/newisp/amd64/conf/DEFAULTS#2 integrate
.. //depot/projects/newisp/amd64/conf/GENERIC#4 integrate
.. //depot/projects/newisp/amd64/conf/NOTES#4 integrate
.. //depot/projects/newisp/amd64/include/asmacros.h#2 integrate
.. //depot/projects/newisp/amd64/include/profile.h#2 integrate
.. //depot/projects/newisp/amd64/linux32/linux.h#3 integrate
.. //depot/projects/newisp/amd64/linux32/linux32_dummy.c#3 integrate
.. //depot/projects/newisp/amd64/linux32/linux32_proto.h#4 integrate
.. //depot/projects/newisp/amd64/linux32/linux32_syscall.h#4 integrate
.. //depot/projects/newisp/amd64/linux32/linux32_sysent.c#4 integrate
.. //depot/projects/newisp/amd64/linux32/syscalls.master#4 integrate
.. //depot/projects/newisp/arm/arm/elf_trampoline.c#3 integrate
.. //depot/projects/newisp/arm/arm/nexus.c#2 integrate
.. //depot/projects/newisp/arm/arm/trap.c#5 integrate
.. //depot/projects/newisp/arm/arm/vm_machdep.c#2 integrate
.. //depot/projects/newisp/arm/at91/at91_sscreg.h#3 integrate
.. //depot/projects/newisp/arm/at91/kb920x_machdep.c#4 integrate
.. //depot/projects/newisp/arm/at91/std.at91#2 integrate
.. //depot/projects/newisp/arm/at91/std.kb920x#2 integrate
.. //depot/projects/newisp/arm/conf/EP80219#2 integrate
.. //depot/projects/newisp/arm/conf/IQ31244#2 integrate
.. //depot/projects/newisp/arm/conf/KB920X#2 integrate
.. //depot/projects/newisp/arm/conf/SIMICS#2 integrate
.. //depot/projects/newisp/arm/conf/SKYEYE#2 integrate
.. //depot/projects/newisp/arm/sa11x0/assabet_machdep.c#2 integrate
.. //depot/projects/newisp/arm/xscale/i80321/ep80219_machdep.c#3 integrate
.. //depot/projects/newisp/arm/xscale/i80321/iq31244_machdep.c#2 integrate
.. //depot/projects/newisp/boot/common/load_elf.c#2 integrate
.. //depot/projects/newisp/boot/i386/boot2/boot2.c#2 integrate
.. //depot/projects/newisp/boot/i386/libi386/elf32_freebsd.c#2 integrate
.. //depot/projects/newisp/boot/i386/libi386/elf64_freebsd.c#3 integrate
.. //depot/projects/newisp/boot/pc98/boot2/boot.c#2 integrate
.. //depot/projects/newisp/cam/scsi/scsi_da.c#4 edit
.. //depot/projects/newisp/cam/scsi/scsi_low.c#2 integrate
.. //depot/projects/newisp/compat/freebsd32/freebsd32_proto.h#10 integrate
.. //depot/projects/newisp/compat/freebsd32/freebsd32_syscall.h#10 integrate
.. //depot/projects/newisp/compat/freebsd32/freebsd32_syscalls.c#10 integrate
.. //depot/projects/newisp/compat/freebsd32/freebsd32_sysent.c#10 integrate
.. //depot/projects/newisp/compat/freebsd32/syscalls.master#10 integrate
.. //depot/projects/newisp/compat/linprocfs/linprocfs.c#3 integrate
.. //depot/projects/newisp/compat/linux/linux_aio.c#2 delete
.. //depot/projects/newisp/compat/linux/linux_aio.h#2 delete
.. //depot/projects/newisp/compat/linux/linux_emul.c#5 integrate
.. //depot/projects/newisp/compat/linux/linux_emul.h#2 integrate
.. //depot/projects/newisp/compat/linux/linux_misc.c#5 integrate
.. //depot/projects/newisp/compat/linux/linux_misc.h#1 branch
.. //depot/projects/newisp/conf/NOTES#10 integrate
.. //depot/projects/newisp/conf/files#9 integrate
.. //depot/projects/newisp/conf/files.amd64#5 integrate
.. //depot/projects/newisp/conf/files.i386#4 integrate
.. //depot/projects/newisp/conf/files.ia64#2 integrate
.. //depot/projects/newisp/conf/files.pc98#3 integrate
.. //depot/projects/newisp/conf/files.powerpc#2 integrate
.. //depot/projects/newisp/conf/files.sparc64#2 integrate
.. //depot/projects/newisp/conf/kern.post.mk#3 integrate
.. //depot/projects/newisp/conf/kern.pre.mk#4 integrate
.. //depot/projects/newisp/ddb/db_ps.c#2 integrate
.. //depot/projects/newisp/dev/aac/aac_cam.c#2 integrate
.. //depot/projects/newisp/dev/acpi_support/acpi_aiboost.c#1 branch
.. //depot/projects/newisp/dev/advansys/advansys.c#2 integrate
.. //depot/projects/newisp/dev/advansys/advlib.c#2 integrate
.. //depot/projects/newisp/dev/advansys/adwcam.c#2 integrate
.. //depot/projects/newisp/dev/aha/aha.c#2 integrate
.. //depot/projects/newisp/dev/ahb/ahb.c#2 integrate
.. //depot/projects/newisp/dev/aic/aic.c#2 integrate
.. //depot/projects/newisp/dev/amd/amd.c#2 integrate
.. //depot/projects/newisp/dev/amr/amr_cam.c#2 integrate
.. //depot/projects/newisp/dev/arcmsr/arcmsr.c#3 integrate
.. //depot/projects/newisp/dev/asr/asr.c#2 integrate
.. //depot/projects/newisp/dev/ata/atapi-cam.c#2 integrate
.. //depot/projects/newisp/dev/atkbdc/atkbd.c#3 integrate
.. //depot/projects/newisp/dev/bce/if_bce.c#7 integrate
.. //depot/projects/newisp/dev/bce/if_bcereg.h#4 integrate
.. //depot/projects/newisp/dev/bge/if_bge.c#9 edit
.. //depot/projects/newisp/dev/ciss/ciss.c#2 integrate
.. //depot/projects/newisp/dev/dc/if_dc.c#3 integrate
.. //depot/projects/newisp/dev/dpt/dpt_scsi.c#2 integrate
.. //depot/projects/newisp/dev/em/if_em.c#10 integrate
.. //depot/projects/newisp/dev/em/if_em.h#4 integrate
.. //depot/projects/newisp/dev/em/if_em_hw.c#2 integrate
.. //depot/projects/newisp/dev/em/if_em_hw.h#2 integrate
.. //depot/projects/newisp/dev/em/if_em_osdep.h#2 integrate
.. //depot/projects/newisp/dev/esp/ncr53c9x.c#2 integrate
.. //depot/projects/newisp/dev/firewire/sbp.c#2 integrate
.. //depot/projects/newisp/dev/iir/iir.c#2 integrate
.. //depot/projects/newisp/dev/isp/isp_freebsd.c#16 integrate
.. //depot/projects/newisp/dev/mly/mly.c#2 integrate
.. //depot/projects/newisp/dev/mpt/mpt_cam.c#6 integrate
.. //depot/projects/newisp/dev/pci/pci.c#5 integrate
.. //depot/projects/newisp/dev/pci/pci_pci.c#3 integrate
.. //depot/projects/newisp/dev/pci/pcivar.h#3 integrate
.. //depot/projects/newisp/dev/sound/pcm/dsp.c#5 integrate
.. //depot/projects/newisp/dev/trm/trm.c#2 integrate
.. //depot/projects/newisp/dev/twa/tw_osl_cam.c#2 integrate
.. //depot/projects/newisp/dev/ubsec/ubsec.c#3 integrate
.. //depot/projects/newisp/dev/usb/ubsa.c#3 integrate
.. //depot/projects/newisp/dev/usb/ukbd.c#4 integrate
.. //depot/projects/newisp/dev/usb/umass.c#4 integrate
.. //depot/projects/newisp/dev/usb/usbdevs#3 integrate
.. //depot/projects/newisp/fs/msdosfs/denode.h#2 integrate
.. //depot/projects/newisp/fs/msdosfs/direntry.h#2 integrate
.. //depot/projects/newisp/fs/msdosfs/msdosfs_conv.c#3 integrate
.. //depot/projects/newisp/fs/msdosfs/msdosfs_denode.c#2 integrate
.. //depot/projects/newisp/fs/msdosfs/msdosfs_vnops.c#2 integrate
.. //depot/projects/newisp/fs/nwfs/nwfs_subr.c#3 integrate
.. //depot/projects/newisp/fs/procfs/procfs_status.c#2 integrate
.. //depot/projects/newisp/fs/smbfs/smbfs_subr.c#2 integrate
.. //depot/projects/newisp/i386/conf/DEFAULTS#2 integrate
.. //depot/projects/newisp/i386/conf/GENERIC#4 integrate
.. //depot/projects/newisp/i386/conf/NOTES#5 integrate
.. //depot/projects/newisp/i386/i386/machdep.c#4 integrate
.. //depot/projects/newisp/i386/i386/trap.c#2 integrate
.. //depot/projects/newisp/i386/include/asmacros.h#2 integrate
.. //depot/projects/newisp/i386/include/profile.h#2 integrate
.. //depot/projects/newisp/i386/isa/prof_machdep.c#2 integrate
.. //depot/projects/newisp/i386/linux/linux.h#3 integrate
.. //depot/projects/newisp/i386/linux/linux_dummy.c#3 integrate
.. //depot/projects/newisp/i386/linux/linux_proto.h#5 integrate
.. //depot/projects/newisp/i386/linux/linux_syscall.h#5 integrate
.. //depot/projects/newisp/i386/linux/linux_sysent.c#5 integrate
.. //depot/projects/newisp/i386/linux/syscalls.master#5 integrate
.. //depot/projects/newisp/ia64/conf/DEFAULTS#2 integrate
.. //depot/projects/newisp/ia64/conf/GENERIC#4 integrate
.. //depot/projects/newisp/ia64/conf/NOTES#3 integrate
.. //depot/projects/newisp/ia64/ia64/machdep.c#2 integrate
.. //depot/projects/newisp/ia64/ia64/trap.c#3 integrate
.. //depot/projects/newisp/kern/init_main.c#4 integrate
.. //depot/projects/newisp/kern/kern_clock.c#2 integrate
.. //depot/projects/newisp/kern/kern_exit.c#5 integrate
.. //depot/projects/newisp/kern/kern_fork.c#3 integrate
.. //depot/projects/newisp/kern/kern_idle.c#2 integrate
.. //depot/projects/newisp/kern/kern_intr.c#3 integrate
.. //depot/projects/newisp/kern/kern_kse.c#2 integrate
.. //depot/projects/newisp/kern/kern_malloc.c#2 integrate
.. //depot/projects/newisp/kern/kern_poll.c#2 integrate
.. //depot/projects/newisp/kern/kern_proc.c#5 integrate
.. //depot/projects/newisp/kern/kern_resource.c#3 integrate
.. //depot/projects/newisp/kern/kern_sig.c#5 integrate
.. //depot/projects/newisp/kern/kern_subr.c#2 integrate
.. //depot/projects/newisp/kern/kern_switch.c#2 integrate
.. //depot/projects/newisp/kern/kern_synch.c#2 integrate
.. //depot/projects/newisp/kern/kern_thr.c#3 integrate
.. //depot/projects/newisp/kern/kern_thread.c#3 integrate
.. //depot/projects/newisp/kern/kern_umtx.c#9 integrate
.. //depot/projects/newisp/kern/sched_4bsd.c#2 integrate
.. //depot/projects/newisp/kern/sched_ule.c#2 integrate
.. //depot/projects/newisp/kern/subr_fattime.c#2 integrate
.. //depot/projects/newisp/kern/subr_trap.c#4 integrate
.. //depot/projects/newisp/kern/sys_process.c#3 integrate
.. //depot/projects/newisp/kern/tty.c#6 integrate
.. //depot/projects/newisp/kern/vfs_bio.c#4 integrate
.. //depot/projects/newisp/kern/vfs_syscalls.c#6 integrate
.. //depot/projects/newisp/modules/acpi/Makefile#2 integrate
.. //depot/projects/newisp/modules/acpi/acpi_aiboost/Makefile#1 branch
.. //depot/projects/newisp/modules/linux/Makefile#3 integrate
.. //depot/projects/newisp/modules/powermac_nvram/Makefile#2 integrate
.. //depot/projects/newisp/netinet/ip_dummynet.c#2 integrate
.. //depot/projects/newisp/nfsserver/nfs_serv.c#2 integrate
.. //depot/projects/newisp/pc98/conf/DEFAULTS#2 integrate
.. //depot/projects/newisp/pc98/conf/GENERIC#4 integrate
.. //depot/projects/newisp/pc98/conf/NOTES#3 integrate
.. //depot/projects/newisp/pc98/pc98/machdep.c#3 integrate
.. //depot/projects/newisp/pci/if_sis.c#3 integrate
.. //depot/projects/newisp/pci/ncr.c#2 integrate
.. //depot/projects/newisp/posix4/ksched.c#2 integrate
.. //depot/projects/newisp/powerpc/conf/DEFAULTS#2 integrate
.. //depot/projects/newisp/powerpc/conf/GENERIC#4 integrate
.. //depot/projects/newisp/powerpc/conf/NOTES#2 integrate
.. //depot/projects/newisp/powerpc/powerpc/machdep.c#2 integrate
.. //depot/projects/newisp/powerpc/powerpc/trap.c#3 integrate
.. //depot/projects/newisp/security/mac/mac_framework.h#3 integrate
.. //depot/projects/newisp/sparc64/conf/DEFAULTS#2 integrate
.. //depot/projects/newisp/sparc64/conf/GENERIC#4 integrate
.. //depot/projects/newisp/sparc64/conf/NOTES#3 integrate
.. //depot/projects/newisp/sparc64/include/endian.h#2 integrate
.. //depot/projects/newisp/sparc64/sparc64/machdep.c#2 integrate
.. //depot/projects/newisp/sparc64/sparc64/trap.c#2 integrate
.. //depot/projects/newisp/sun4v/conf/DEFAULTS#2 integrate
.. //depot/projects/newisp/sun4v/conf/NOTES#3 integrate
.. //depot/projects/newisp/sun4v/include/endian.h#2 integrate
.. //depot/projects/newisp/sun4v/sun4v/machdep.c#2 integrate
.. //depot/projects/newisp/sys/clock.h#4 integrate
.. //depot/projects/newisp/sys/mac_policy.h#5 integrate
.. //depot/projects/newisp/sys/param.h#7 integrate
.. //depot/projects/newisp/sys/proc.h#3 integrate
.. //depot/projects/newisp/sys/queue.h#2 integrate
.. //depot/projects/newisp/sys/rtprio.h#3 integrate
.. //depot/projects/newisp/sys/sched.h#2 integrate
.. //depot/projects/newisp/sys/soundcard.h#3 integrate
.. //depot/projects/newisp/vm/swap_pager.c#3 integrate
.. //depot/projects/newisp/vm/uma_core.c#2 integrate
.. //depot/projects/newisp/vm/vm_fault.c#3 integrate
.. //depot/projects/newisp/vm/vm_glue.c#2 integrate
.. //depot/projects/newisp/vm/vm_kern.c#2 integrate
.. //depot/projects/newisp/vm/vm_zeroidle.c#2 integrate

Differences ...

==== //depot/projects/newisp/amd64/amd64/machdep.c#5 (text+ko) ====

@@ -39,7 +39,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.656 2006/10/12 12:48:21 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.657 2006/10/26 21:42:16 jb Exp $");
 
 #include "opt_atalk.h"
 #include "opt_atpic.h"
@@ -1120,7 +1120,11 @@
  	 * This may be done better later if it gets more high level
  	 * components in it. If so just link td->td_proc here.
 	 */
+#ifdef KSE
 	proc_linkup(&proc0, &ksegrp0, &thread0);
+#else
+	proc_linkup(&proc0, &thread0);
+#endif
 
 	preload_metadata = (caddr_t)(uintptr_t)(modulep + KERNBASE);
 	preload_bootstrap_relocate(KERNBASE);

==== //depot/projects/newisp/amd64/amd64/prof_machdep.c#2 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/prof_machdep.c,v 1.24 2005/05/14 09:10:00 nyan Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/prof_machdep.c,v 1.28 2006/10/29 09:48:44 bde Exp $");
 
 #ifdef GUPROF
 #if 0
@@ -37,20 +37,15 @@
 #include <sys/systm.h>
 #include <sys/gmon.h>
 #include <sys/kernel.h>
+#include <sys/smp.h>
 #include <sys/sysctl.h>
 
 #include <machine/clock.h>
 #if 0
 #include <machine/perfmon.h>
 #endif
-#include <machine/profile.h>
-#undef MCOUNT
-#endif
-
-#include <machine/asmacros.h>
 #include <machine/timerreg.h>
 
-#ifdef GUPROF
 #define	CPUTIME_CLOCK_UNINITIALIZED	0
 #define	CPUTIME_CLOCK_I8254		1
 #define	CPUTIME_CLOCK_TSC		2
@@ -60,7 +55,7 @@
 int	cputime_bias = 1;	/* initialize for locality of reference */
 
 static int	cputime_clock = CPUTIME_CLOCK_UNINITIALIZED;
-#ifdef I586_PMC_GUPROF
+#if defined(PERFMON) && defined(I586_PMC_GUPROF)
 static u_int	cputime_clock_pmc_conf = I586_PMC_GUPROF;
 static int	cputime_clock_pmc_init;
 static struct gmonparam saved_gmp;
@@ -80,7 +75,7 @@
 	#							\n\
 	# Check that we are profiling.  Do it early for speed.	\n\
 	#							\n\
-	cmpl	$GMON_PROF_OFF," __XSTRING(CNAME(_gmonparam)) "+GM_STATE \n\
+	cmpl	$GMON_PROF_OFF,_gmonparam+GM_STATE		\n\
  	je	.mcount_exit					\n\
  	#							\n\
  	# __mcount is the same as [.]mcount except the caller	\n\
@@ -98,11 +93,11 @@
  	jmp	.got_frompc					\n\
  								\n\
  	.p2align 4,0x90						\n\
- 	.globl	" __XSTRING(HIDENAME(mcount)) "			\n\
-" __XSTRING(HIDENAME(mcount)) ":				\n\
+ 	.globl	.mcount						\n\
+.mcount:							\n\
  	.globl	__cyg_profile_func_enter			\n\
 __cyg_profile_func_enter:					\n\
-	cmpl	$GMON_PROF_OFF," __XSTRING(CNAME(_gmonparam)) "+GM_STATE \n\
+	cmpl	$GMON_PROF_OFF,_gmonparam+GM_STATE		\n\
 	je	.mcount_exit					\n\
 	#							\n\
 	# The caller's stack frame has already been built, so	\n\
@@ -126,7 +121,7 @@
 								\n\
 	pushfq							\n\
 	cli							\n\
-	call	" __XSTRING(CNAME(mcount)) "			\n\
+	call	mcount						\n\
 	popfq							\n\
 	popq	%r9						\n\
 	popq	%r8						\n\
@@ -139,7 +134,7 @@
 	ret							\n\
 ");
 #else /* !__GNUCLIKE_ASM */
-#error this file needs to be ported to your compiler
+#error "this file needs to be ported to your compiler"
 #endif /* __GNUCLIKE_ASM */
 
 #ifdef GUPROF
@@ -164,11 +159,11 @@
 GMON_PROF_HIRES	=	4					\n\
 								\n\
 	.p2align 4,0x90						\n\
-	.globl	" __XSTRING(HIDENAME(mexitcount)) "		\n\
-" __XSTRING(HIDENAME(mexitcount)) ":				\n\
+	.globl	.mexitcount					\n\
+.mexitcount:							\n\
  	.globl	__cyg_profile_func_exit				\n\
 __cyg_profile_func_exit:					\n\
-	cmpl	$GMON_PROF_HIRES," __XSTRING(CNAME(_gmonparam)) "+GM_STATE \n\
+	cmpl	$GMON_PROF_HIRES,_gmonparam+GM_STATE		\n\
 	jne	.mexitcount_exit				\n\
 	pushq	%rax						\n\
 	pushq	%rdx						\n\
@@ -180,7 +175,7 @@
 	movq	7*8(%rsp),%rdi					\n\
 	pushfq							\n\
 	cli							\n\
-	call	" __XSTRING(CNAME(mexitcount)) "		\n\
+	call	mexitcount					\n\
 	popfq							\n\
 	popq	%r9						\n\
 	popq	%r8						\n\
@@ -192,8 +187,6 @@
 .mexitcount_exit:						\n\
 	ret							\n\
 ");
-#else /* !__GNUCLIKE_ASM */
-#error this file needs to be ported to your compiler
 #endif /* __GNUCLIKE_ASM */
 
 /*
@@ -212,7 +205,6 @@
 	u_char high, low;
 	static u_int prev_count;
 
-#ifndef SMP
 	if (cputime_clock == CPUTIME_CLOCK_TSC) {
 		/*
 		 * Scale the TSC a little to make cputime()'s frequency
@@ -226,7 +218,7 @@
 		prev_count = count;
 		return (delta);
 	}
-#if defined(PERFMON) && defined(I586_PMC_GUPROF)
+#if defined(PERFMON) && defined(I586_PMC_GUPROF) && !defined(SMP)
 	if (cputime_clock == CPUTIME_CLOCK_I586_PMC) {
 		/*
 		 * XXX permon_read() should be inlined so that the
@@ -240,8 +232,7 @@
 		prev_count = count;
 		return (delta);
 	}
-#endif /* PERFMON && I586_PMC_GUPROF */
-#endif /* !SMP */
+#endif /* PERFMON && I586_PMC_GUPROF && !SMP */
 
 	/*
 	 * Read the current value of the 8254 timer counter 0.
@@ -323,13 +314,10 @@
 {
 	if (cputime_clock == CPUTIME_CLOCK_UNINITIALIZED) {
 		cputime_clock = CPUTIME_CLOCK_I8254;
-#ifndef SMP
-		if (tsc_freq != 0)
+		if (tsc_freq != 0 && !tsc_is_broken && mp_ncpus < 2)
 			cputime_clock = CPUTIME_CLOCK_TSC;
-#endif
 	}
 	gp->profrate = timer_freq << CPUTIME_CLOCK_I8254_SHIFT;
-#ifndef SMP
 	if (cputime_clock == CPUTIME_CLOCK_TSC)
 		gp->profrate = tsc_freq >> 1;
 #if defined(PERFMON) && defined(I586_PMC_GUPROF)
@@ -358,7 +346,6 @@
 		}
 	}
 #endif /* PERFMON && I586_PMC_GUPROF */
-#endif /* !SMP */
 	cputime_bias = 0;
 	cputime();
 }
@@ -375,17 +362,4 @@
 	}
 #endif
 }
-
-#else /* !GUPROF */
-#ifdef __GNUCLIKE_ASM
-__asm("								\n\
-	.text							\n\
-	.p2align 4,0x90						\n\
-	.globl	" __XSTRING(HIDENAME(mexitcount)) "		\n\
-" __XSTRING(HIDENAME(mexitcount)) ":				\n\
-	ret							\n\
-");
-#else /* !__GNUCLIKE_ASM */
-#error this file needs to be ported to your compiler
-#endif /* __GNUCLIKE_ASM */
 #endif /* GUPROF */

==== //depot/projects/newisp/amd64/amd64/trap.c#2 (text+ko) ====

@@ -38,7 +38,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.310 2006/08/14 19:53:53 alc Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.311 2006/10/26 21:42:16 jb Exp $");
 
 /*
  * AMD64 Trap and System call handling
@@ -299,8 +299,10 @@
 
 		case T_PAGEFLT:		/* page fault */
 			addr = frame.tf_addr;
+#ifdef KSE
 			if (td->td_pflags & TDP_SA)
 				thread_user_enter(td);
+#endif
 			i = trap_pfault(&frame, TRUE);
 			if (i == -1)
 				goto userout;
@@ -757,8 +759,10 @@
 	td->td_frame = &frame;
 	if (td->td_ucred != p->p_ucred) 
 		cred_update_thread(td);
+#ifdef KSE
 	if (p->p_flag & P_SA)
 		thread_user_enter(td);
+#endif
 	params = (caddr_t)frame.tf_rsp + sizeof(register_t);
 	code = frame.tf_rax;
 	orig_tf_rflags = frame.tf_rflags;

==== //depot/projects/newisp/amd64/conf/DEFAULTS#2 (text+ko) ====

@@ -1,7 +1,7 @@
 #
 # DEFAULTS -- Default kernel configuration file for FreeBSD/amd64
 #
-# $FreeBSD: src/sys/amd64/conf/DEFAULTS,v 1.6 2006/06/12 04:21:49 imp Exp $
+# $FreeBSD: src/sys/amd64/conf/DEFAULTS,v 1.7 2006/10/26 22:05:24 jb Exp $
 
 machine		amd64
 
@@ -14,3 +14,6 @@
 
 # UART chips on this platform
 device		uart_ns8250
+
+# KSE support went from being default to a kernel option
+options 	KSE

==== //depot/projects/newisp/amd64/conf/GENERIC#4 (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.466 2006/10/05 20:31:57 simon Exp $
+# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.468 2006/10/26 22:11:34 jb Exp $
 
 cpu		HAMMER
 ident		GENERIC

==== //depot/projects/newisp/amd64/conf/NOTES#4 (text+ko) ====

@@ -4,7 +4,7 @@
 # This file contains machine dependent kernel configuration notes.  For
 # machine independent notes, look in /sys/conf/NOTES.
 #
-# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.62 2006/10/20 09:52:26 des Exp $
+# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.63 2006/10/23 13:23:13 ru Exp $
 #
 
 #
@@ -257,8 +257,6 @@
 # Debugging.
 options 	VGA_DEBUG
 
-device		splash			# Splash screen and screen saver support
-
 # 3Dfx Voodoo Graphics, Voodoo II /dev/3dfx CDEV support.  This will create
 # the /dev/3dfx0 device to work with glide implementations.  This should get
 # linked to /dev/3dfx and /dev/voodoo.  Note that this is not the same as

==== //depot/projects/newisp/amd64/include/asmacros.h#2 (text+ko) ====

@@ -26,7 +26,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/amd64/include/asmacros.h,v 1.30 2006/03/14 00:01:56 peter Exp $
+ * $FreeBSD: src/sys/amd64/include/asmacros.h,v 1.32 2006/10/28 06:04:29 bde Exp $
  */
 
 #ifndef _MACHINE_ASMACROS_H_
@@ -37,14 +37,12 @@
 /* XXX too much duplication in various asm*.h's. */
 
 /*
- * CNAME and HIDENAME manage the relationship between symbol names in C
+ * CNAME is used to manage the relationship between symbol names in C
  * and the equivalent assembly language names.  CNAME is given a name as
  * it would be used in a C program.  It expands to the equivalent assembly
- * language name.  HIDENAME is given an assembly-language name, and expands
- * to a possibly-modified form that will be invisible to C programs.
+ * language name.
  */
 #define CNAME(csym)		csym
-#define HIDENAME(asmsym)	.asmsym
 
 #define ALIGN_DATA	.p2align 3	/* 8 byte alignment, zero filled */
 #ifdef GPROF
@@ -108,8 +106,12 @@
 #define FAKE_MCOUNT(caller)	pushq caller ; call __mcount ; popq %rcx
 #define MCOUNT			call __mcount
 #define MCOUNT_LABEL(name)	GEN_ENTRY(name) ; nop ; ALIGN_TEXT
-#define MEXITCOUNT		call HIDENAME(mexitcount)
+#ifdef GUPROF
+#define MEXITCOUNT		call .mexitcount
 #define ret			MEXITCOUNT ; NON_GPROF_RET
+#else
+#define MEXITCOUNT
+#endif
 
 #else /* !GPROF */
 /*

==== //depot/projects/newisp/amd64/include/profile.h#2 (text+ko) ====

@@ -27,7 +27,7 @@
  * SUCH DAMAGE.
  *
  *	@(#)profile.h	8.1 (Berkeley) 6/11/93
- * $FreeBSD: src/sys/amd64/include/profile.h,v 1.45 2005/03/11 22:16:09 peter Exp $
+ * $FreeBSD: src/sys/amd64/include/profile.h,v 1.48 2006/10/28 13:12:06 bde Exp $
  */
 
 #ifndef _MACHINE_PROFILE_H_
@@ -61,7 +61,7 @@
 #define	MCOUNT_OVERHEAD(label)						\
 	__asm __volatile("pushq %0; call __mcount; popq %%rcx"		\
 			 :						\
-			 : "i" (profil)					\
+			 : "i" (label)					\
 			 : "ax", "dx", "cx", "di", "si", "r8", "r9", "memory")
 #define	MEXITCOUNT_OVERHEAD()						\
 	__asm __volatile("call .mexitcount; 1:"				\
@@ -114,11 +114,11 @@
 
 #ifdef __GNUCLIKE_ASM
 #define	MCOUNT __asm("			\n\
+	.text				\n\
+	.p2align 4,0x90			\n\
 	.globl	.mcount			\n\
-	.type	.mcount @function	\n\
+	.type	.mcount, at function	\n\
 .mcount:				\n\
-	pushq	%rbp			\n\
-	movq	%rsp,%rbp		\n\
 	pushq	%rdi			\n\
 	pushq	%rsi			\n\
 	pushq	%rdx			\n\
@@ -126,9 +126,8 @@
 	pushq	%r8			\n\
 	pushq	%r9			\n\
 	pushq	%rax			\n\
-	movq	8(%rbp),%rsi		\n\
-	movq	(%rbp),%rdi		\n\
-	movq	8(%rdi),%rdi		\n\
+	movq	8(%rbp),%rdi		\n\
+	movq	7*8(%rsp),%rsi		\n\
 	call	_mcount			\n\
 	popq	%rax			\n\
 	popq	%r9			\n\
@@ -137,7 +136,6 @@
 	popq	%rdx			\n\
 	popq	%rsi			\n\
 	popq	%rdi			\n\
-	leave				\n\
 	ret				\n\
 	.size	.mcount, . - .mcount");
 #if 0
@@ -171,11 +169,7 @@
 }
 #endif
 #else /* !__GNUCLIKE_ASM */
-#define	MCOUNT								\
-void									\
-mcount()								\
-{									\
-}
+#define	MCOUNT
 #endif /* __GNUCLIKE_ASM */
 
 typedef	u_long	uintfptr_t;

==== //depot/projects/newisp/amd64/linux32/linux.h#3 (text+ko) ====

@@ -27,7 +27,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/amd64/linux32/linux.h,v 1.7 2006/10/15 14:22:12 netchild Exp $
+ * $FreeBSD: src/sys/amd64/linux32/linux.h,v 1.8 2006/10/29 14:02:38 netchild Exp $
  */
 
 #ifndef _AMD64_LINUX_LINUX_H_
@@ -840,6 +840,4 @@
 
 #define THREADING_FLAGS (CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND)
 
-#include <compat/linux/linux_aio.h>
-
 #endif /* !_AMD64_LINUX_LINUX_H_ */

==== //depot/projects/newisp/amd64/linux32/linux32_dummy.c#3 (text+ko) ====

@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_dummy.c,v 1.5 2006/08/27 08:56:53 netchild Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_dummy.c,v 1.6 2006/10/28 10:59:59 netchild Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -53,7 +53,6 @@
 DUMMY(sysfs);
 DUMMY(query_module);
 DUMMY(nfsservctl);
-DUMMY(prctl);
 DUMMY(rt_sigtimedwait);
 DUMMY(rt_sigqueueinfo);
 DUMMY(capget);

==== //depot/projects/newisp/amd64/linux32/linux32_proto.h#4 (text+ko) ====

@@ -2,8 +2,8 @@
  * System call prototypes.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/amd64/linux32/linux32_proto.h,v 1.23 2006/10/15 14:24:09 netchild Exp $
- * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.21 2006/10/15 14:22:12 netchild Exp 
+ * $FreeBSD: src/sys/amd64/linux32/linux32_proto.h,v 1.25 2006/10/29 14:12:44 netchild Exp $
+ * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.23 2006/10/29 14:02:38 netchild Exp 
  */
 
 #ifndef _LINUX_SYSPROTO_H_
@@ -521,7 +521,11 @@
 	char sgid_l_[PADL_(l_gid16_t *)]; l_gid16_t * sgid; char sgid_r_[PADR_(l_gid16_t *)];
 };
 struct linux_prctl_args {
-	register_t dummy;
+	char option_l_[PADL_(l_int)]; l_int option; char option_r_[PADR_(l_int)];
+	char arg2_l_[PADL_(l_int)]; l_int arg2; char arg2_r_[PADR_(l_int)];
+	char arg3_l_[PADL_(l_int)]; l_int arg3; char arg3_r_[PADR_(l_int)];
+	char arg4_l_[PADL_(l_int)]; l_int arg4; char arg4_r_[PADR_(l_int)];
+	char arg5_l_[PADL_(l_int)]; l_int arg5; char arg5_r_[PADR_(l_int)];
 };
 struct linux_rt_sigreturn_args {
 	char ucp_l_[PADL_(struct l_ucontext *)]; struct l_ucontext * ucp; char ucp_r_[PADR_(struct l_ucontext *)];
@@ -724,30 +728,6 @@
 	char uaddr2_l_[PADL_(void *)]; void * uaddr2; char uaddr2_r_[PADR_(void *)];
 	char val3_l_[PADL_(int)]; int val3; char val3_r_[PADR_(int)];
 };
-struct linux_io_setup_args {
-	char nr_reqs_l_[PADL_(l_uint)]; l_uint nr_reqs; char nr_reqs_r_[PADR_(l_uint)];
-	char ctxp_l_[PADL_(linux_aio_context_t *)]; linux_aio_context_t * ctxp; char ctxp_r_[PADR_(linux_aio_context_t *)];
-};
-struct linux_io_destroy_args {
-	char ctx_l_[PADL_(linux_aio_context_t)]; linux_aio_context_t ctx; char ctx_r_[PADR_(linux_aio_context_t)];
-};
-struct linux_io_getevents_args {
-	char ctx_id_l_[PADL_(linux_aio_context_t)]; linux_aio_context_t ctx_id; char ctx_id_r_[PADR_(linux_aio_context_t)];
-	char min_nr_l_[PADL_(l_long)]; l_long min_nr; char min_nr_r_[PADR_(l_long)];
-	char nr_l_[PADL_(l_long)]; l_long nr; char nr_r_[PADR_(l_long)];
-	char events_l_[PADL_(struct linux_io_event *)]; struct linux_io_event * events; char events_r_[PADR_(struct linux_io_event *)];
-	char timeout_l_[PADL_(struct l_timespec *)]; struct l_timespec * timeout; char timeout_r_[PADR_(struct l_timespec *)];
-};
-struct linux_io_submit_args {
-	char ctx_id_l_[PADL_(linux_aio_context_t)]; linux_aio_context_t ctx_id; char ctx_id_r_[PADR_(linux_aio_context_t)];
-	char nr_l_[PADL_(l_long)]; l_long nr; char nr_r_[PADR_(l_long)];
-	char iocbpp_l_[PADL_(struct linux_iocb **)]; struct linux_iocb ** iocbpp; char iocbpp_r_[PADR_(struct linux_iocb **)];
-};
-struct linux_io_cancel_args {
-	char ctx_id_l_[PADL_(linux_aio_context_t)]; linux_aio_context_t ctx_id; char ctx_id_r_[PADR_(linux_aio_context_t)];
-	char iocb_l_[PADL_(struct linux_iocb *)]; struct linux_iocb * iocb; char iocb_r_[PADR_(struct linux_iocb *)];
-	char result_l_[PADL_(struct linux_io_event *)]; struct linux_io_event * result; char result_r_[PADR_(struct linux_io_event *)];
-};
 struct linux_fadvise64_args {
 	register_t dummy;
 };
@@ -1105,11 +1085,6 @@
 int	linux_fremovexattr(struct thread *, struct linux_fremovexattr_args *);
 int	linux_tkill(struct thread *, struct linux_tkill_args *);
 int	linux_sys_futex(struct thread *, struct linux_sys_futex_args *);
-int	linux_io_setup(struct thread *, struct linux_io_setup_args *);
-int	linux_io_destroy(struct thread *, struct linux_io_destroy_args *);
-int	linux_io_getevents(struct thread *, struct linux_io_getevents_args *);
-int	linux_io_submit(struct thread *, struct linux_io_submit_args *);
-int	linux_io_cancel(struct thread *, struct linux_io_cancel_args *);
 int	linux_fadvise64(struct thread *, struct linux_fadvise64_args *);
 int	linux_exit_group(struct thread *, struct linux_exit_group_args *);
 int	linux_lookup_dcookie(struct thread *, struct linux_lookup_dcookie_args *);
@@ -1355,11 +1330,6 @@
 #define	LINUX_SYS_AUE_linux_fremovexattr	AUE_NULL
 #define	LINUX_SYS_AUE_linux_tkill	AUE_NULL
 #define	LINUX_SYS_AUE_linux_sys_futex	AUE_NULL
-#define	LINUX_SYS_AUE_linux_io_setup	AUE_NULL
-#define	LINUX_SYS_AUE_linux_io_destroy	AUE_NULL
-#define	LINUX_SYS_AUE_linux_io_getevents	AUE_NULL
-#define	LINUX_SYS_AUE_linux_io_submit	AUE_NULL
-#define	LINUX_SYS_AUE_linux_io_cancel	AUE_NULL
 #define	LINUX_SYS_AUE_linux_fadvise64	AUE_NULL
 #define	LINUX_SYS_AUE_linux_exit_group	AUE_EXIT
 #define	LINUX_SYS_AUE_linux_lookup_dcookie	AUE_NULL

==== //depot/projects/newisp/amd64/linux32/linux32_syscall.h#4 (text+ko) ====

@@ -2,8 +2,8 @@
  * System call numbers.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/amd64/linux32/linux32_syscall.h,v 1.23 2006/10/15 14:24:09 netchild Exp $
- * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.21 2006/10/15 14:22:12 netchild Exp 
+ * $FreeBSD: src/sys/amd64/linux32/linux32_syscall.h,v 1.25 2006/10/29 14:12:44 netchild Exp $
+ * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.23 2006/10/29 14:02:38 netchild Exp 
  */
 
 #define	LINUX_SYS_exit	1
@@ -221,11 +221,6 @@
 #define	LINUX_SYS_linux_fremovexattr	237
 #define	LINUX_SYS_linux_tkill	238
 #define	LINUX_SYS_linux_sys_futex	240
-#define	LINUX_SYS_linux_io_setup	245
-#define	LINUX_SYS_linux_io_destroy	246
-#define	LINUX_SYS_linux_io_getevents	247
-#define	LINUX_SYS_linux_io_submit	248
-#define	LINUX_SYS_linux_io_cancel	249
 #define	LINUX_SYS_linux_fadvise64	250
 #define	LINUX_SYS_linux_exit_group	252
 #define	LINUX_SYS_linux_lookup_dcookie	253

==== //depot/projects/newisp/amd64/linux32/linux32_sysent.c#4 (text+ko) ====

@@ -2,8 +2,8 @@
  * System call switch table.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/amd64/linux32/linux32_sysent.c,v 1.23 2006/10/15 14:24:09 netchild Exp $
- * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.21 2006/10/15 14:22:12 netchild Exp 
+ * $FreeBSD: src/sys/amd64/linux32/linux32_sysent.c,v 1.25 2006/10/29 14:12:44 netchild Exp $
+ * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.23 2006/10/29 14:02:38 netchild Exp 
  */
 
 #include <bsm/audit_kevents.h>
@@ -192,7 +192,7 @@
 	{ 0, (sy_call_t *)linux_nfsservctl, AUE_NULL, NULL, 0, 0 },	/* 169 = linux_nfsservctl */
 	{ AS(linux_setresgid16_args), (sy_call_t *)linux_setresgid16, AUE_SETRESGID, NULL, 0, 0 },	/* 170 = linux_setresgid16 */
 	{ AS(linux_getresgid16_args), (sy_call_t *)linux_getresgid16, AUE_GETRESGID, NULL, 0, 0 },	/* 171 = linux_getresgid16 */
-	{ 0, (sy_call_t *)linux_prctl, AUE_PRCTL, NULL, 0, 0 },	/* 172 = linux_prctl */
+	{ AS(linux_prctl_args), (sy_call_t *)linux_prctl, AUE_PRCTL, NULL, 0, 0 },	/* 172 = linux_prctl */
 	{ AS(linux_rt_sigreturn_args), (sy_call_t *)linux_rt_sigreturn, AUE_NULL, NULL, 0, 0 },	/* 173 = linux_rt_sigreturn */
 	{ AS(linux_rt_sigaction_args), (sy_call_t *)linux_rt_sigaction, AUE_NULL, NULL, 0, 0 },	/* 174 = linux_rt_sigaction */
 	{ AS(linux_rt_sigprocmask_args), (sy_call_t *)linux_rt_sigprocmask, AUE_NULL, NULL, 0, 0 },	/* 175 = linux_rt_sigprocmask */
@@ -265,11 +265,11 @@
 	{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 },			/* 242 = linux_sched_getaffinity */
 	{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 },			/* 243 = linux_set_thread_area */
 	{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 },			/* 244 = linux_get_thread_area */
-	{ AS(linux_io_setup_args), (sy_call_t *)linux_io_setup, AUE_NULL, NULL, 0, 0 },	/* 245 = linux_io_setup */
-	{ AS(linux_io_destroy_args), (sy_call_t *)linux_io_destroy, AUE_NULL, NULL, 0, 0 },	/* 246 = linux_io_destroy */
-	{ AS(linux_io_getevents_args), (sy_call_t *)linux_io_getevents, AUE_NULL, NULL, 0, 0 },	/* 247 = linux_io_getevents */
-	{ AS(linux_io_submit_args), (sy_call_t *)linux_io_submit, AUE_NULL, NULL, 0, 0 },	/* 248 = linux_io_submit */
-	{ AS(linux_io_cancel_args), (sy_call_t *)linux_io_cancel, AUE_NULL, NULL, 0, 0 },	/* 249 = linux_io_cancel */
+	{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 },			/* 245 = linux_io_setup */
+	{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 },			/* 246 = linux_io_destroy */
+	{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 },			/* 247 = linux_io_getevents */
+	{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 },			/* 248 = inux_io_submit */
+	{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 },			/* 249 = linux_io_cancel */
 	{ 0, (sy_call_t *)linux_fadvise64, AUE_NULL, NULL, 0, 0 },	/* 250 = linux_fadvise64 */
 	{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 },			/* 251 =  */
 	{ AS(linux_exit_group_args), (sy_call_t *)linux_exit_group, AUE_EXIT, NULL, 0, 0 },	/* 252 = linux_exit_group */

==== //depot/projects/newisp/amd64/linux32/syscalls.master#4 (text+ko) ====

@@ -1,4 +1,4 @@
- $FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.21 2006/10/15 14:22:12 netchild Exp $
+ $FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.23 2006/10/29 14:02:38 netchild Exp $
 
 ;	@(#)syscalls.master	8.1 (Berkeley) 7/19/93
 ; System call name/number master file (or rather, slave, from LINUX).
@@ -298,7 +298,8 @@
 				    l_gid16_t egid, l_gid16_t sgid); }
 171	AUE_GETRESGID	STD	{ int linux_getresgid16(l_gid16_t *rgid, \
 				    l_gid16_t *egid, l_gid16_t *sgid); }
-172	AUE_PRCTL	STD	{ int linux_prctl(void); }
+172	AUE_PRCTL	STD	{ int linux_prctl(l_int option, l_int arg2, l_int arg3, \
+				    l_int arg4, l_int arg5); }
 173	AUE_NULL	STD	{ int linux_rt_sigreturn( \
 				    struct l_ucontext *ucp); }
 174	AUE_NULL	STD	{ int linux_rt_sigaction(l_int sig, \
@@ -406,11 +407,11 @@
 242	AUE_NULL	UNIMPL	linux_sched_getaffinity
 243	AUE_NULL	UNIMPL	linux_set_thread_area
 244	AUE_NULL	UNIMPL	linux_get_thread_area
-245	AUE_NULL	STD	{ int linux_io_setup(l_uint nr_reqs, linux_aio_context_t *ctxp); }
-246	AUE_NULL	STD	{ int linux_io_destroy(linux_aio_context_t ctx); }
-247	AUE_NULL	STD	{ int linux_io_getevents(linux_aio_context_t ctx_id, l_long min_nr, l_long nr, struct linux_io_event *events, struct l_timespec *timeout); }
-248	AUE_NULL	STD	{ int linux_io_submit(linux_aio_context_t ctx_id, l_long nr, struct linux_iocb **iocbpp); }
-249	AUE_NULL	STD	{ int linux_io_cancel(linux_aio_context_t ctx_id, struct linux_iocb *iocb, struct linux_io_event *result); }
+245	AUE_NULL	UNIMPL	linux_io_setup
+246	AUE_NULL	UNIMPL	linux_io_destroy
+247	AUE_NULL	UNIMPL	linux_io_getevents
+248	AUE_NULL	UNIMPL	inux_io_submit
+249	AUE_NULL	UNIMPL	linux_io_cancel
 250	AUE_NULL	STD	{ int linux_fadvise64(void); }
 251	AUE_NULL	UNIMPL
 252	AUE_EXIT	STD	{ int linux_exit_group(int error_code); }

==== //depot/projects/newisp/arm/arm/elf_trampoline.c#3 (text+ko) ====

@@ -23,8 +23,9 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/elf_trampoline.c,v 1.14 2006/10/21 04:25:00 kevlo Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/elf_trampoline.c,v 1.15 2006/10/30 23:23:00 cognet Exp $");
 #include <machine/asm.h>
+#include <sys/types.h>
 #include <sys/elf32.h>
 #include <sys/param.h>
 #include <sys/inflate.h>

==== //depot/projects/newisp/arm/arm/nexus.c#2 (text+ko) ====

@@ -40,7 +40,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/nexus.c,v 1.7 2006/04/20 04:12:02 imp Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/nexus.c,v 1.9 2006/10/25 21:11:46 cognet Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -127,8 +127,11 @@
 nexus_setup_intr(device_t dev, device_t child, struct resource *res, int flags,
     driver_intr_t *intr, void *arg, void **cookiep)
 {
-	arm_setup_irqhandler(device_get_nameunit(child), 
-	    intr, arg, rman_get_start(res), flags, cookiep);
+	int i;
+
+	for (i = rman_get_start(res); i <= rman_get_end(res); i++)
+		arm_setup_irqhandler(device_get_nameunit(child), 
+		    intr, arg, i, flags, cookiep);
 	return (0);
 }
 
@@ -136,8 +139,10 @@
 nexus_teardown_intr(device_t dev, device_t child, struct resource *r, void *ih)
 {
 	int error;
+	int i;
 
-	arm_mask_irq(rman_get_start(r));
+	for (i = rman_get_start(r); i <= rman_get_end(r); i++)
+		arm_mask_irq(rman_get_start(r));
 	error = arm_remove_irqhandler(ih);
 	return (error);
 }

==== //depot/projects/newisp/arm/arm/trap.c#5 (text+ko) ====

@@ -82,7 +82,7 @@
 #include "opt_ktrace.h"
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/trap.c,v 1.31 2006/10/21 04:25:00 kevlo Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/trap.c,v 1.32 2006/10/26 21:42:16 jb Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -263,8 +263,10 @@
 		td->td_frame = tf;		
 		if (td->td_ucred != td->td_proc->p_ucred)
 			cred_update_thread(td);
+#ifdef KSE
 		if (td->td_pflags & TDP_SA)
 			thread_user_enter(td);
+#endif
 		
 	}
 	/* Grab the current pcb */
@@ -730,8 +732,10 @@
 		td->td_frame = tf;
 		if (td->td_ucred != td->td_proc->p_ucred)
 			cred_update_thread(td);
+#ifdef KSE
 		if (td->td_proc->p_flag & P_SA)
 			thread_user_enter(td);
+#endif
 	}
 	fault_pc = tf->tf_pc;
 	if (td->td_md.md_spinlock_count == 0) {
@@ -1005,8 +1009,10 @@
 	td->td_frame = frame;
 	
 	td->td_pticks = 0;
+#ifdef KSE
 	if (td->td_proc->p_flag & P_SA)
 		thread_user_enter(td);
+#endif
 	/*
       	 * Make sure the program counter is correctly aligned so we
 	 * don't take an alignment fault trying to read the opcode.

==== //depot/projects/newisp/arm/arm/vm_machdep.c#2 (text+ko) ====

@@ -41,7 +41,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/vm_machdep.c,v 1.27 2006/08/08 20:59:38 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/vm_machdep.c,v 1.28 2006/10/24 23:27:52 cognet Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -465,13 +465,13 @@
 	vm_offset_t addr = alloc_firstaddr;
 
 	KASSERT(alloc_firstaddr != 0, ("arm_ptovirt called to early ?"));
-	for (i = 0; dump_avail[i]; i += 2) {
+	for (i = 0; dump_avail[i + 1]; i += 2) {
 		if (pa >= dump_avail[i] && pa < dump_avail[i + 1])
 			break;
 		addr += (dump_avail[i + 1] & L1_S_FRAME) + L1_S_SIZE -
 		    (dump_avail[i] & L1_S_FRAME);
 	}
-	KASSERT(dump_avail[i] != 0, ("Trying to access invalid physical address"));
+	KASSERT(dump_avail[i + 1] != 0, ("Trying to access invalid physical address"));
 	return (addr + (pa - (dump_avail[i] & L1_S_FRAME)));
 }
 
@@ -487,12 +487,12 @@
 	 * to be able to do a pa => va association for any address.
 	 */
 	   
-	for (i = 0; dump_avail[i]; i+= 2) {
+	for (i = 0; dump_avail[i + 1]; i+= 2) {
 		to_map += (dump_avail[i + 1] & L1_S_FRAME) + L1_S_SIZE -
 		    (dump_avail[i] & L1_S_FRAME);
 	}
 	alloc_firstaddr = mapaddr = KERNBASE - to_map;
-	for (i = 0; dump_avail[i]; i+= 2) {
+	for (i = 0; dump_avail[i + 1]; i+= 2) {
 		vm_offset_t size = (dump_avail[i + 1] & L1_S_FRAME) +
 		    L1_S_SIZE - (dump_avail[i] & L1_S_FRAME);
 		vm_offset_t did = 0;

==== //depot/projects/newisp/arm/at91/at91_sscreg.h#3 (text) ====

@@ -22,7 +22,7 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-/* $FreeBSD: src/sys/arm/at91/at91_sscreg.h,v 1.2 2006/10/20 07:08:15 imp Exp $ */
+/* $FreeBSD: src/sys/arm/at91/at91_sscreg.h,v 1.3 2006/10/25 07:58:18 imp Exp $ */
 
 #ifndef ARM_AT91_AT91_SSCREG_H
 #define ARM_AT91_AT91_SSCREG_H
@@ -132,4 +132,18 @@
 #define	SSC_TFMR_DATDEF	(1u << 5)	/* DATDEF: Data Default Value */
 #define	SSC_TFMR_DATLEN	(0x1fu << 0)	/* DATLEN: Data Length */
 
+/* SSC_SR */
+#define	SSC_SR_TXRDY	(1u << 0)
+#define	SSC_SR_TXEMPTY	(1u << 1)
+#define	SSC_SR_ENDTX	(1u << 2)
+#define	SSC_SR_TXBUFE	(1u << 3)
+#define	SSC_SR_RXRDY	(1u << 4)
+#define	SSC_SR_OVRUN	(1u << 5)

>>> TRUNCATED FOR MAIL (1000 lines) <<<


More information about the p4-projects mailing list