Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 13 Apr 2010 23:54:40 +0000 (UTC)
From:      Marcel Moolenaar <marcel@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r206572 - in projects/altix/sys: amd64/amd64 amd64/ia32 amd64/include arm/include boot/i386/efi cam/scsi compat/ia32 compat/linprocfs conf contrib/dev/acpica contrib/dev/acpica/common c...
Message-ID:  <201004132354.o3DNsexU002253@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: marcel
Date: Tue Apr 13 23:54:40 2010
New Revision: 206572
URL: http://svn.freebsd.org/changeset/base/206572

Log:
  Merge svn+ssh://svn.freebsd.org/base/head@206571

Added:
  projects/altix/sys/boot/i386/efi/
     - copied from r206571, head/sys/boot/i386/efi/
  projects/altix/sys/contrib/dev/iwn/iwlwifi-6000-9.193.4.1.fw.uu
     - copied unchanged from r206571, head/sys/contrib/dev/iwn/iwlwifi-6000-9.193.4.1.fw.uu
  projects/altix/sys/dev/hwpmc/hwpmc_uncore.c
     - copied unchanged from r206571, head/sys/dev/hwpmc/hwpmc_uncore.c
  projects/altix/sys/dev/hwpmc/hwpmc_uncore.h
     - copied unchanged from r206571, head/sys/dev/hwpmc/hwpmc_uncore.h
  projects/altix/sys/dev/syscons/logo/beastie.c
     - copied unchanged from r206571, head/sys/dev/syscons/logo/beastie.c
  projects/altix/sys/geom/sched/
     - copied from r206571, head/sys/geom/sched/
  projects/altix/sys/modules/geom/geom_sched/
     - copied from r206571, head/sys/modules/geom/geom_sched/
  projects/altix/sys/modules/syscons/beastie/
     - copied from r206571, head/sys/modules/syscons/beastie/
  projects/altix/sys/net80211/ieee80211_ratectl.c
     - copied unchanged from r206571, head/sys/net80211/ieee80211_ratectl.c
  projects/altix/sys/net80211/ieee80211_ratectl.h
     - copied unchanged from r206571, head/sys/net80211/ieee80211_ratectl.h
  projects/altix/sys/sparc64/pci/sbbc.c
     - copied unchanged from r206571, head/sys/sparc64/pci/sbbc.c
Deleted:
  projects/altix/sys/contrib/dev/iwn/iwlwifi-6000-9.176.4.1.fw.uu
Modified:
  projects/altix/sys/amd64/amd64/exception.S
  projects/altix/sys/amd64/amd64/machdep.c
  projects/altix/sys/amd64/amd64/trap.c
  projects/altix/sys/amd64/ia32/ia32_signal.c
  projects/altix/sys/amd64/include/md_var.h
  projects/altix/sys/amd64/include/pmc_mdep.h
  projects/altix/sys/arm/include/bus.h
  projects/altix/sys/cam/scsi/scsi_da.c
  projects/altix/sys/compat/ia32/ia32_signal.h
  projects/altix/sys/compat/linprocfs/linprocfs.c
  projects/altix/sys/conf/files
  projects/altix/sys/conf/files.amd64
  projects/altix/sys/conf/files.i386
  projects/altix/sys/conf/files.pc98
  projects/altix/sys/conf/files.sparc64
  projects/altix/sys/conf/kern.mk
  projects/altix/sys/conf/kern.post.mk
  projects/altix/sys/conf/kern.pre.mk
  projects/altix/sys/conf/kmod.mk
  projects/altix/sys/contrib/dev/acpica/changes.txt
  projects/altix/sys/contrib/dev/acpica/common/dmextern.c
  projects/altix/sys/contrib/dev/acpica/compiler/aslanalyze.c
  projects/altix/sys/contrib/dev/acpica/compiler/aslcompiler.h
  projects/altix/sys/contrib/dev/acpica/compiler/aslpredef.c
  projects/altix/sys/contrib/dev/acpica/compiler/aslstubs.c
  projects/altix/sys/contrib/dev/acpica/compiler/asltypes.h
  projects/altix/sys/contrib/dev/acpica/debugger/dbdisply.c
  projects/altix/sys/contrib/dev/acpica/events/evgpe.c
  projects/altix/sys/contrib/dev/acpica/events/evgpeblk.c
  projects/altix/sys/contrib/dev/acpica/events/evxface.c
  projects/altix/sys/contrib/dev/acpica/events/evxfevnt.c
  projects/altix/sys/contrib/dev/acpica/executer/exdebug.c
  projects/altix/sys/contrib/dev/acpica/executer/exmutex.c
  projects/altix/sys/contrib/dev/acpica/executer/exoparg2.c
  projects/altix/sys/contrib/dev/acpica/executer/exregion.c
  projects/altix/sys/contrib/dev/acpica/include/acevents.h
  projects/altix/sys/contrib/dev/acpica/include/acexcep.h
  projects/altix/sys/contrib/dev/acpica/include/acglobal.h
  projects/altix/sys/contrib/dev/acpica/include/aclocal.h
  projects/altix/sys/contrib/dev/acpica/include/acpixf.h
  projects/altix/sys/contrib/dev/acpica/include/actables.h
  projects/altix/sys/contrib/dev/acpica/include/actypes.h
  projects/altix/sys/contrib/dev/acpica/include/platform/acfreebsd.h
  projects/altix/sys/contrib/dev/acpica/parser/psxface.c
  projects/altix/sys/contrib/dev/acpica/tables/tbutils.c
  projects/altix/sys/contrib/dev/acpica/tables/tbxface.c
  projects/altix/sys/contrib/dev/acpica/utilities/utglobal.c
  projects/altix/sys/contrib/dev/iwn/LICENSE
  projects/altix/sys/dev/aac/aac.c
  projects/altix/sys/dev/aac/aac_cam.c
  projects/altix/sys/dev/aac/aac_debug.c
  projects/altix/sys/dev/aac/aac_disk.c
  projects/altix/sys/dev/aac/aac_pci.c
  projects/altix/sys/dev/aac/aac_tables.h
  projects/altix/sys/dev/aac/aacreg.h
  projects/altix/sys/dev/aac/aacvar.h
  projects/altix/sys/dev/acpica/acpi.c
  projects/altix/sys/dev/acpica/acpi_button.c
  projects/altix/sys/dev/acpica/acpi_ec.c
  projects/altix/sys/dev/acpica/acpi_lid.c
  projects/altix/sys/dev/acpica/acpivar.h
  projects/altix/sys/dev/ath/ath_hal/ar5416/ar9285_attach.c
  projects/altix/sys/dev/ath/if_ath.c
  projects/altix/sys/dev/bce/if_bce.c
  projects/altix/sys/dev/bce/if_bcereg.h
  projects/altix/sys/dev/bwi/if_bwi.c
  projects/altix/sys/dev/bwi/if_bwivar.h
  projects/altix/sys/dev/bwn/if_bwn.c
  projects/altix/sys/dev/bwn/if_bwnvar.h
  projects/altix/sys/dev/cxgb/cxgb_adapter.h
  projects/altix/sys/dev/cxgb/cxgb_main.c
  projects/altix/sys/dev/cxgb/cxgb_sge.c
  projects/altix/sys/dev/e1000/if_em.c
  projects/altix/sys/dev/e1000/if_em.h
  projects/altix/sys/dev/e1000/if_igb.c
  projects/altix/sys/dev/fb/vesa.c
  projects/altix/sys/dev/hwpmc/hwpmc_core.c
  projects/altix/sys/dev/hwpmc/hwpmc_core.h
  projects/altix/sys/dev/hwpmc/hwpmc_intel.c
  projects/altix/sys/dev/hwpmc/pmc_events.h
  projects/altix/sys/dev/iwn/if_iwn.c
  projects/altix/sys/dev/iwn/if_iwnreg.h
  projects/altix/sys/dev/iwn/if_iwnvar.h
  projects/altix/sys/dev/mii/miidevs
  projects/altix/sys/dev/mii/truephy.c
  projects/altix/sys/dev/msk/if_msk.c
  projects/altix/sys/dev/ofw/ofw_standard.c
  projects/altix/sys/dev/ral/rt2560.c
  projects/altix/sys/dev/ral/rt2560var.h
  projects/altix/sys/dev/ral/rt2661.c
  projects/altix/sys/dev/ral/rt2661var.h
  projects/altix/sys/dev/re/if_re.c
  projects/altix/sys/dev/syscons/logo/logo.c
  projects/altix/sys/dev/syscons/logo/logo_saver.c
  projects/altix/sys/dev/uart/uart.h
  projects/altix/sys/dev/uart/uart_cpu_sparc64.c
  projects/altix/sys/dev/usb/serial/u3g.c
  projects/altix/sys/dev/usb/usbdevs
  projects/altix/sys/dev/usb/wlan/if_rum.c
  projects/altix/sys/dev/usb/wlan/if_rumvar.h
  projects/altix/sys/dev/usb/wlan/if_run.c
  projects/altix/sys/dev/usb/wlan/if_runvar.h
  projects/altix/sys/dev/usb/wlan/if_ural.c
  projects/altix/sys/dev/usb/wlan/if_uralvar.h
  projects/altix/sys/dev/usb/wlan/if_zyd.c
  projects/altix/sys/dev/usb/wlan/if_zydreg.h
  projects/altix/sys/dev/wpi/if_wpi.c
  projects/altix/sys/dev/wpi/if_wpivar.h
  projects/altix/sys/fs/coda/cnode.h
  projects/altix/sys/fs/coda/coda.h
  projects/altix/sys/fs/coda/coda_subr.c
  projects/altix/sys/fs/coda/coda_subr.h
  projects/altix/sys/fs/coda/coda_venus.c
  projects/altix/sys/fs/coda/coda_venus.h
  projects/altix/sys/fs/coda/coda_vfsops.c
  projects/altix/sys/fs/coda/coda_vfsops.h
  projects/altix/sys/fs/coda/coda_vnops.c
  projects/altix/sys/fs/deadfs/dead_vnops.c
  projects/altix/sys/fs/devfs/devfs_devs.c
  projects/altix/sys/fs/devfs/devfs_int.h
  projects/altix/sys/fs/msdosfs/msdosfs_vfsops.c
  projects/altix/sys/fs/nfsserver/nfs_nfsdport.c
  projects/altix/sys/fs/nfsserver/nfs_nfsdserv.c
  projects/altix/sys/fs/nwfs/nwfs.h
  projects/altix/sys/fs/nwfs/nwfs_io.c
  projects/altix/sys/fs/nwfs/nwfs_ioctl.c
  projects/altix/sys/fs/nwfs/nwfs_mount.h
  projects/altix/sys/fs/nwfs/nwfs_node.c
  projects/altix/sys/fs/nwfs/nwfs_node.h
  projects/altix/sys/fs/nwfs/nwfs_subr.c
  projects/altix/sys/fs/nwfs/nwfs_subr.h
  projects/altix/sys/fs/nwfs/nwfs_vfsops.c
  projects/altix/sys/fs/nwfs/nwfs_vnops.c
  projects/altix/sys/fs/smbfs/smbfs.h
  projects/altix/sys/fs/smbfs/smbfs_io.c
  projects/altix/sys/fs/smbfs/smbfs_node.c
  projects/altix/sys/fs/smbfs/smbfs_node.h
  projects/altix/sys/fs/smbfs/smbfs_smb.c
  projects/altix/sys/fs/smbfs/smbfs_subr.c
  projects/altix/sys/fs/smbfs/smbfs_subr.h
  projects/altix/sys/fs/smbfs/smbfs_vfsops.c
  projects/altix/sys/fs/smbfs/smbfs_vnops.c
  projects/altix/sys/geom/geom_vfs.c
  projects/altix/sys/i386/i386/machdep.c
  projects/altix/sys/i386/i386/mpboot.s
  projects/altix/sys/i386/i386/trap.c
  projects/altix/sys/i386/include/bootinfo.h
  projects/altix/sys/i386/include/pmc_mdep.h
  projects/altix/sys/ia64/ia64/mca.c
  projects/altix/sys/ia64/ia64/mp_machdep.c
  projects/altix/sys/ia64/include/mca.h
  projects/altix/sys/ia64/include/pal.h
  projects/altix/sys/kern/init_main.c
  projects/altix/sys/kern/kern_clock.c
  projects/altix/sys/kern/kern_sig.c
  projects/altix/sys/kern/tty_pts.c
  projects/altix/sys/kern/vfs_bio.c
  projects/altix/sys/kern/vfs_default.c
  projects/altix/sys/kern/vfs_subr.c
  projects/altix/sys/kern/vfs_syscalls.c
  projects/altix/sys/kern/vfs_vnops.c
  projects/altix/sys/libkern/iconv.c
  projects/altix/sys/libkern/iconv_converter_if.m
  projects/altix/sys/libkern/iconv_xlat.c
  projects/altix/sys/libkern/strcasecmp.c
  projects/altix/sys/mips/atheros/if_arge.c
  projects/altix/sys/mips/include/bus.h
  projects/altix/sys/mips/mips/busdma_machdep.c
  projects/altix/sys/modules/Makefile
  projects/altix/sys/modules/dummynet/Makefile
  projects/altix/sys/modules/geom/Makefile
  projects/altix/sys/modules/hwpmc/Makefile
  projects/altix/sys/modules/iwnfw/iwn6000/Makefile
  projects/altix/sys/modules/syscons/Makefile
  projects/altix/sys/modules/uart/Makefile
  projects/altix/sys/modules/wlan/Makefile
  projects/altix/sys/net/if.c
  projects/altix/sys/net/if_clone.c
  projects/altix/sys/net/if_llatbl.c
  projects/altix/sys/net80211/ieee80211.c
  projects/altix/sys/net80211/ieee80211_amrr.c
  projects/altix/sys/net80211/ieee80211_amrr.h
  projects/altix/sys/net80211/ieee80211_crypto_ccmp.c
  projects/altix/sys/net80211/ieee80211_crypto_tkip.c
  projects/altix/sys/net80211/ieee80211_freebsd.h
  projects/altix/sys/net80211/ieee80211_ioctl.c
  projects/altix/sys/net80211/ieee80211_node.c
  projects/altix/sys/net80211/ieee80211_node.h
  projects/altix/sys/net80211/ieee80211_rssadapt.c
  projects/altix/sys/net80211/ieee80211_rssadapt.h
  projects/altix/sys/net80211/ieee80211_var.h
  projects/altix/sys/netgraph/ng_pipe.c
  projects/altix/sys/netgraph/ng_pipe.h
  projects/altix/sys/netinet/if_ether.c
  projects/altix/sys/netinet/in.c
  projects/altix/sys/netinet/in_mcast.c
  projects/altix/sys/netinet/ipfw/ip_dn_glue.c
  projects/altix/sys/netinet/ipfw/ip_dn_io.c
  projects/altix/sys/netinet/ipfw/ip_dn_private.h
  projects/altix/sys/netinet/ipfw/ip_dummynet.c
  projects/altix/sys/netinet/ipfw/ip_fw_sockopt.c
  projects/altix/sys/netinet/sctp_asconf.c
  projects/altix/sys/netinet/sctp_constants.h
  projects/altix/sys/netinet/sctp_indata.c
  projects/altix/sys/netinet/sctp_indata.h
  projects/altix/sys/netinet/sctp_input.c
  projects/altix/sys/netinet/sctp_output.c
  projects/altix/sys/netinet/sctp_output.h
  projects/altix/sys/netinet/sctp_pcb.c
  projects/altix/sys/netinet/sctp_pcb.h
  projects/altix/sys/netinet/sctp_structs.h
  projects/altix/sys/netinet/sctp_usrreq.c
  projects/altix/sys/netinet/sctp_var.h
  projects/altix/sys/netinet/sctputil.c
  projects/altix/sys/netinet/sctputil.h
  projects/altix/sys/netinet/tcp_input.c
  projects/altix/sys/netinet6/in6.c
  projects/altix/sys/netinet6/mld6.c
  projects/altix/sys/netinet6/nd6.c
  projects/altix/sys/netinet6/sctp6_usrreq.c
  projects/altix/sys/netipsec/ipsec.c
  projects/altix/sys/netncp/ncp_conn.c
  projects/altix/sys/netncp/ncp_conn.h
  projects/altix/sys/netncp/ncp_file.h
  projects/altix/sys/netncp/ncp_lib.h
  projects/altix/sys/netncp/ncp_login.c
  projects/altix/sys/netncp/ncp_ncp.c
  projects/altix/sys/netncp/ncp_ncp.h
  projects/altix/sys/netncp/ncp_nls.c
  projects/altix/sys/netncp/ncp_nls.h
  projects/altix/sys/netncp/ncp_rcfile.h
  projects/altix/sys/netncp/ncp_rq.c
  projects/altix/sys/netncp/ncp_rq.h
  projects/altix/sys/netncp/ncp_sock.c
  projects/altix/sys/netncp/ncp_sock.h
  projects/altix/sys/netncp/ncp_subr.c
  projects/altix/sys/netncp/ncp_subr.h
  projects/altix/sys/netncp/ncp_user.h
  projects/altix/sys/netsmb/netbios.h
  projects/altix/sys/netsmb/smb.h
  projects/altix/sys/netsmb/smb_conn.c
  projects/altix/sys/netsmb/smb_conn.h
  projects/altix/sys/netsmb/smb_dev.c
  projects/altix/sys/netsmb/smb_dev.h
  projects/altix/sys/netsmb/smb_iod.c
  projects/altix/sys/netsmb/smb_rq.c
  projects/altix/sys/netsmb/smb_rq.h
  projects/altix/sys/netsmb/smb_smb.c
  projects/altix/sys/netsmb/smb_subr.c
  projects/altix/sys/netsmb/smb_subr.h
  projects/altix/sys/netsmb/smb_tran.h
  projects/altix/sys/netsmb/smb_trantcp.c
  projects/altix/sys/netsmb/smb_trantcp.h
  projects/altix/sys/netsmb/smb_usr.c
  projects/altix/sys/pc98/cbus/clock.c
  projects/altix/sys/pci/if_rlreg.h
  projects/altix/sys/powerpc/ofw/ofw_real.c
  projects/altix/sys/sparc64/conf/GENERIC
  projects/altix/sys/sparc64/conf/NOTES
  projects/altix/sys/sparc64/include/dcr.h
  projects/altix/sys/sparc64/include/lsu.h
  projects/altix/sys/sparc64/sparc64/ofw_machdep.c
  projects/altix/sys/sparc64/sparc64/trap.c
  projects/altix/sys/sys/iconv.h
  projects/altix/sys/sys/mchain.h
  projects/altix/sys/sys/pmc.h
  projects/altix/sys/sys/proc.h
  projects/altix/sys/sys/vnode.h
  projects/altix/sys/teken/teken.c
  projects/altix/sys/ufs/ffs/ffs_vfsops.c
  projects/altix/sys/vm/memguard.c
  projects/altix/sys/vm/memguard.h
  projects/altix/sys/vm/vm_contig.c
  projects/altix/sys/vm/vm_extern.h
  projects/altix/sys/vm/vm_fault.c
  projects/altix/sys/vm/vm_glue.c
  projects/altix/sys/vm/vm_map.c
  projects/altix/sys/vm/vm_map.h
  projects/altix/sys/vm/vm_page.c
  projects/altix/sys/vm/vm_pageout.c
  projects/altix/sys/x86/isa/clock.c
Directory Properties:
  projects/altix/lib/libstand/   (props changed)
  projects/altix/sys/   (props changed)
  projects/altix/sys/contrib/dev/acpica/   (props changed)
  projects/altix/sys/dev/ath/ath_hal/ar5416/ar9160.ini   (props changed)

Modified: projects/altix/sys/amd64/amd64/exception.S
==============================================================================
--- projects/altix/sys/amd64/amd64/exception.S	Tue Apr 13 22:27:39 2010	(r206571)
+++ projects/altix/sys/amd64/amd64/exception.S	Tue Apr 13 23:54:40 2010	(r206572)
@@ -668,7 +668,8 @@ ld_fs:	movw	%ax,%fs
 	movl	$MSR_FSBASE,%ecx
 	movl	PCB_FSBASE(%r8),%eax
 	movl	PCB_FSBASE+4(%r8),%edx
-	wrmsr
+	.globl	ld_fsbase
+ld_fsbase: wrmsr
 1:
 	/* Restore %gs and gsbase */
 	movw	TF_GS(%rsp),%si
@@ -685,7 +686,8 @@ ld_gs:	movw	%si,%gs
 	movl	$MSR_KGSBASE,%ecx
 	movl	PCB_GSBASE(%r8),%eax
 	movl	PCB_GSBASE+4(%r8),%edx
-	wrmsr
+	.globl	ld_gsbase
+ld_gsbase: wrmsr
 1:	.globl	ld_es
 ld_es:	movw	TF_ES(%rsp),%es
 	.globl	ld_ds
@@ -798,6 +800,30 @@ gs_load_fault:
 	call	trap
 	movw	$KUG32SEL,TF_GS(%rsp)
 	jmp	doreti
+
+	ALIGN_TEXT
+	.globl	fsbase_load_fault
+fsbase_load_fault:
+	movl	$T_PROTFLT,TF_TRAPNO(%rsp)
+	movq	%rsp, %rdi
+	call	trap
+	movq	PCPU(CURTHREAD),%r8
+	movq	TD_PCB(%r8),%r8
+	movq	$0,PCB_FSBASE(%r8)
+	jmp	doreti
+
+	ALIGN_TEXT
+	.globl	gsbase_load_fault
+gsbase_load_fault:
+	popfq
+	movl	$T_PROTFLT,TF_TRAPNO(%rsp)
+	movq	%rsp, %rdi
+	call	trap
+	movq	PCPU(CURTHREAD),%r8
+	movq	TD_PCB(%r8),%r8
+	movq	$0,PCB_GSBASE(%r8)
+	jmp	doreti
+
 #ifdef HWPMC_HOOKS
 	ENTRY(end_exceptions)
 #endif

Modified: projects/altix/sys/amd64/amd64/machdep.c
==============================================================================
--- projects/altix/sys/amd64/amd64/machdep.c	Tue Apr 13 22:27:39 2010	(r206571)
+++ projects/altix/sys/amd64/amd64/machdep.c	Tue Apr 13 23:54:40 2010	(r206572)
@@ -424,13 +424,14 @@ sigreturn(td, uap)
 
 	error = copyin(uap->sigcntxp, &uc, sizeof(uc));
 	if (error != 0) {
-		printf("sigreturn (pid %d): copyin failed\n", p->p_pid);
+		uprintf("pid %d (%s): sigreturn copyin failed\n",
+		    p->p_pid, td->td_name);
 		return (error);
 	}
 	ucp = &uc;
 	if ((ucp->uc_mcontext.mc_flags & ~_MC_FLAG_MASK) != 0) {
-		printf("sigreturn (pid %d): mc_flags %x\n", p->p_pid,
-		    ucp->uc_mcontext.mc_flags);
+		uprintf("pid %d (%s): sigreturn mc_flags %x\n", p->p_pid,
+		    td->td_name, ucp->uc_mcontext.mc_flags);
 		return (EINVAL);
 	}
 	regs = td->td_frame;
@@ -449,8 +450,8 @@ sigreturn(td, uap)
 	 * one less debugger trap, so allowing it is fairly harmless.
 	 */
 	if (!EFL_SECURE(rflags & ~PSL_RF, regs->tf_rflags & ~PSL_RF)) {
-		printf("sigreturn (pid %d): rflags = 0x%lx\n", p->p_pid,
-		    rflags);
+		uprintf("pid %d (%s): sigreturn rflags = 0x%lx\n", p->p_pid,
+		    td->td_name, rflags);
 		return (EINVAL);
 	}
 
@@ -461,7 +462,8 @@ sigreturn(td, uap)
 	 */
 	cs = ucp->uc_mcontext.mc_cs;
 	if (!CS_SECURE(cs)) {
-		printf("sigreturn (pid %d): cs = 0x%x\n", p->p_pid, cs);
+		uprintf("pid %d (%s): sigreturn cs = 0x%x\n", p->p_pid,
+		    td->td_name, cs);
 		ksiginfo_init_trap(&ksi);
 		ksi.ksi_signo = SIGBUS;
 		ksi.ksi_code = BUS_OBJERR;
@@ -473,7 +475,8 @@ sigreturn(td, uap)
 
 	ret = set_fpcontext(td, &ucp->uc_mcontext);
 	if (ret != 0) {
-		printf("sigreturn (pid %d): set_fpcontext\n", p->p_pid);
+		uprintf("pid %d (%s): sigreturn set_fpcontext err %d\n",
+		    p->p_pid, td->td_name, ret);
 		return (ret);
 	}
 	bcopy(&ucp->uc_mcontext.mc_rdi, regs, sizeof(*regs));

Modified: projects/altix/sys/amd64/amd64/trap.c
==============================================================================
--- projects/altix/sys/amd64/amd64/trap.c	Tue Apr 13 22:27:39 2010	(r206571)
+++ projects/altix/sys/amd64/amd64/trap.c	Tue Apr 13 23:54:40 2010	(r206572)
@@ -303,7 +303,7 @@ trap(struct trapframe *frame)
 		 * enabled later.
 		 */
 		if (ISPL(frame->tf_cs) == SEL_UPL)
-			printf(
+			uprintf(
 			    "pid %ld (%s): trap %d with interrupts disabled\n",
 			    (long)curproc->p_pid, curthread->td_name, type);
 		else if (type != T_NMI && type != T_BPTFLT &&
@@ -566,6 +566,14 @@ trap(struct trapframe *frame)
 				frame->tf_gs = _ugssel;
 				goto out;
 			}
+			if (frame->tf_rip == (long)ld_gsbase) {
+				frame->tf_rip = (long)gsbase_load_fault;
+				goto out;
+			}
+			if (frame->tf_rip == (long)ld_fsbase) {
+				frame->tf_rip = (long)fsbase_load_fault;
+				goto out;
+			}
 			if (PCPU_GET(curpcb)->pcb_onfault != NULL) {
 				frame->tf_rip =
 				    (long)PCPU_GET(curpcb)->pcb_onfault;

Modified: projects/altix/sys/amd64/ia32/ia32_signal.c
==============================================================================
--- projects/altix/sys/amd64/ia32/ia32_signal.c	Tue Apr 13 22:27:39 2010	(r206571)
+++ projects/altix/sys/amd64/ia32/ia32_signal.c	Tue Apr 13 23:54:40 2010	(r206572)
@@ -565,7 +565,8 @@ freebsd4_freebsd32_sigreturn(td, uap)
 	 * one less debugger trap, so allowing it is fairly harmless.
 	 */
 	if (!EFL_SECURE(eflags & ~PSL_RF, regs->tf_rflags & ~PSL_RF)) {
-		printf("freebsd4_freebsd32_sigreturn: eflags = 0x%x\n", eflags);
+		uprintf("pid %d (%s): freebsd4_freebsd32_sigreturn eflags = 0x%x\n",
+		    td->td_proc->p_pid, td->td_name, eflags);
 		return (EINVAL);
 	}
 
@@ -576,7 +577,8 @@ freebsd4_freebsd32_sigreturn(td, uap)
 	 */
 	cs = ucp->uc_mcontext.mc_cs;
 	if (!CS_SECURE(cs)) {
-		printf("freebsd4_sigreturn: cs = 0x%x\n", cs);
+		uprintf("pid %d (%s): freebsd4_sigreturn cs = 0x%x\n",
+		    td->td_proc->p_pid, td->td_name, cs);
 		ksiginfo_init_trap(&ksi);
 		ksi.ksi_signo = SIGBUS;
 		ksi.ksi_code = BUS_OBJERR;
@@ -647,7 +649,8 @@ freebsd32_sigreturn(td, uap)
 	 * one less debugger trap, so allowing it is fairly harmless.
 	 */
 	if (!EFL_SECURE(eflags & ~PSL_RF, regs->tf_rflags & ~PSL_RF)) {
-		printf("freebsd32_sigreturn: eflags = 0x%x\n", eflags);
+		uprintf("pid %d (%s): freebsd32_sigreturn eflags = 0x%x\n",
+		    td->td_proc->p_pid, td->td_name, eflags);
 		return (EINVAL);
 	}
 
@@ -658,7 +661,8 @@ freebsd32_sigreturn(td, uap)
 	 */
 	cs = ucp->uc_mcontext.mc_cs;
 	if (!CS_SECURE(cs)) {
-		printf("sigreturn: cs = 0x%x\n", cs);
+		uprintf("pid %d (%s): sigreturn cs = 0x%x\n",
+		    td->td_proc->p_pid, td->td_name, cs);
 		ksiginfo_init_trap(&ksi);
 		ksi.ksi_signo = SIGBUS;
 		ksi.ksi_code = BUS_OBJERR;

Modified: projects/altix/sys/amd64/include/md_var.h
==============================================================================
--- projects/altix/sys/amd64/include/md_var.h	Tue Apr 13 22:27:39 2010	(r206571)
+++ projects/altix/sys/amd64/include/md_var.h	Tue Apr 13 23:54:40 2010	(r206572)
@@ -83,10 +83,14 @@ void	ld_ds(void) __asm(__STRING(ld_ds));
 void	ld_es(void) __asm(__STRING(ld_es));
 void	ld_fs(void) __asm(__STRING(ld_fs));
 void	ld_gs(void) __asm(__STRING(ld_gs));
+void	ld_fsbase(void) __asm(__STRING(ld_fsbase));
+void	ld_gsbase(void) __asm(__STRING(ld_gsbase));
 void	ds_load_fault(void) __asm(__STRING(ds_load_fault));
 void	es_load_fault(void) __asm(__STRING(es_load_fault));
 void	fs_load_fault(void) __asm(__STRING(fs_load_fault));
 void	gs_load_fault(void) __asm(__STRING(gs_load_fault));
+void	fsbase_load_fault(void) __asm(__STRING(fsbase_load_fault));
+void	gsbase_load_fault(void) __asm(__STRING(gsbase_load_fault));
 void	dump_add_page(vm_paddr_t);
 void	dump_drop_page(vm_paddr_t);
 void	initializecpu(void);

Modified: projects/altix/sys/amd64/include/pmc_mdep.h
==============================================================================
--- projects/altix/sys/amd64/include/pmc_mdep.h	Tue Apr 13 22:27:39 2010	(r206571)
+++ projects/altix/sys/amd64/include/pmc_mdep.h	Tue Apr 13 23:54:40 2010	(r206572)
@@ -43,17 +43,20 @@ struct pmc_mdep;
 #include <dev/hwpmc/hwpmc_core.h>
 #include <dev/hwpmc/hwpmc_piv.h>
 #include <dev/hwpmc/hwpmc_tsc.h>
+#include <dev/hwpmc/hwpmc_uncore.h>
 
 /*
  * Intel processors implementing V2 and later of the Intel performance
  * measurement architecture have PMCs of the following classes: TSC,
- * IAF and IAP.
+ * IAF, IAP, UCF and UCP.
  */
 #define	PMC_MDEP_CLASS_INDEX_TSC	0
 #define	PMC_MDEP_CLASS_INDEX_K8		1
 #define	PMC_MDEP_CLASS_INDEX_P4		1
 #define	PMC_MDEP_CLASS_INDEX_IAP	1
 #define	PMC_MDEP_CLASS_INDEX_IAF	2
+#define	PMC_MDEP_CLASS_INDEX_UCP	3
+#define	PMC_MDEP_CLASS_INDEX_UCF	4
 
 /*
  * On the amd64 platform we support the following PMCs.
@@ -63,12 +66,16 @@ struct pmc_mdep;
  * PIV		Intel P4/HTT and P4/EMT64
  * IAP		Intel Core/Core2/Atom CPUs in 64 bits mode.
  * IAF		Intel fixed-function PMCs in Core2 and later CPUs.
+ * UCP		Intel Uncore programmable PMCs.
+ * UCF		Intel Uncore fixed-function PMCs.
  */
 
 union pmc_md_op_pmcallocate  {
 	struct pmc_md_amd_op_pmcallocate	pm_amd;
 	struct pmc_md_iaf_op_pmcallocate	pm_iaf;
 	struct pmc_md_iap_op_pmcallocate	pm_iap;
+	struct pmc_md_ucf_op_pmcallocate	pm_ucf;
+	struct pmc_md_ucp_op_pmcallocate	pm_ucp;
 	struct pmc_md_p4_op_pmcallocate		pm_p4;
 	uint64_t				__pad[4];
 };
@@ -83,6 +90,8 @@ union pmc_md_pmc {
 	struct pmc_md_amd_pmc	pm_amd;
 	struct pmc_md_iaf_pmc	pm_iaf;
 	struct pmc_md_iap_pmc	pm_iap;
+	struct pmc_md_ucf_pmc	pm_ucf;
+	struct pmc_md_ucp_pmc	pm_ucp;
 	struct pmc_md_p4_pmc	pm_p4;
 };
 

Modified: projects/altix/sys/arm/include/bus.h
==============================================================================
--- projects/altix/sys/arm/include/bus.h	Tue Apr 13 22:27:39 2010	(r206571)
+++ projects/altix/sys/arm/include/bus.h	Tue Apr 13 23:54:40 2010	(r206572)
@@ -721,6 +721,8 @@ bs_c_8_proto(f);
 #define BUS_SPACE_MAXSIZE_32BIT	0xFFFFFFFF
 #define BUS_SPACE_MAXSIZE 	0xFFFFFFFF
 
+#define BUS_SPACE_UNRESTRICTED	(~0)
+
 #include <machine/bus_dma.h>
 
 #endif /* _MACHINE_BUS_H_ */

Modified: projects/altix/sys/cam/scsi/scsi_da.c
==============================================================================
--- projects/altix/sys/cam/scsi/scsi_da.c	Tue Apr 13 22:27:39 2010	(r206571)
+++ projects/altix/sys/cam/scsi/scsi_da.c	Tue Apr 13 23:54:40 2010	(r206572)
@@ -997,6 +997,11 @@ dacleanup(struct cam_periph *periph)
 		xpt_print(periph->path, "can't remove sysctl context\n");
 	}
 
+	/*
+	 * Nullify our periph pointer here to try and catch
+	 * race conditions in callbacks/downcalls.
+	 */
+	softc->disk->d_drv1 = NULL;
 	disk_destroy(softc->disk);
 	callout_drain(&softc->sendordered_c);
 	free(softc, M_DEVBUF);

Modified: projects/altix/sys/compat/ia32/ia32_signal.h
==============================================================================
--- projects/altix/sys/compat/ia32/ia32_signal.h	Tue Apr 13 22:27:39 2010	(r206571)
+++ projects/altix/sys/compat/ia32/ia32_signal.h	Tue Apr 13 23:54:40 2010	(r206572)
@@ -180,6 +180,7 @@ struct ia32_sigframe3 {
 #endif
 
 struct ksiginfo;
+struct image_params;
 extern char ia32_sigcode[];
 extern char freebsd4_ia32_sigcode[];
 extern int sz_ia32_sigcode;

Modified: projects/altix/sys/compat/linprocfs/linprocfs.c
==============================================================================
--- projects/altix/sys/compat/linprocfs/linprocfs.c	Tue Apr 13 22:27:39 2010	(r206571)
+++ projects/altix/sys/compat/linprocfs/linprocfs.c	Tue Apr 13 23:54:40 2010	(r206572)
@@ -110,12 +110,14 @@ __FBSDID("$FreeBSD$");
 /*
  * Various conversion macros
  */
-#define T2J(x) (((x) * 100UL) / (stathz ? stathz : hz))	/* ticks to jiffies */
+#define T2J(x) ((long)(((x) * 100ULL) / (stathz ? stathz : hz)))	/* ticks to jiffies */
+#define T2CS(x) ((unsigned long)(((x) * 100ULL) / (stathz ? stathz : hz)))	/* ticks to centiseconds */
 #define T2S(x) ((x) / (stathz ? stathz : hz))		/* ticks to seconds */
 #define B2K(x) ((x) >> 10)				/* bytes to kbytes */
 #define B2P(x) ((x) >> PAGE_SHIFT)			/* bytes to pages */
 #define P2B(x) ((x) << PAGE_SHIFT)			/* pages to bytes */
 #define P2K(x) ((x) << (PAGE_SHIFT - 10))		/* pages to kbytes */
+#define TV2J(x)	((x)->tv_sec * 100UL + (x)->tv_usec / 10000)
 
 /**
  * @brief Mapping of ki_stat in struct kinfo_proc to the linux state
@@ -505,9 +507,10 @@ linprocfs_douptime(PFS_FILL_ARGS)
 
 	getmicrouptime(&tv);
 	read_cpu_time(cp_time);
-	sbuf_printf(sb, "%lld.%02ld %ld.%02ld\n",
+	sbuf_printf(sb, "%lld.%02ld %ld.%02lu\n",
 	    (long long)tv.tv_sec, tv.tv_usec / 10000,
-	    T2S(cp_time[CP_IDLE]), T2J(cp_time[CP_IDLE]) % 100);
+	    T2S(cp_time[CP_IDLE] / mp_ncpus),
+	    T2CS(cp_time[CP_IDLE] / mp_ncpus) % 100);
 	return (0);
 }
 
@@ -613,9 +616,17 @@ linprocfs_doprocstat(PFS_FILL_ARGS)
 	struct kinfo_proc kp;
 	char state;
 	static int ratelimit = 0;
+	vm_offset_t startcode, startdata;
 
 	PROC_LOCK(p);
 	fill_kinfo_proc(p, &kp);
+	if (p->p_vmspace) {
+	   startcode = (vm_offset_t)p->p_vmspace->vm_taddr;
+	   startdata = (vm_offset_t)p->p_vmspace->vm_daddr;
+	} else {
+	   startcode = 0;
+	   startdata = 0;
+	};
 	sbuf_printf(sb, "%d", p->p_pid);
 #define PS_ADD(name, fmt, arg) sbuf_printf(sb, " " fmt, arg)
 	PS_ADD("comm",		"(%s)",	p->p_comm);
@@ -634,30 +645,27 @@ linprocfs_doprocstat(PFS_FILL_ARGS)
 	PS_ADD("pgrp",		"%d",	p->p_pgid);
 	PS_ADD("session",	"%d",	p->p_session->s_sid);
 	PROC_UNLOCK(p);
-	PS_ADD("tty",		"%d",	0); /* XXX */
+	PS_ADD("tty",		"%d",	kp.ki_tdev);
 	PS_ADD("tpgid",		"%d",	kp.ki_tpgid);
 	PS_ADD("flags",		"%u",	0); /* XXX */
 	PS_ADD("minflt",	"%lu",	kp.ki_rusage.ru_minflt);
 	PS_ADD("cminflt",	"%lu",	kp.ki_rusage_ch.ru_minflt);
 	PS_ADD("majflt",	"%lu",	kp.ki_rusage.ru_majflt);
 	PS_ADD("cmajflt",	"%lu",	kp.ki_rusage_ch.ru_majflt);
-	PS_ADD("utime",		"%ld",	T2J(tvtohz(&kp.ki_rusage.ru_utime)));
-	PS_ADD("stime",		"%ld",	T2J(tvtohz(&kp.ki_rusage.ru_stime)));
-	PS_ADD("cutime",	"%ld",	T2J(tvtohz(&kp.ki_rusage_ch.ru_utime)));
-	PS_ADD("cstime",	"%ld",	T2J(tvtohz(&kp.ki_rusage_ch.ru_stime)));
+	PS_ADD("utime",		"%ld",	TV2J(&kp.ki_rusage.ru_utime));
+	PS_ADD("stime",		"%ld",	TV2J(&kp.ki_rusage.ru_stime));
+	PS_ADD("cutime",	"%ld",	TV2J(&kp.ki_rusage_ch.ru_utime));
+	PS_ADD("cstime",	"%ld",	TV2J(&kp.ki_rusage_ch.ru_stime));
 	PS_ADD("priority",	"%d",	kp.ki_pri.pri_user);
 	PS_ADD("nice",		"%d",	kp.ki_nice); /* 19 (nicest) to -19 */
 	PS_ADD("0",		"%d",	0); /* removed field */
 	PS_ADD("itrealvalue",	"%d",	0); /* XXX */
-	/* XXX: starttime is not right, it is the _same_ for _every_ process.
-	   It should be the number of jiffies between system boot and process
-	   start. */
-	PS_ADD("starttime",	"%lu",	T2J(tvtohz(&kp.ki_start)));
+	PS_ADD("starttime",	"%lu",	TV2J(&kp.ki_start) - TV2J(&boottime));
 	PS_ADD("vsize",		"%ju",	P2K((uintmax_t)kp.ki_size));
 	PS_ADD("rss",		"%ju",	(uintmax_t)kp.ki_rssize);
 	PS_ADD("rlim",		"%lu",	kp.ki_rusage.ru_maxrss);
-	PS_ADD("startcode",	"%u",	(unsigned)0);
-	PS_ADD("endcode",	"%u",	0); /* XXX */
+	PS_ADD("startcode",	"%ju",	(uintmax_t)startcode);
+	PS_ADD("endcode",	"%ju",	(uintmax_t)startdata);
 	PS_ADD("startstack",	"%u",	0); /* XXX */
 	PS_ADD("kstkesp",	"%u",	0); /* XXX */
 	PS_ADD("kstkeip",	"%u",	0); /* XXX */
@@ -800,7 +808,7 @@ linprocfs_doprocstatus(PFS_FILL_ARGS)
 	 */
 	sbuf_printf(sb, "VmSize:\t%8ju kB\n",	B2K((uintmax_t)kp.ki_size));
 	sbuf_printf(sb, "VmLck:\t%8u kB\n",	P2K(0)); /* XXX */
-	sbuf_printf(sb, "VmRss:\t%8ju kB\n",	P2K((uintmax_t)kp.ki_rssize));
+	sbuf_printf(sb, "VmRSS:\t%8ju kB\n",	P2K((uintmax_t)kp.ki_rssize));
 	sbuf_printf(sb, "VmData:\t%8ju kB\n",	P2K((uintmax_t)kp.ki_dsize));
 	sbuf_printf(sb, "VmStk:\t%8ju kB\n",	P2K((uintmax_t)kp.ki_ssize));
 	sbuf_printf(sb, "VmExe:\t%8ju kB\n",	P2K((uintmax_t)kp.ki_tsize));

Modified: projects/altix/sys/conf/files
==============================================================================
--- projects/altix/sys/conf/files	Tue Apr 13 22:27:39 2010	(r206571)
+++ projects/altix/sys/conf/files	Tue Apr 13 23:54:40 2010	(r206572)
@@ -1190,7 +1190,7 @@ iwn6000fw.fwo			optional iwn6000fw | iwn
 	clean		"iwn6000fw.fwo"
 iwn6000.fw			optional iwn6000fw | iwnfw		\
 	dependency	".PHONY"					\
-	compile-with	"uudecode -o ${.TARGET} $S/contrib/dev/iwn/iwlwifi-6000-9.176.4.1.fw.uu" \
+	compile-with	"uudecode -o ${.TARGET} $S/contrib/dev/iwn/iwlwifi-6000-9.193.4.1.fw.uu" \
 	no-obj no-implicit-rule						\
 	clean		"iwn6000.fw"
 dev/ixgb/if_ixgb.c		optional ixgb
@@ -2358,7 +2358,7 @@ net80211/ieee80211_action.c	optional wla
 net80211/ieee80211_ageq.c	optional wlan
 net80211/ieee80211_adhoc.c	optional wlan
 net80211/ieee80211_ageq.c	optional wlan
-net80211/ieee80211_amrr.c	optional wlan wlan_amrr
+net80211/ieee80211_amrr.c	optional wlan | wlan_amrr
 net80211/ieee80211_crypto.c	optional wlan
 net80211/ieee80211_crypto_ccmp.c optional wlan wlan_ccmp
 net80211/ieee80211_crypto_none.c optional wlan
@@ -2380,6 +2380,7 @@ net80211/ieee80211_phy.c	optional wlan
 net80211/ieee80211_power.c	optional wlan
 net80211/ieee80211_proto.c	optional wlan
 net80211/ieee80211_radiotap.c	optional wlan
+net80211/ieee80211_ratectl.c	optional wlan
 net80211/ieee80211_regdomain.c	optional wlan
 net80211/ieee80211_rssadapt.c	optional wlan wlan_rssadapt
 net80211/ieee80211_scan.c	optional wlan

Modified: projects/altix/sys/conf/files.amd64
==============================================================================
--- projects/altix/sys/conf/files.amd64	Tue Apr 13 22:27:39 2010	(r206571)
+++ projects/altix/sys/conf/files.amd64	Tue Apr 13 23:54:40 2010	(r206572)
@@ -198,6 +198,7 @@ dev/hptrr/hptrr_config.c	optional	hptrr
 dev/hwpmc/hwpmc_amd.c		optional	hwpmc
 dev/hwpmc/hwpmc_intel.c		optional	hwpmc
 dev/hwpmc/hwpmc_core.c		optional	hwpmc
+dev/hwpmc/hwpmc_uncore.c	optional	hwpmc
 dev/hwpmc/hwpmc_piv.c		optional	hwpmc
 dev/hwpmc/hwpmc_tsc.c		optional	hwpmc
 dev/hwpmc/hwpmc_x86.c		optional	hwpmc

Modified: projects/altix/sys/conf/files.i386
==============================================================================
--- projects/altix/sys/conf/files.i386	Tue Apr 13 22:27:39 2010	(r206571)
+++ projects/altix/sys/conf/files.i386	Tue Apr 13 23:54:40 2010	(r206572)
@@ -179,6 +179,7 @@ dev/hptrr/hptrr_config.c	optional hptrr
 dev/hwpmc/hwpmc_amd.c		optional hwpmc
 dev/hwpmc/hwpmc_intel.c		optional hwpmc
 dev/hwpmc/hwpmc_core.c		optional hwpmc
+dev/hwpmc/hwpmc_uncore.c	optional hwpmc
 dev/hwpmc/hwpmc_pentium.c	optional hwpmc
 dev/hwpmc/hwpmc_piv.c		optional hwpmc
 dev/hwpmc/hwpmc_ppro.c		optional hwpmc

Modified: projects/altix/sys/conf/files.pc98
==============================================================================
--- projects/altix/sys/conf/files.pc98	Tue Apr 13 22:27:39 2010	(r206571)
+++ projects/altix/sys/conf/files.pc98	Tue Apr 13 23:54:40 2010	(r206572)
@@ -99,6 +99,7 @@ dev/fe/if_fe_cbus.c		optional fe isa
 dev/hwpmc/hwpmc_amd.c		optional hwpmc
 dev/hwpmc/hwpmc_intel.c		optional hwpmc
 dev/hwpmc/hwpmc_core.c		optional hwpmc
+dev/hwpmc/hwpmc_uncore.c	optional hwpmc
 dev/hwpmc/hwpmc_pentium.c	optional hwpmc
 dev/hwpmc/hwpmc_piv.c		optional hwpmc
 dev/hwpmc/hwpmc_ppro.c		optional hwpmc

Modified: projects/altix/sys/conf/files.sparc64
==============================================================================
--- projects/altix/sys/conf/files.sparc64	Tue Apr 13 22:27:39 2010	(r206571)
+++ projects/altix/sys/conf/files.sparc64	Tue Apr 13 23:54:40 2010	(r206572)
@@ -79,6 +79,7 @@ sparc64/pci/ofw_pcib.c		optional	pci
 sparc64/pci/ofw_pcib_subr.c	optional	pci
 sparc64/pci/ofw_pcibus.c	optional	pci
 sparc64/pci/psycho.c		optional	pci
+sparc64/pci/sbbc.c		optional	uart sbbc
 sparc64/pci/schizo.c		optional	pci
 sparc64/sbus/dma_sbus.c		optional	sbus
 sparc64/sbus/sbus.c		optional	sbus

Modified: projects/altix/sys/conf/kern.mk
==============================================================================
--- projects/altix/sys/conf/kern.mk	Tue Apr 13 22:27:39 2010	(r206571)
+++ projects/altix/sys/conf/kern.mk	Tue Apr 13 23:54:40 2010	(r206572)
@@ -108,3 +108,11 @@ CFLAGS+=	-restrict
 	${MACHINE_ARCH} != "arm" && ${MACHINE_ARCH} != "mips"
 CFLAGS+=	-fstack-protector
 .endif
+
+#
+# Enable CTF conversation on request.
+#
+.if defined(WITH_CTF)
+.undef NO_CTF
+.endif
+

Modified: projects/altix/sys/conf/kern.post.mk
==============================================================================
--- projects/altix/sys/conf/kern.post.mk	Tue Apr 13 22:27:39 2010	(r206571)
+++ projects/altix/sys/conf/kern.post.mk	Tue Apr 13 23:54:40 2010	(r206572)
@@ -19,6 +19,10 @@ MKMODULESENV+=	KERNBUILDDIR="${.CURDIR}"
 MKMODULESENV+=	CONF_CFLAGS="${CONF_CFLAGS}"
 .endif
 
+.if defined(WITH_CTF)
+MKMODULESENV+=	WITH_CTF="${WITH_CTF}"
+.endif
+
 .MAIN: all
 
 .for target in all clean cleandepend cleandir clobber depend install \
@@ -90,9 +94,7 @@ ${FULLKERNEL}: ${SYSTEM_DEP} vers.o
 	@rm -f ${.TARGET}
 	@echo linking ${.TARGET}
 	${SYSTEM_LD}
-.if defined(CTFMERGE)
-	${SYSTEM_CTFMERGE}
-.endif
+	@${SYSTEM_CTFMERGE}
 .if !defined(DEBUG)
 	${OBJCOPY} --strip-debug ${.TARGET}
 .endif
@@ -240,9 +242,7 @@ kernel-reinstall:
 
 config.o env.o hints.o vers.o vnode_if.o:
 	${NORMAL_C}
-.if defined(CTFCONVERT)
-	${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
-.endif
+	@[ -z "${CTFCONVERT}" -o -n "${NO_CTF}" ] || ${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
 
 config.ln env.ln hints.ln vers.ln vnode_if.ln:
 	${NORMAL_LINT}

Modified: projects/altix/sys/conf/kern.pre.mk
==============================================================================
--- projects/altix/sys/conf/kern.pre.mk	Tue Apr 13 22:27:39 2010	(r206571)
+++ projects/altix/sys/conf/kern.pre.mk	Tue Apr 13 23:54:40 2010	(r206572)
@@ -128,11 +128,7 @@ NORMAL_C_NOWERROR= ${CC} -c ${CFLAGS} ${
 NORMAL_M= ${AWK} -f $S/tools/makeobjops.awk ${.IMPSRC} -c ; \
 	  ${CC} -c ${CFLAGS} ${WERROR} ${PROF} ${.PREFIX}.c
 
-.if defined(CTFCONVERT)
-NORMAL_CTFCONVERT= ${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
-.else
-NORMAL_CTFCONVERT=
-.endif
+NORMAL_CTFCONVERT= @[ -z "${CTFCONVERT}" -o -n "${NO_CTF}" ] || ${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
 
 NORMAL_LINT=	${LINT} ${LINTFLAGS} ${CFLAGS:M-[DIU]*} ${.IMPSRC}
 
@@ -141,10 +137,7 @@ SYSTEM_CFILES= config.c env.c hints.c vn
 SYSTEM_DEP= Makefile ${SYSTEM_OBJS}
 SYSTEM_OBJS= locore.o ${MDOBJS} ${OBJS}
 SYSTEM_OBJS+= ${SYSTEM_CFILES:.c=.o}
-.if defined(CTFMERGE)
-SYSTEM_CTFMERGE= ${CTFMERGE} ${CTFFLAGS} -o ${.TARGET} ${SYSTEM_OBJS} vers.o
-LD+= -g
-.endif
+SYSTEM_CTFMERGE= [ -z "${CTFMERGE}" -o -n "${NO_CTF}" ] || ${CTFMERGE} ${CTFFLAGS} -o ${.TARGET} ${SYSTEM_OBJS} vers.o
 .if ${MACHINE_ARCH} == XXX_ALTIX_TODO
 SYSTEM_LDFLAGS= -r
 .else

Modified: projects/altix/sys/conf/kmod.mk
==============================================================================
--- projects/altix/sys/conf/kmod.mk	Tue Apr 13 22:27:39 2010	(r206571)
+++ projects/altix/sys/conf/kmod.mk	Tue Apr 13 23:54:40 2010	(r206572)
@@ -69,6 +69,11 @@ OBJCOPY?=	objcopy
 .error "Do not use KMODDEPS on 5.0+; use MODULE_VERSION/MODULE_DEPEND"
 .endif
 
+# Enable CTF conversion on request.
+.if defined(WITH_CTF)
+.undef NO_CTF
+.endif
+
 .include <bsd.init.mk>
 
 .SUFFIXES: .out .o .c .cc .cxx .C .y .l .s .S

Modified: projects/altix/sys/contrib/dev/acpica/changes.txt
==============================================================================
--- projects/altix/sys/contrib/dev/acpica/changes.txt	Tue Apr 13 22:27:39 2010	(r206571)
+++ projects/altix/sys/contrib/dev/acpica/changes.txt	Tue Apr 13 23:54:40 2010	(r206572)
@@ -1,4 +1,79 @@
 ----------------------------------------
+31 March 2010. Summary of changes for version 20100331:
+
+1) ACPI CA Core Subsystem:
+
+Completed a major update for the GPE support in order to improve support for 
+shared GPEs and to simplify both host OS and ACPICA code. Added a reference 
+count mechanism to support shared GPEs that require multiple device drivers. 
+Several external interfaces have changed. One external interface has been 
+removed. One new external interface was added. Most of the GPE external 
+interfaces now use the GPE spinlock instead of the events mutex (and the 
+Flags parameter for many GPE interfaces has been removed.) See the updated 
+ACPICA Programmer Reference for details. Matthew Garrett, Bob Moore, Rafael 
+Wysocki. ACPICA BZ 831.
+
+Changed:
+    AcpiEnableGpe, AcpiDisableGpe, AcpiClearGpe, AcpiGetGpeStatus
+Removed:
+    AcpiSetGpeType
+New:
+    AcpiSetGpe
+
+Implemented write support for DataTable operation regions. These regions are 
+defined via the DataTableRegion() operator. Previously, only read support was 
+implemented. The ACPI specification allows DataTableRegions to be read/write, 
+however.
+
+Implemented a new subsystem option to force a copy of the DSDT to local 
+memory. Optionally copy the entire DSDT to local memory (instead of simply 
+mapping it.) There are some (albeit very rare) BIOSs that corrupt or replace 
+the original DSDT, creating the need for this option. Default is FALSE, do 
+not copy the DSDT.
+
+Implemented detection of a corrupted or replaced DSDT. This change adds 
+support to detect a DSDT that has been corrupted and/or replaced from outside 
+the OS (by firmware). This is typically catastrophic for the system, but has 
+been seen on some machines. Once this problem has been detected, the DSDT 
+copy option can be enabled via system configuration. Lin Ming, Bob Moore.
+
+Fixed two problems with AcpiReallocateRootTable during the root table copy. 
+When copying the root table to the new allocation, the length used was 
+incorrect. The new size was used instead of the current table size, meaning 
+too much data was copied. Also, the count of available slots for ACPI tables 
+was not set correctly. Alexey Starikovskiy, Bob Moore.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and has a 
+much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  87.5K Code, 18.4K Data, 105.9K Total
+    Debug Version:     163.4K Code, 51.1K Data, 214.5K Total
+  Current Release:
+    Non-Debug Version:  87.9K Code, 18.6K Data, 106.5K Total
+    Debug Version:     163.5K Code, 51.3K Data, 214.8K Total
+
+2) iASL Compiler/Disassembler and Tools:
+
+iASL: Implement limited typechecking for values returned from predefined 
+control methods. The type of any returned static (unnamed) object is now 
+validated. For example, Return(1). ACPICA BZ 786.
+
+iASL: Fixed a predefined name object verification regression. Fixes a problem 
+introduced in version 20100304. An error is incorrectly generated if a 
+predefined name is declared as a static named object with a value defined 
+using the keywords "Zero", "One", or "Ones". Lin Ming.
+
+iASL: Added Windows 7 support for the -g option (get local ACPI tables) by 
+reducing the requested registry access rights. ACPICA BZ 842.
+
+Disassembler: fixed a possible fault when generating External() statements. 
+Introduced in commit ae7d6fd: Properly handle externals with parent-prefix 
+(carat). Fixes a string length allocation calculation. Lin Ming.
+
+----------------------------------------
 04 March 2010. Summary of changes for version 20100304:
 
 1) ACPI CA Core Subsystem:

Modified: projects/altix/sys/contrib/dev/acpica/common/dmextern.c
==============================================================================
--- projects/altix/sys/contrib/dev/acpica/common/dmextern.c	Tue Apr 13 22:27:39 2010	(r206571)
+++ projects/altix/sys/contrib/dev/acpica/common/dmextern.c	Tue Apr 13 23:54:40 2010	(r206572)
@@ -270,6 +270,15 @@ AcpiDmNormalizeParentPrefix (
     }
 
     Length = (ACPI_STRLEN (ParentPath) + ACPI_STRLEN (Path) + 1);
+    if (ParentPath[1])
+    {
+        /*
+         * If ParentPath is not just a simple '\', increment the length
+         * for the required dot separator (ParentPath.Path)
+         */
+        Length++;
+    }
+
     Fullpath = ACPI_ALLOCATE_ZEROED (Length);
     if (!Fullpath)
     {

Modified: projects/altix/sys/contrib/dev/acpica/compiler/aslanalyze.c
==============================================================================
--- projects/altix/sys/contrib/dev/acpica/compiler/aslanalyze.c	Tue Apr 13 22:27:39 2010	(r206571)
+++ projects/altix/sys/contrib/dev/acpica/compiler/aslanalyze.c	Tue Apr 13 23:54:40 2010	(r206572)
@@ -1157,6 +1157,12 @@ AnMethodAnalysisWalkEnd (
     case PARSEOP_RETURN:
 
         /*
+         * If the parent is a predefined method name, attempt to typecheck
+         * the return value. Only static types can be validated.
+         */
+        ApCheckPredefinedReturnValue (Op, MethodInfo);
+
+        /*
          * The parent block does not "exit" and continue execution -- the
          * method is terminated here with the Return() statement.
          */

Modified: projects/altix/sys/contrib/dev/acpica/compiler/aslcompiler.h
==============================================================================
--- projects/altix/sys/contrib/dev/acpica/compiler/aslcompiler.h	Tue Apr 13 22:27:39 2010	(r206571)
+++ projects/altix/sys/contrib/dev/acpica/compiler/aslcompiler.h	Tue Apr 13 23:54:40 2010	(r206572)
@@ -461,6 +461,11 @@ ApCheckForPredefinedMethod (
     ACPI_PARSE_OBJECT       *Op,
     ASL_METHOD_INFO         *MethodInfo);
 
+void
+ApCheckPredefinedReturnValue (
+    ACPI_PARSE_OBJECT       *Op,
+    ASL_METHOD_INFO         *MethodInfo);
+
 UINT32
 ApCheckForPredefinedName (
     ACPI_PARSE_OBJECT       *Op,

Modified: projects/altix/sys/contrib/dev/acpica/compiler/aslpredef.c
==============================================================================
--- projects/altix/sys/contrib/dev/acpica/compiler/aslpredef.c	Tue Apr 13 22:27:39 2010	(r206571)
+++ projects/altix/sys/contrib/dev/acpica/compiler/aslpredef.c	Tue Apr 13 23:54:40 2010	(r206572)
@@ -296,7 +296,11 @@ ApCheckForPredefinedMethod (
         if (MethodInfo->NumReturnNoValue &&
             PredefinedNames[Index].Info.ExpectedBtypes)
         {
-            sprintf (MsgBuffer, "%4.4s", PredefinedNames[Index].Info.Name);
+            ApGetExpectedTypes (StringBuffer,
+                PredefinedNames[Index].Info.ExpectedBtypes);
+
+            sprintf (MsgBuffer, "%s required for %4.4s",
+                StringBuffer, PredefinedNames[Index].Info.Name);
 
             AslError (ASL_WARNING, ASL_MSG_RESERVED_RETURN_VALUE, Op,
                 MsgBuffer);
@@ -308,6 +312,90 @@ ApCheckForPredefinedMethod (
 
 /*******************************************************************************
  *
+ * FUNCTION:    ApCheckPredefinedReturnValue
+ *
+ * PARAMETERS:  Op              - A parse node of type "RETURN".
+ *              MethodInfo      - Saved info about this method
+ *
+ * RETURN:      None
+ *
+ * DESCRIPTION: If method is a predefined name, attempt to validate the return
+ *              value. Only "static" types can be validated - a simple return
+ *              of an integer/string/buffer/package or a named reference to
+ *              a static object. Values such as a Localx or Argx or a control
+ *              method invocation are not checked.
+ *
+ ******************************************************************************/
+
+void
+ApCheckPredefinedReturnValue (
+    ACPI_PARSE_OBJECT       *Op,
+    ASL_METHOD_INFO         *MethodInfo)
+{
+    UINT32                  Index;
+    ACPI_PARSE_OBJECT       *ReturnValueOp;
+
+
+    /* Check parent method for a match against the predefined name list */
+
+    Index = ApCheckForPredefinedName (MethodInfo->Op,
+                MethodInfo->Op->Asl.NameSeg);
+
+    switch (Index)
+    {
+    case ACPI_NOT_RESERVED_NAME:        /* No underscore or _Txx or _xxx name not matched */
+    case ACPI_PREDEFINED_NAME:          /* Resource Name or reserved scope name */
+    case ACPI_COMPILER_RESERVED_NAME:   /* A _Txx that was not emitted by compiler */
+    case ACPI_EVENT_RESERVED_NAME:      /* _Lxx, _Exx, and _Qxx methods */
+
+        /* Just return, nothing to do */
+        return;
+
+    default: /* a real predefined ACPI name */
+
+        /* Exit if no return value expected */
+
+        if (!PredefinedNames[Index].Info.ExpectedBtypes)
+        {
+            return;
+        }
+
+        /* Get the object returned, it is the next argument */
+
+        ReturnValueOp = Op->Asl.Child;
+        switch (ReturnValueOp->Asl.ParseOpcode)
+        {
+        case PARSEOP_ZERO:
+        case PARSEOP_ONE:
+        case PARSEOP_ONES:
+        case PARSEOP_INTEGER:
+        case PARSEOP_STRING_LITERAL:
+        case PARSEOP_BUFFER:
+        case PARSEOP_PACKAGE:
+
+            /* Static data return object - check against expected type */
+
+            ApCheckObjectType (ReturnValueOp,
+                PredefinedNames[Index].Info.ExpectedBtypes);
+            break;
+
+        default:
+
+            /*
+             * All other ops are very difficult or impossible to typecheck at
+             * compile time. These include all Localx, Argx, and method
+             * invocations. Also, NAMESEG and NAMESTRING because the type of
+             * any named object can be changed at runtime (for example,
+             * CopyObject will change the type of the target object.)
+             */
+            break;
+        }
+    }
+}
+
+
+/*******************************************************************************
+ *
  * FUNCTION:    ApCheckForPredefinedObject
  *
  * PARAMETERS:  Op              - A parse node
@@ -441,7 +529,7 @@ ApCheckForPredefinedName (
  *
  * RETURN:      None
  *
- * DESCRIPTION: Check for the "special" predefined names - 
+ * DESCRIPTION: Check for the "special" predefined names -
  *              _Lxx, _Exx, _Qxx, and _T_x
  *
  ******************************************************************************/
@@ -512,7 +600,7 @@ ApCheckForSpecialName (
  *
  * FUNCTION:    ApCheckObjectType
  *
- * PARAMETERS:  Op              - A parse node
+ * PARAMETERS:  Op              - Current parse node
  *              ExpectedBtypes  - Bitmap of expected return type(s)
  *
  * RETURN:      None
@@ -529,11 +617,13 @@ ApCheckObjectType (
     UINT32                  ExpectedBtypes)
 {
     UINT32                  ReturnBtype;
-    char                    TypeBuffer[48]; /* Room for 5 types */
 
 
     switch (Op->Asl.ParseOpcode)
     {
+    case PARSEOP_ZERO:
+    case PARSEOP_ONE:
+    case PARSEOP_ONES:
     case PARSEOP_INTEGER:
         ReturnBtype = ACPI_RTYPE_INTEGER;
         break;
@@ -552,11 +642,11 @@ ApCheckObjectType (
 
     default:
         /* Not one of the supported object types */
-        
+
         goto TypeErrorExit;
     }
 
-    /* Is the object one of the expected types? */
+    /* Exit if the object is one of the expected types */
 
     if (ReturnBtype & ExpectedBtypes)
     {
@@ -568,10 +658,13 @@ TypeErrorExit:
 
     /* Format the expected types and emit an error message */
 
-    ApGetExpectedTypes (TypeBuffer, ExpectedBtypes);
+    ApGetExpectedTypes (StringBuffer, ExpectedBtypes);
+
+    sprintf (MsgBuffer, "found %s, requires %s",
+        UtGetOpName (Op->Asl.ParseOpcode), StringBuffer);
 
     AslError (ASL_ERROR, ASL_MSG_RESERVED_OPERAND_TYPE, Op,
-        TypeBuffer);
+        MsgBuffer);
 }
 
 

Modified: projects/altix/sys/contrib/dev/acpica/compiler/aslstubs.c
==============================================================================
--- projects/altix/sys/contrib/dev/acpica/compiler/aslstubs.c	Tue Apr 13 22:27:39 2010	(r206571)
+++ projects/altix/sys/contrib/dev/acpica/compiler/aslstubs.c	Tue Apr 13 23:54:40 2010	(r206572)
@@ -243,13 +243,6 @@ AcpiEvInitializeRegion (
     return (AE_OK);
 }
 
-ACPI_STATUS
-AcpiEvCheckForWakeOnlyGpe (
-    ACPI_GPE_EVENT_INFO     *GpeEventInfo)
-{
-    return (AE_OK);
-}
-
 void
 AcpiExDoDebugObject (
     ACPI_OPERAND_OBJECT     *SourceDesc,

Modified: projects/altix/sys/contrib/dev/acpica/compiler/asltypes.h
==============================================================================
--- projects/altix/sys/contrib/dev/acpica/compiler/asltypes.h	Tue Apr 13 22:27:39 2010	(r206571)
+++ projects/altix/sys/contrib/dev/acpica/compiler/asltypes.h	Tue Apr 13 23:54:40 2010	(r206572)
@@ -507,7 +507,7 @@ char                        *AslMessages
 /*    ASL_MSG_RESERVED_ARG_COUNT_HI */      "Reserved method has too many arguments",
 /*    ASL_MSG_RESERVED_ARG_COUNT_LO */      "Reserved method has too few arguments",
 /*    ASL_MSG_RESERVED_METHOD */            "Reserved name must be a control method",
-/*    ASL_MSG_RESERVED_OPERAND_TYPE */      "Invalid object type for reserved name, must be",
+/*    ASL_MSG_RESERVED_OPERAND_TYPE */      "Invalid object type for reserved name",
 /*    ASL_MSG_RESERVED_RETURN_VALUE */      "Reserved method must return a value",
 /*    ASL_MSG_RESERVED_USE */               "Invalid use of reserved name",
 /*    ASL_MSG_RESERVED_WORD */              "Use of reserved name",

Modified: projects/altix/sys/contrib/dev/acpica/debugger/dbdisply.c
==============================================================================
--- projects/altix/sys/contrib/dev/acpica/debugger/dbdisply.c	Tue Apr 13 22:27:39 2010	(r206571)
+++ projects/altix/sys/contrib/dev/acpica/debugger/dbdisply.c	Tue Apr 13 23:54:40 2010	(r206572)
@@ -848,13 +848,12 @@ AcpiDbDisplayGpes (
                 Block, GpeBlock, GpeBlock->Node, Buffer);
 
             AcpiOsPrintf ("    Registers:    %u (%u GPEs)\n",
-                GpeBlock->RegisterCount,
-                ACPI_MUL_8 (GpeBlock->RegisterCount));
+                GpeBlock->RegisterCount, GpeBlock->GpeCount);
 
-            AcpiOsPrintf ("    GPE range:    0x%X to 0x%X\n",
+            AcpiOsPrintf ("    GPE range:    0x%X to 0x%X on interrupt %u\n",
                 GpeBlock->BlockBaseNumber,
-                GpeBlock->BlockBaseNumber +
-                    (GpeBlock->RegisterCount * 8) -1);
+                GpeBlock->BlockBaseNumber + (GpeBlock->GpeCount - 1),
+                GpeXruptInfo->InterruptNumber);
 
             AcpiOsPrintf (
                 "    RegisterInfo: %p  Status %8.8X%8.8X Enable %8.8X%8.8X\n",
@@ -871,9 +870,12 @@ AcpiDbDisplayGpes (
                 GpeRegisterInfo = &GpeBlock->RegisterInfo[i];
 
                 AcpiOsPrintf (
-                    "    Reg %u:  WakeEnable %2.2X, RunEnable %2.2X  Status %8.8X%8.8X Enable %8.8X%8.8X\n",
-                    i, GpeRegisterInfo->EnableForWake,
+                    "    Reg %u: (GPE %.2X-%.2X)  RunEnable %2.2X WakeEnable %2.2X"
+                    " Status %8.8X%8.8X Enable %8.8X%8.8X\n",
+                    i, GpeRegisterInfo->BaseGpeNumber,
+                    GpeRegisterInfo->BaseGpeNumber + (ACPI_GPE_REGISTER_WIDTH - 1),
                     GpeRegisterInfo->EnableForRun,
+                    GpeRegisterInfo->EnableForWake,
                     ACPI_FORMAT_UINT64 (GpeRegisterInfo->StatusAddress.Address),
                     ACPI_FORMAT_UINT64 (GpeRegisterInfo->EnableAddress.Address));
 
@@ -886,17 +888,19 @@ AcpiDbDisplayGpes (
 
                     if (!(GpeEventInfo->Flags & ACPI_GPE_DISPATCH_MASK))
                     {
-                        /* This GPE is not used (no method or handler) */
+                        /* This GPE is not used (no method or handler), ignore it */
 
                         continue;
                     }
 
                     AcpiOsPrintf (
-                        "        GPE %.3X: %p Flags %2.2X: ",
-                        GpeBlock->BlockBaseNumber + GpeIndex,
-                        GpeEventInfo,
+                        "        GPE %.2X: %p  RunRefs %2.2X   WakeRefs %2.2X Flags %2.2X (",
+                        GpeBlock->BlockBaseNumber + GpeIndex, GpeEventInfo,
+                        GpeEventInfo->RuntimeCount, GpeEventInfo->WakeupCount,
                         GpeEventInfo->Flags);
 
+                    /* Decode the flags byte */
+
                     if (GpeEventInfo->Flags & ACPI_GPE_LEVEL_TRIGGERED)
                     {
                         AcpiOsPrintf ("Level, ");
@@ -906,38 +910,13 @@ AcpiDbDisplayGpes (
                         AcpiOsPrintf ("Edge,  ");
                     }
 
-                    switch (GpeEventInfo->Flags & ACPI_GPE_TYPE_MASK)
-                    {
-                    case ACPI_GPE_TYPE_WAKE:
-                        AcpiOsPrintf ("WakeOnly: ");
-                        break;
-                    case ACPI_GPE_TYPE_RUNTIME:
-                        AcpiOsPrintf (" RunOnly: ");
-                        break;
-                    case ACPI_GPE_TYPE_WAKE_RUN:
-                        AcpiOsPrintf (" WakeRun: ");
-                        break;
-                    default:
-                        AcpiOsPrintf (" NotUsed: ");
-                        break;
-                    }
-
-                    if (GpeEventInfo->Flags & ACPI_GPE_WAKE_ENABLED)
-                    {
-                        AcpiOsPrintf ("[Wake 1 ");
-                    }
-                    else
-                    {
-                        AcpiOsPrintf ("[Wake 0 ");
-                    }
-
-                    if (GpeEventInfo->Flags & ACPI_GPE_RUN_ENABLED)
+                    if (GpeEventInfo->Flags & ACPI_GPE_CAN_WAKE)
                     {
-                        AcpiOsPrintf ("Run 1], ");
+                        AcpiOsPrintf ("CanWake, ");
                     }
                     else
                     {
-                        AcpiOsPrintf ("Run 0], ");
+                        AcpiOsPrintf ("RunOnly, ");
                     }
 
                     switch (GpeEventInfo->Flags & ACPI_GPE_DISPATCH_MASK)
@@ -957,7 +936,7 @@ AcpiDbDisplayGpes (
                         break;
                     }
 
-                    AcpiOsPrintf ("\n");
+                    AcpiOsPrintf (")\n");
                 }
             }
             Block++;

Modified: projects/altix/sys/contrib/dev/acpica/events/evgpe.c
==============================================================================
--- projects/altix/sys/contrib/dev/acpica/events/evgpe.c	Tue Apr 13 22:27:39 2010	(r206571)
+++ projects/altix/sys/contrib/dev/acpica/events/evgpe.c	Tue Apr 13 23:54:40 2010	(r206572)
@@ -134,71 +134,20 @@ AcpiEvAsynchEnableGpe (
 
 /*******************************************************************************
  *
- * FUNCTION:    AcpiEvSetGpeType
- *
- * PARAMETERS:  GpeEventInfo            - GPE to set
- *              Type                    - New type
- *
- * RETURN:      Status
- *
- * DESCRIPTION: Sets the new type for the GPE (wake, run, or wake/run)
- *
- ******************************************************************************/
-
-ACPI_STATUS
-AcpiEvSetGpeType (
-    ACPI_GPE_EVENT_INFO     *GpeEventInfo,
-    UINT8                   Type)
-{
-    ACPI_STATUS             Status;
-
-
-    ACPI_FUNCTION_TRACE (EvSetGpeType);
-
-
-    /* Validate type and update register enable masks */
-
-    switch (Type)
-    {
-    case ACPI_GPE_TYPE_WAKE:
-    case ACPI_GPE_TYPE_RUNTIME:
-    case ACPI_GPE_TYPE_WAKE_RUN:
-        break;

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201004132354.o3DNsexU002253>