PERFORCE change 108682 for review
Robert Watson
rwatson at FreeBSD.org
Sun Oct 29 19:44:40 UTC 2006
http://perforce.freebsd.org/chv.cgi?CH=108682
Change 108682 by rwatson at 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) <<<
More information about the trustedbsd-cvs
mailing list