Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 29 Oct 2006 19:44:31 GMT
From:      Robert Watson <rwatson@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 108682 for review
Message-ID:  <200610291944.k9TJiVSd097126@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
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 <sys/cdefs.h>
-__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 <sys/param.h>
 #include <sys/systm.h>
@@ -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 <sys/cdefs.h>
-__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 <sys/cdefs.h>
-__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 <sys/cdefs.h>
-
-#include <sys/types.h>
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/lock.h>

==== //depot/projects/trustedbsd/priv/sys/arm/arm/elf_trampoline.c#2 (text+ko) ====

@@ -23,9 +23,8 @@
  */
 
 #include <sys/cdefs.h>
-__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 <machine/asm.h>
-#include <sys/types.h>
 #include <sys/elf32.h>
 #include <sys/param.h>
 #include <sys/inflate.h>

==== //depot/projects/trustedbsd/priv/sys/arm/arm/nexus.c#2 (text+ko) ====

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

==== //depot/projects/trustedbsd/priv/sys/arm/arm/nexus_io.c#2 (text+ko) ====

@@ -37,12 +37,11 @@
  */
 
 #include <sys/cdefs.h>
-__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 <sys/param.h>
 #include <sys/systm.h>
 #include <sys/queue.h>
-#include <sys/types.h>
 #include <sys/bus.h>
 #include <sys/lock.h>
 #include <sys/mutex.h>

==== //depot/projects/trustedbsd/priv/sys/arm/arm/trap.c#2 (text+ko) ====

@@ -82,9 +82,7 @@
 #include "opt_ktrace.h"
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/trap.c,v 1.27 2006/07/28 20:22:57 jhb Exp $");
-
-#include <sys/types.h>
+__FBSDID("$FreeBSD: src/sys/arm/arm/trap.c,v 1.31 2006/10/21 04:25:00 kevlo Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -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 <sys/cdefs.h>
-__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 <sys/param.h>
 #include <sys/malloc.h>
@@ -58,7 +58,6 @@
 #include <sys/proc.h>
 #include <sys/syslog.h>
 #include <sys/vmmeter.h>
-#include <sys/types.h>
 #include <sys/lock.h>
 #include <sys/mutex.h>
 #include <sys/signalvar.h>

==== //depot/projects/trustedbsd/priv/sys/arm/arm/vm_machdep.c#2 (text+ko) ====

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

==== //depot/projects/trustedbsd/priv/sys/arm/at91/at91_spi.c#2 (text) ====

@@ -23,14 +23,13 @@
  */
 
 #include <sys/cdefs.h>
-__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 <sys/param.h>
 #include <sys/systm.h>
 #include <sys/bus.h>
 #include <sys/conf.h>
 #include <sys/kernel.h>
-#include <sys/lock.h>
 #include <sys/mbuf.h>
 #include <sys/malloc.h>
 #include <sys/module.h>
@@ -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 <sys/cdefs.h>
-__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 <sys/param.h>
 #include <sys/systm.h>
@@ -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) <<<



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