From owner-trustedbsd-cvs@FreeBSD.ORG Sun Oct 29 19:44:39 2006 Return-Path: X-Original-To: trustedbsd-cvs@freebsd.org Delivered-To: trustedbsd-cvs@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id EBAC716A403 for ; Sun, 29 Oct 2006 19:44:39 +0000 (UTC) (envelope-from owner-perforce@freebsd.org) Received: from cyrus.watson.org (cyrus.watson.org [209.31.154.42]) by mx1.FreeBSD.org (Postfix) with ESMTP id DA5FE43D45 for ; Sun, 29 Oct 2006 19:44:38 +0000 (GMT) (envelope-from owner-perforce@freebsd.org) Received: from mx2.freebsd.org (mx2.freebsd.org [216.136.204.119]) by cyrus.watson.org (Postfix) with ESMTP id 8371046D53 for ; Sun, 29 Oct 2006 14:44:37 -0500 (EST) Received: from hub.freebsd.org (hub.freebsd.org [216.136.204.18]) by mx2.freebsd.org (Postfix) with ESMTP id 7F49B5558B; Sun, 29 Oct 2006 19:44:36 +0000 (GMT) (envelope-from owner-perforce@freebsd.org) Received: by hub.freebsd.org (Postfix, from userid 32767) id 70A2116A416; Sun, 29 Oct 2006 19:44:36 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4839D16A403 for ; Sun, 29 Oct 2006 19:44:36 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0F33843D45 for ; Sun, 29 Oct 2006 19:44:36 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9TJiZYg097129 for ; Sun, 29 Oct 2006 19:44:35 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9TJiVSd097126 for perforce@freebsd.org; Sun, 29 Oct 2006 19:44:31 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 29 Oct 2006 19:44:31 GMT Message-Id: <200610291944.k9TJiVSd097126@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 108682 for review X-BeenThere: trustedbsd-cvs@FreeBSD.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: TrustedBSD CVS and Perforce commit message list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Oct 2006 19:44:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=108682 Change 108682 by rwatson@rwatson_zoo on 2006/10/29 19:43:38 Integrate TrustedBSD priv branch up to TrustedBSD @108496. Affected files ... .. //depot/projects/trustedbsd/priv/sys/amd64/amd64/db_trace.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/amd64/amd64/pmap.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/amd64/conf/GENERIC.hints#2 integrate .. //depot/projects/trustedbsd/priv/sys/amd64/conf/NOTES#4 integrate .. //depot/projects/trustedbsd/priv/sys/arm/arm/cpufunc.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/arm/arm/elf_trampoline.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/arm/arm/nexus.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/arm/arm/nexus_io.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/arm/arm/trap.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/arm/arm/undefined.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/arm/arm/vm_machdep.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/arm/at91/at91_mci.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/at91/at91_mcireg.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/at91/at91_spi.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/arm/at91/at91_ssc.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/arm/at91/at91_sscreg.h#2 integrate .. //depot/projects/trustedbsd/priv/sys/arm/at91/at91_twi.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/arm/at91/if_ate.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/arm/at91/kb920x_machdep.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/arm/at91/std.at91#2 integrate .. //depot/projects/trustedbsd/priv/sys/arm/at91/std.kb920x#2 integrate .. //depot/projects/trustedbsd/priv/sys/arm/sa11x0/sa11x0.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/arm/sa11x0/sa11x0_io.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/arm/sa11x0/sa11x0_irqhandler.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/arm/sa11x0/sa11x0_ost.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/boot/arm/Makefile#2 integrate .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/Makefile.inc#2 integrate .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/boot0spi/main.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/boot2/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/boot2/boot2.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/boot2/kb920x_board.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/bootiic/env_vars.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/bootiic/loader_prompt.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/bootspi/Makefile#2 integrate .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/bootspi/arm_init.S#2 integrate .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/bootspi/ee.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/bootspi/ee.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/bootspi/env_vars.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/bootspi/loader_prompt.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/bootspi/main.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/Makefile#2 integrate .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/at91rm9200.h#2 integrate .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/at91rm9200_lowlevel.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/emac.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/emac.h#2 integrate .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/emac_init.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/lib.h#2 integrate .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/lib_AT91RM9200.h#2 integrate .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/mci_device.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/mci_device.h#2 integrate .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/memcmp.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/memcpy.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/memset.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/p_string.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/printf.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/putchar.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/sd-card.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/spi_flash.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/strcmp.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/strcpy.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/strcvt.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/strlen.c#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/freebsd32/freebsd32_proto.h#7 integrate .. //depot/projects/trustedbsd/priv/sys/compat/freebsd32/freebsd32_syscall.h#7 integrate .. //depot/projects/trustedbsd/priv/sys/compat/freebsd32/freebsd32_syscalls.c#7 integrate .. //depot/projects/trustedbsd/priv/sys/compat/freebsd32/freebsd32_sysent.c#7 integrate .. //depot/projects/trustedbsd/priv/sys/compat/freebsd32/syscalls.master#7 integrate .. //depot/projects/trustedbsd/priv/sys/compat/linux/linux_file.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/compat/linux/linux_getcwd.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/compat/linux/linux_misc.c#7 integrate .. //depot/projects/trustedbsd/priv/sys/compat/linux/linux_stats.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_fcntl.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_misc.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/conf/NOTES#5 integrate .. //depot/projects/trustedbsd/priv/sys/conf/files#6 integrate .. //depot/projects/trustedbsd/priv/sys/conf/files.amd64#5 integrate .. //depot/projects/trustedbsd/priv/sys/conf/files.i386#4 integrate .. //depot/projects/trustedbsd/priv/sys/conf/files.ia64#2 integrate .. //depot/projects/trustedbsd/priv/sys/conf/files.pc98#3 integrate .. //depot/projects/trustedbsd/priv/sys/conf/files.powerpc#2 integrate .. //depot/projects/trustedbsd/priv/sys/conf/files.sparc64#2 integrate .. //depot/projects/trustedbsd/priv/sys/conf/kern.pre.mk#3 integrate .. //depot/projects/trustedbsd/priv/sys/conf/kmod.mk#3 integrate .. //depot/projects/trustedbsd/priv/sys/contrib/pf/net/pf.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/crypto/sha2/sha2.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/dev/atkbdc/atkbd.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/dev/bce/if_bce.c#5 integrate .. //depot/projects/trustedbsd/priv/sys/dev/bce/if_bcereg.h#3 integrate .. //depot/projects/trustedbsd/priv/sys/dev/iwi/if_iwi.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/dev/iwi/if_iwireg.h#2 integrate .. //depot/projects/trustedbsd/priv/sys/dev/mmc/bridge.h#1 branch .. //depot/projects/trustedbsd/priv/sys/dev/mmc/mmc.c#1 branch .. //depot/projects/trustedbsd/priv/sys/dev/mmc/mmcbr_if.m#1 branch .. //depot/projects/trustedbsd/priv/sys/dev/mmc/mmcbrvar.h#1 branch .. //depot/projects/trustedbsd/priv/sys/dev/mmc/mmcbus_if.m#1 branch .. //depot/projects/trustedbsd/priv/sys/dev/mmc/mmcreg.h#1 branch .. //depot/projects/trustedbsd/priv/sys/dev/mmc/mmcsd.c#1 branch .. //depot/projects/trustedbsd/priv/sys/dev/mmc/mmcvar.h#1 branch .. //depot/projects/trustedbsd/priv/sys/dev/pci/pci.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/dev/spibus/spibus.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/dev/ubsec/ubsec.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/dev/usb/ukbd.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/fs/devfs/devfs_devs.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/fs/devfs/devfs_vnops.c#5 integrate .. //depot/projects/trustedbsd/priv/sys/fs/msdosfs/denode.h#2 integrate .. //depot/projects/trustedbsd/priv/sys/fs/msdosfs/direntry.h#2 integrate .. //depot/projects/trustedbsd/priv/sys/fs/msdosfs/msdosfs_conv.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/fs/msdosfs/msdosfs_denode.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/fs/msdosfs/msdosfs_vnops.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/fs/ntfs/ntfs_vnops.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/fs/nwfs/nwfs_subr.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/fs/smbfs/smbfs_subr.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/i386/conf/NOTES#5 integrate .. //depot/projects/trustedbsd/priv/sys/i386/i386/db_trace.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/i386/i386/pmap.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/i386/i386/sys_machdep.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/i386/ibcs2/ibcs2_misc.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/i386/linux/linux_machdep.c#6 integrate .. //depot/projects/trustedbsd/priv/sys/ia64/conf/NOTES#2 integrate .. //depot/projects/trustedbsd/priv/sys/ia64/ia64/nexus.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/ia64/ia64/pmap.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/kern/init_main.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_acct.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_acl.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_alq.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_conf.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_environment.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_exec.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_exit.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_fork.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_jail.c#10 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_ktrace.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_linker.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_mac.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_malloc.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_mbuf.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_prot.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_shutdown.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_sig.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_sysctl.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_time.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_umtx.c#7 integrate .. //depot/projects/trustedbsd/priv/sys/kern/link_elf.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/kern/link_elf_obj.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/kern/subr_fattime.c#1 branch .. //depot/projects/trustedbsd/priv/sys/kern/subr_trap.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/kern/sys_pipe.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/kern/sys_process.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/kern/sys_socket.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/kern/sysv_msg.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/kern/sysv_sem.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/kern/sysv_shm.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/kern/uipc_mbuf.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/kern/uipc_mbuf2.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/kern/uipc_sem.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/kern/uipc_socket.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/kern/uipc_syscalls.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/kern/uipc_usrreq.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/kern/vfs_bio.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/kern/vfs_cluster.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/kern/vfs_lookup.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/kern/vfs_mount.c#6 integrate .. //depot/projects/trustedbsd/priv/sys/kern/vfs_subr.c#6 integrate .. //depot/projects/trustedbsd/priv/sys/kern/vfs_syscalls.c#7 integrate .. //depot/projects/trustedbsd/priv/sys/kern/vfs_vnops.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/modules/mmc/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/modules/mmcsd/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/net/bpf.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/net/bsd_comp.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/net/if.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/net/if_atmsubr.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/net/if_ethersubr.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/net/if_fddisubr.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/net/if_fwsubr.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/net/if_gif.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/net/if_iso88025subr.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/net/if_ppp.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/net/if_stf.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/net/if_tun.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/netatalk/aarp.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/netatalk/ddp_input.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/netatalk/ddp_output.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/netinet/if_ether.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/netinet/igmp.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/netinet/in_pcb.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/netinet/ip_divert.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/netinet/ip_fw2.c#6 integrate .. //depot/projects/trustedbsd/priv/sys/netinet/ip_fw_pfil.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/netinet/ip_icmp.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/netinet/ip_input.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/netinet/ip_mroute.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/netinet/ip_options.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/netinet/ip_output.c#6 integrate .. //depot/projects/trustedbsd/priv/sys/netinet/raw_ip.c#5 integrate .. //depot/projects/trustedbsd/priv/sys/netinet/tcp_input.c#5 integrate .. //depot/projects/trustedbsd/priv/sys/netinet/tcp_output.c#5 integrate .. //depot/projects/trustedbsd/priv/sys/netinet/tcp_subr.c#6 integrate .. //depot/projects/trustedbsd/priv/sys/netinet/tcp_syncache.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/netinet/udp_usrreq.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/netinet6/nd6.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/nfsserver/nfs_serv.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/nfsserver/nfs_srvsock.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/nfsserver/nfs_syscalls.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/pc98/conf/NOTES#3 integrate .. //depot/projects/trustedbsd/priv/sys/pci/agp.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/powerpc/conf/NOTES#2 integrate .. //depot/projects/trustedbsd/priv/sys/security/mac/mac_framework.h#2 integrate .. //depot/projects/trustedbsd/priv/sys/security/mac/mac_inet.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/security/mac/mac_label.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/security/mac/mac_net.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/security/mac/mac_pipe.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/security/mac/mac_posix_sem.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/security/mac/mac_process.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/security/mac/mac_socket.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/security/mac/mac_system.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/security/mac/mac_sysv_msg.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/security/mac/mac_sysv_sem.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/security/mac/mac_sysv_shm.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/security/mac/mac_vfs.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/security/mac_lomac/mac_lomac.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/sparc64/conf/NOTES#2 integrate .. //depot/projects/trustedbsd/priv/sys/sun4v/conf/NOTES#3 integrate .. //depot/projects/trustedbsd/priv/sys/sun4v/sun4v/pmap.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/sys/clock.h#3 integrate .. //depot/projects/trustedbsd/priv/sys/sys/conf.h#2 integrate .. //depot/projects/trustedbsd/priv/sys/sys/mac.h#4 integrate .. //depot/projects/trustedbsd/priv/sys/sys/mac_policy.h#4 integrate .. //depot/projects/trustedbsd/priv/sys/sys/queue.h#2 integrate .. //depot/projects/trustedbsd/priv/sys/ufs/ffs/ffs_vfsops.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/ufs/ufs/ufs_vnops.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/vm/device_pager.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/vm/phys_pager.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/vm/swap_pager.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/vm/uma_core.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/vm/vm_contig.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/vm/vm_fault.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/vm/vm_glue.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/vm/vm_kern.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/vm/vm_map.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/vm/vm_mmap.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/vm/vm_object.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/vm/vm_page.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/vm/vm_page.h#3 integrate .. //depot/projects/trustedbsd/priv/sys/vm/vm_pageout.c#2 integrate Differences ... ==== //depot/projects/trustedbsd/priv/sys/amd64/amd64/db_trace.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_trace.c,v 1.75 2006/07/12 21:22:42 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_trace.c,v 1.76 2006/10/20 09:44:20 bde Exp $"); #include #include @@ -91,6 +91,7 @@ { "r15", DB_OFFSET(tf_r15), db_frame }, { "rip", DB_OFFSET(tf_rip), db_frame }, { "rflags", DB_OFFSET(tf_rflags), db_frame }, +#define DB_N_SHOW_REGS 20 /* Don't show registers after here. */ { "dr0", NULL, db_dr0 }, { "dr1", NULL, db_dr1 }, { "dr2", NULL, db_dr2 }, @@ -100,7 +101,7 @@ { "dr6", NULL, db_dr6 }, { "dr7", NULL, db_dr7 }, }; -struct db_variable *db_eregs = db_regs + sizeof(db_regs)/sizeof(db_regs[0]); +struct db_variable *db_eregs = db_regs + DB_N_SHOW_REGS; #define DB_DRX_FUNC(reg) \ static int \ ==== //depot/projects/trustedbsd/priv/sys/amd64/amd64/pmap.c#2 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.571 2006/08/14 15:39:41 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.572 2006/10/22 04:18:01 alc Exp $"); /* * Manages physical address maps. @@ -1665,7 +1665,7 @@ vm_page_t m; TAILQ_FOREACH(m, &vpq->pl, pageq) { - if (m->hold_count || m->busy || (m->flags & PG_BUSY)) + if (m->hold_count || m->busy) continue; TAILQ_FOREACH_SAFE(pv, &m->md.pv_list, pv_list, next_pv) { va = pv->pv_va; ==== //depot/projects/trustedbsd/priv/sys/amd64/conf/GENERIC.hints#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/amd64/conf/GENERIC.hints,v 1.15 2004/07/22 22:28:34 imp Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC.hints,v 1.16 2006/10/21 12:52:46 ru Exp $ hint.fdc.0.at="isa" hint.fdc.0.port="0x3F0" hint.fdc.0.irq="6" @@ -11,7 +11,6 @@ hint.atkbdc.0.port="0x060" hint.atkbd.0.at="atkbdc" hint.atkbd.0.irq="1" -hint.atkbd.0.flags="0x1" hint.psm.0.at="atkbdc" hint.psm.0.irq="12" hint.vga.0.at="isa" ==== //depot/projects/trustedbsd/priv/sys/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.60 2006/10/19 05:17:55 imp Exp $ +# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.63 2006/10/23 13:23:13 ru Exp $ # # @@ -202,6 +202,61 @@ # Optional devices: # +# PS/2 mouse +device psm +hint.psm.0.at="atkbdc" +hint.psm.0.irq="12" + +# Options for psm: +options PSM_HOOKRESUME #hook the system resume event, useful + #for some laptops +options PSM_RESETAFTERSUSPEND #reset the device at the resume event + +# The keyboard controller; it controls the keyboard and the PS/2 mouse. +device atkbdc +hint.atkbdc.0.at="isa" +hint.atkbdc.0.port="0x060" + +# The AT keyboard +device atkbd +hint.atkbd.0.at="atkbdc" +hint.atkbd.0.irq="1" + +# Options for atkbd: +options ATKBD_DFLT_KEYMAP # specify the built-in keymap +makeoptions ATKBD_DFLT_KEYMAP=jp.106 + +# `flags' for atkbd: +# 0x01 Force detection of keyboard, else we always assume a keyboard +# 0x02 Don't reset keyboard, useful for some newer ThinkPads +# 0x03 Force detection and avoid reset, might help with certain +# dockingstations +# 0x04 Old-style (XT) keyboard support, useful for older ThinkPads + +# Video card driver for VGA adapters. +device vga +hint.vga.0.at="isa" + +# Options for vga: +# Try the following option if the mouse pointer is not drawn correctly +# or font does not seem to be loaded properly. May cause flicker on +# some systems. +options VGA_ALT_SEQACCESS + +# If you can dispense with some vga driver features, you may want to +# use the following options to save some memory. +#options VGA_NO_FONT_LOADING # don't save/load font +#options VGA_NO_MODE_CHANGE # don't change video modes + +# Older video cards may require this option for proper operation. +options VGA_SLOW_IOACCESS # do byte-wide i/o's to TS and GDC regs + +# The following option probably won't work with the LCD displays. +options VGA_WIDTH90 # support 90 column modes + +# Debugging. +options VGA_DEBUG + # 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 @@ -609,7 +664,3 @@ # Enable NDIS binary driver support options NDISAPI device ndis - - -# The I/O device -device io ==== //depot/projects/trustedbsd/priv/sys/arm/arm/cpufunc.c#2 (text+ko) ==== @@ -45,11 +45,8 @@ * Created : 30/01/97 */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/cpufunc.c,v 1.11 2006/08/24 23:51:27 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/cpufunc.c,v 1.12 2006/10/21 04:25:00 kevlo Exp $"); -#include - -#include #include #include #include ==== //depot/projects/trustedbsd/priv/sys/arm/arm/elf_trampoline.c#2 (text+ko) ==== @@ -23,9 +23,8 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/elf_trampoline.c,v 1.13 2006/08/24 23:51:27 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/elf_trampoline.c,v 1.14 2006/10/21 04:25:00 kevlo Exp $"); #include -#include #include #include #include ==== //depot/projects/trustedbsd/priv/sys/arm/arm/nexus.c#2 (text+ko) ==== @@ -40,7 +40,7 @@ */ #include -__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 #include @@ -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/trustedbsd/priv/sys/arm/arm/nexus_io.c#2 (text+ko) ==== @@ -37,12 +37,11 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/nexus_io.c,v 1.5 2005/01/05 21:58:47 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/nexus_io.c,v 1.6 2006/10/21 04:25:00 kevlo Exp $"); #include #include #include -#include #include #include #include ==== //depot/projects/trustedbsd/priv/sys/arm/arm/trap.c#2 (text+ko) ==== @@ -82,9 +82,7 @@ #include "opt_ktrace.h" #include -__FBSDID("$FreeBSD: src/sys/arm/arm/trap.c,v 1.27 2006/07/28 20:22:57 jhb Exp $"); - -#include +__FBSDID("$FreeBSD: src/sys/arm/arm/trap.c,v 1.31 2006/10/21 04:25:00 kevlo Exp $"); #include #include @@ -900,9 +898,9 @@ nap--; } else if (code == SYS___syscall) { - code = *ap++; + code = ap[_QUAD_LOWWORD]; nap -= 2; - ap++; + ap += 2; } if (p->p_sysent->sv_mask) code &= p->p_sysent->sv_mask; @@ -941,21 +939,22 @@ switch (error) { case 0: #ifdef __ARMEB__ - if ((insn & 0x000fffff) && + if ((insn & 0x000fffff) == SYS___syscall && (code != SYS_lseek)) { /* * 64-bit return, 32-bit syscall. Fixup byte order - */ + */ frame->tf_r0 = 0; frame->tf_r1 = td->td_retval[0]; } else { - frame->tf_r0 = td->td_retval[0]; - frame->tf_r1 = td->td_retval[1]; + frame->tf_r0 = td->td_retval[0]; + frame->tf_r1 = td->td_retval[1]; } #else - frame->tf_r0 = td->td_retval[0]; - frame->tf_r1 = td->td_retval[1]; -#endif + frame->tf_r0 = td->td_retval[0]; + frame->tf_r1 = td->td_retval[1]; +#endif + frame->tf_spsr &= ~PSR_C_bit; /* carry bit */ break; ==== //depot/projects/trustedbsd/priv/sys/arm/arm/undefined.c#2 (text+ko) ==== @@ -48,7 +48,7 @@ #include "opt_ddb.h" #include -__FBSDID("$FreeBSD: src/sys/arm/arm/undefined.c,v 1.13 2006/04/09 20:16:47 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/undefined.c,v 1.14 2006/10/21 04:25:00 kevlo Exp $"); #include #include @@ -58,7 +58,6 @@ #include #include #include -#include #include #include #include ==== //depot/projects/trustedbsd/priv/sys/arm/arm/vm_machdep.c#2 (text+ko) ==== @@ -41,7 +41,7 @@ */ #include -__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 #include @@ -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/trustedbsd/priv/sys/arm/at91/at91_spi.c#2 (text) ==== @@ -23,14 +23,13 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/at91/at91_spi.c,v 1.2 2006/07/14 21:35:59 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/at91_spi.c,v 1.3 2006/10/20 07:10:13 imp Exp $"); #include #include #include #include #include -#include #include #include #include @@ -50,9 +49,9 @@ void *intrhand; /* Interrupt handle */ struct resource *irq_res; /* IRQ resource */ struct resource *mem_res; /* Memory resource */ - struct mtx sc_mtx; /* basically a perimeter lock */ bus_dma_tag_t dmatag; /* bus dma tag for mbufs */ bus_dmamap_t map[4]; /* Maps for the transaction */ + int rxdone; }; static inline uint32_t @@ -67,19 +66,7 @@ bus_write_4(sc->mem_res, off, val); } -#define AT91_SPI_LOCK(_sc) mtx_lock(&(_sc)->sc_mtx) -#define AT91_SPI_UNLOCK(_sc) mtx_unlock(&(_sc)->sc_mtx) -#define AT91_SPI_LOCK_INIT(_sc) \ - mtx_init(&_sc->sc_mtx, device_get_nameunit(_sc->dev), \ - "spi", MTX_DEF) -#define AT91_SPI_LOCK_DESTROY(_sc) mtx_destroy(&_sc->sc_mtx); -#define AT91_SPI_ASSERT_LOCKED(_sc) mtx_assert(&_sc->sc_mtx, MA_OWNED); -#define AT91_SPI_ASSERT_UNLOCKED(_sc) mtx_assert(&_sc->sc_mtx, MA_NOTOWNED); - -static devclass_t at91_spi_devclass; - /* bus entry points */ - static int at91_spi_probe(device_t dev); static int at91_spi_attach(device_t dev); static int at91_spi_detach(device_t dev); @@ -87,6 +74,7 @@ /* helper routines */ static int at91_spi_activate(device_t dev); static void at91_spi_deactivate(device_t dev); +static void at91_spi_intr(void *arg); static int at91_spi_probe(device_t dev) @@ -106,8 +94,6 @@ if (err) goto out; - AT91_SPI_LOCK_INIT(sc); - /* * Allocate DMA tags and maps */ @@ -124,6 +110,7 @@ // reset the SPI WR4(sc, SPI_CR, SPI_CR_SWRST); + WR4(sc, SPI_IDR, 0xffffffff); WR4(sc, SPI_MR, (0xf << 24) | SPI_MR_MSTR | SPI_MR_MODFDIS | (0xE << 16)); @@ -141,8 +128,6 @@ WR4(sc, PDC_RCR, 0); WR4(sc, PDC_TPR, 0); WR4(sc, PDC_TCR, 0); - WR4(sc, PDC_PTCR, PDC_PTCR_RXTEN); - WR4(sc, PDC_PTCR, PDC_PTCR_TXTEN); RD4(sc, SPI_RDR); RD4(sc, SPI_SR); @@ -164,7 +149,7 @@ at91_spi_activate(device_t dev) { struct at91_spi_softc *sc; - int rid; + int rid, err = ENOMEM; sc = device_get_softc(dev); rid = 0; @@ -175,12 +160,16 @@ rid = 0; sc->irq_res = bus_alloc_resource_any(dev, SYS_RES_IRQ, &rid, RF_ACTIVE); - if (sc->mem_res == NULL) + if (sc->irq_res == NULL) + goto errout; + err = bus_setup_intr(dev, sc->irq_res, INTR_TYPE_MISC | INTR_MPSAFE, + at91_spi_intr, sc, &sc->intrhand); + if (err != 0) goto errout; return (0); errout: at91_spi_deactivate(dev); - return (ENOMEM); + return (err); } static void @@ -216,7 +205,7 @@ at91_spi_transfer(device_t dev, device_t child, struct spi_command *cmd) { struct at91_spi_softc *sc; - int i; + int i, j, rxdone, err, mode[4]; bus_addr_t addr; sc = device_get_softc(dev); @@ -228,49 +217,73 @@ WR4(sc, PDC_TPR, addr); WR4(sc, PDC_TCR, cmd->tx_cmd_sz); bus_dmamap_sync(sc->dmatag, sc->map[i], BUS_DMASYNC_PREWRITE); - i++; - if (bus_dmamap_load(sc->dmatag, sc->map[i], cmd->tx_data, - cmd->tx_data_sz, at91_getaddr, &addr, 0) != 0) - goto out; - WR4(sc, PDC_TNPR, addr); - WR4(sc, PDC_TNCR, cmd->tx_cmd_sz); - bus_dmamap_sync(sc->dmatag, sc->map[i], BUS_DMASYNC_PREWRITE); - i++; + mode[i++] = BUS_DMASYNC_POSTWRITE; + if (cmd->tx_data_sz > 0) { + if (bus_dmamap_load(sc->dmatag, sc->map[i], cmd->tx_data, + cmd->tx_data_sz, at91_getaddr, &addr, 0) != 0) + goto out; + WR4(sc, PDC_TNPR, addr); + WR4(sc, PDC_TNCR, cmd->tx_cmd_sz); + bus_dmamap_sync(sc->dmatag, sc->map[i], BUS_DMASYNC_PREWRITE); + mode[i++] = BUS_DMASYNC_POSTWRITE; + } if (bus_dmamap_load(sc->dmatag, sc->map[i], cmd->rx_cmd, cmd->tx_cmd_sz, at91_getaddr, &addr, 0) != 0) goto out; WR4(sc, PDC_RPR, addr); WR4(sc, PDC_RCR, cmd->tx_cmd_sz); bus_dmamap_sync(sc->dmatag, sc->map[i], BUS_DMASYNC_PREREAD); - i++; - if (bus_dmamap_load(sc->dmatag, sc->map[i], cmd->rx_data, - cmd->tx_data_sz, at91_getaddr, &addr, 0) != 0) - goto out; - WR4(sc, PDC_RNPR, addr); - WR4(sc, PDC_RNCR, cmd->tx_data_sz); - bus_dmamap_sync(sc->dmatag, sc->map[i], BUS_DMASYNC_PREREAD); - + mode[i++] = BUS_DMASYNC_POSTREAD; + if (cmd->tx_data_sz > 0) { + if (bus_dmamap_load(sc->dmatag, sc->map[i], cmd->rx_data, + cmd->tx_data_sz, at91_getaddr, &addr, 0) != 0) + goto out; + WR4(sc, PDC_RNPR, addr); + WR4(sc, PDC_RNCR, cmd->tx_data_sz); + bus_dmamap_sync(sc->dmatag, sc->map[i], BUS_DMASYNC_PREREAD); + mode[i++] = BUS_DMASYNC_POSTREAD; + } + WR4(sc, SPI_IER, SPI_SR_ENDRX); WR4(sc, PDC_PTCR, PDC_PTCR_TXTEN | PDC_PTCR_RXTEN); - // wait for completion - // XXX should be done as an ISR of some sort. - while (RD4(sc, SPI_SR) & SPI_SR_ENDRX) - DELAY(700); - - // Sync the buffers after the DMA is done, and unload them. - bus_dmamap_sync(sc->dmatag, sc->map[0], BUS_DMASYNC_POSTWRITE); - bus_dmamap_sync(sc->dmatag, sc->map[1], BUS_DMASYNC_POSTWRITE); - bus_dmamap_sync(sc->dmatag, sc->map[2], BUS_DMASYNC_POSTREAD); - bus_dmamap_sync(sc->dmatag, sc->map[3], BUS_DMASYNC_POSTREAD); - for (i = 0; i < 4; i++) - bus_dmamap_unload(sc->dmatag, sc->map[i]); - return (0); + rxdone = sc->rxdone; + do { + err = msleep(&sc->rxdone, NULL, PCATCH | PZERO, "spi", hz); + } while (rxdone == sc->rxdone && err != EINTR); + WR4(sc, PDC_PTCR, PDC_PTCR_TXTDIS | PDC_PTCR_RXTDIS); + if (err == 0) { + for (j = 0; j < i; j++) + bus_dmamap_sync(sc->dmatag, sc->map[j], mode[j]); + } + for (j = 0; j < i; j++) + bus_dmamap_unload(sc->dmatag, sc->map[j]); + return (err); out:; - while (i-- > 0) - bus_dmamap_unload(sc->dmatag, sc->map[i]); + for (j = 0; j < i; j++) + bus_dmamap_unload(sc->dmatag, sc->map[j]); return (EIO); } +static void +at91_spi_intr(void *arg) +{ + struct at91_spi_softc *sc = (struct at91_spi_softc*)arg; + uint32_t sr; + + sr = RD4(sc, SPI_SR) & RD4(sc, SPI_IMR); + if (sr & SPI_SR_ENDRX) { + sc->rxdone++; + WR4(sc, SPI_IDR, SPI_SR_ENDRX); + wakeup(&sc->rxdone); + } + if (sr & ~SPI_SR_ENDRX) { + device_printf(sc->dev, "Unexpected ISR %#x\n", sr); + WR4(sc, SPI_IDR, sr & ~SPI_SR_ENDRX); + } +} + +static devclass_t at91_spi_devclass; + static device_method_t at91_spi_methods[] = { /* Device interface */ DEVMETHOD(device_probe, at91_spi_probe), ==== //depot/projects/trustedbsd/priv/sys/arm/at91/at91_ssc.c#2 (text) ==== @@ -23,7 +23,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/at91/at91_ssc.c,v 1.2 2006/07/14 22:30:44 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/at91_ssc.c,v 1.3 2006/10/20 07:08:59 imp Exp $"); #include #include @@ -88,14 +88,16 @@ /* cdev routines */ static d_open_t at91_ssc_open; static d_close_t at91_ssc_close; -static d_ioctl_t at91_ssc_ioctl; +static d_read_t at91_ssc_read; +static d_write_t at91_ssc_write; static struct cdevsw at91_ssc_cdevsw = { .d_version = D_VERSION, .d_open = at91_ssc_open, .d_close = at91_ssc_close, - .d_ioctl = at91_ssc_ioctl + .d_read = at91_ssc_read, + .d_write = at91_ssc_write, }; static int @@ -134,6 +136,19 @@ goto out; } sc->cdev->si_drv1 = sc; + + // Init for TSC needs + WR4(sc, SSC_CR, SSC_CR_SWRST); + WR4(sc, SSC_CMR, 0); // clock divider unused + WR4(sc, SSC_RCMR, + SSC_RCMR_CKS_RK | SSC_RCMR_CKO_NONE | SSC_RCMR_START_FALL_EDGE_RF); + WR4(sc, SSC_RFMR, + 0x1f | SSC_RFMR_MSFBF | SSC_RFMR_FSOS_NONE); + WR4(sc, SSC_TCMR, + SSC_TCMR_CKS_TK | SSC_TCMR_CKO_NONE | SSC_RCMR_START_CONT); + WR4(sc, SSC_TFMR, + 0x1f | SSC_TFMR_DATDEF | SSC_TFMR_MSFBF | SSC_TFMR_FSOS_NEG_PULSE); + out:; if (err) at91_ssc_deactivate(dev); @@ -161,7 +176,7 @@ rid = 0; sc->irq_res = bus_alloc_resource_any(dev, SYS_RES_IRQ, &rid, RF_ACTIVE); - if (sc->mem_res == NULL) + if (sc->irq_res == NULL) goto errout; return (0); errout: @@ -241,10 +256,15 @@ } static int -at91_ssc_ioctl(struct cdev *dev, u_long cmd, caddr_t data, int fflag, - struct thread *td) +at91_ssc_read(struct cdev *dev, struct uio *uio, int flag) +{ + return EIO; +} + +static int +at91_ssc_write(struct cdev *dev, struct uio *uio, int flag) { - return (ENXIO); + return EIO; } static device_method_t at91_ssc_methods[] = { ==== //depot/projects/trustedbsd/priv/sys/arm/at91/at91_sscreg.h#2 (text) ==== @@ -22,9 +22,128 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -/* $FreeBSD: src/sys/arm/at91/at91_sscreg.h,v 1.1 2006/03/24 07:42:33 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 +/* Registers */ +#define SSC_CR 0x00 /* Control Register */ +#define SSC_CMR 0x04 /* Clock Mode Register */ + /* 0x08 Reserved */ + /* 0x0c Reserved */ +#define SSC_RCMR 0x10 /* Receive Clock Mode Register */ +#define SSC_RFMR 0x14 /* Receive Frame Mode Register */ +#define SSC_TCMR 0x18 /* Transmit Clock Mode Register */ +#define SSC_TFMR 0x1c /* Transmit Frame Mode register */ +#define SSC_RHR 0x20 /* Receive Holding Register */ +#define SSC_THR 0x24 /* Transmit Holding Register */ + /* 0x28 Reserved */ + /* 0x2c Reserved */ +#define SSC_RSHR 0x30 /* Receive Sync Holding Register */ +#define SSC_TSHR 0x34 /* Transmit Sync Holding Register */ + /* 0x38 Reserved */ + /* 0x3c Reserved */ +#define SSC_SR 0x40 /* Status Register */ +#define SSC_IER 0x44 /* Interrupt Enable Register */ +#define SSC_IDR 0x48 /* Interrupt Disable Register */ +#define SSC_IMR 0x4c /* Interrupt Mask Register */ +/* And PDC registers */ + +/* SSC_CR */ +#define SSC_CR_RXEN (1u << 0) /* RXEN: Receive Enable */ +#define SSC_CR_RXDIS (1u << 1) /* RXDIS: Receive Disable */ +#define SSC_CR_TXEN (1u << 8) /* TXEN: Transmit Enable */ +#define SSC_CR_TXDIS (1u << 9) /* TXDIS: Transmit Disable */ +#define SSC_CR_SWRST (1u << 15) /* SWRST: Software Reset */ + +/* SSC_CMR */ +#define SSC_CMR_DIV 0xfffu /* DIV: Clock Divider mask */ + +/* SSC_RCMR */ +#define SSC_RCMR_PERIOD (0xffu << 24) /* PERIOD: Receive Period Divider sel*/ +#define SSC_RCMR_STTDLY (0xffu << 16) /* STTDLY: Receive Start Delay */ +#define SSC_RCMR_START (0xfu << 8) /* START: Receive Start Sel */ +#define SSC_RCMR_START_CONT (0u << 8) +#define SSC_RCMR_START_TX_START (1u << 8) +#define SSC_RCMR_START_LOW_RF (2u << 8) +#define SSC_RCMR_START_HIGH_RF (3u << 8) +#define SSC_RCMR_START_FALL_EDGE_RF (4u << 8) +#define SSC_RCMR_START_RISE_EDGE_RF (5u << 8) +#define SSC_RCMR_START_LEVEL_CHANGE_RF (6u << 8) +#define SSC_RCMR_START_ANY_EDGE_RF (7u << 8) +#define SSC_RCMR_CKI (1u << 5) /* CKI: Receive Clock Inversion */ +#define SSC_RCMR_CKO (7u << 2) /* CKO: Receive Clock Output Mode Sel*/ +#define SSC_RCMR_CKO_NONE (0u << 2) +#define SSC_RCMR_CKO_CONTINUOUS (1u << 2) +#define SSC_RCMR_CKS (3u) /* CKS: Receive Clock Selection */ +#define SSC_RCMR_CKS_DIVIDED (0) +#define SSC_RCMR_CKS_TK_CLOCK (1) +#define SSC_RCMR_CKS_RK (2) + +/* SSC_RFMR */ +#define SSC_RFMR_FSEDGE (1u << 24) /* FSEDGE: Frame Sync Edge Detection */ +#define SSC_RFMR_FSOS (7u << 20) /* FSOS: Receive frame Sync Out sel */ +#define SSC_RFMR_FSOS_NONE (0u << 20) +#define SSC_RFMR_FSOS_NEG_PULSE (1u << 20) +#define SSC_RFMR_FSOS_POS_PULSE (2u << 20) +#define SSC_RFMR_FSOS_LOW (3u << 20) +#define SSC_RFMR_FSOS_HIGH (4u << 20) +#define SSC_RFMR_FSOS_TOGGLE (5u << 20) +#define SSC_RFMR_FSLEN (0xfu << 16) /* FSLEN: Receive Frame Sync Length */ +#define SSC_RFMR_DATNB (0xfu << 8) /* DATNB: Data Number per Frame */ +#define SSC_RFMR_MSFBF (1u << 7) /* MSBF: Most Significant Bit First */ +#define SSC_RFMR_LOOP (1u << 5) /* LOOP: Loop Mode */ +#define SSC_RFMR_DATLEN (0x1fu << 0) /* DATLEN: Data Length */ + +/* SSC_TCMR */ +#define SSC_TCMR_PERIOD (0xffu << 24) /* PERIOD: Receive Period Divider sel*/ +#define SSC_TCMR_STTDLY (0xffu << 16) /* STTDLY: Receive Start Delay */ +#define SSC_TCMR_START (0xfu << 8) /* START: Receive Start Sel */ +#define SSC_TCMR_START_CONT (0u << 8) +#define SSC_TCMR_START_RX_START (1u << 8) +#define SSC_TCMR_START_LOW_RF (2u << 8) +#define SSC_TCMR_START_HIGH_RF (3u << 8) >>> TRUNCATED FOR MAIL (1000 lines) <<<