PERFORCE change 108267 for review
Roman Divacky
rdivacky at FreeBSD.org
Sun Oct 22 07:24:44 PDT 2006
http://perforce.freebsd.org/chv.cgi?CH=108267
Change 108267 by rdivacky at rdivacky_witten on 2006/10/22 14:23:58
IFC
Affected files ...
.. //depot/projects/linuxolator/src/sys/amd64/amd64/busdma_machdep.c#2 integrate
.. //depot/projects/linuxolator/src/sys/amd64/amd64/db_trace.c#2 integrate
.. //depot/projects/linuxolator/src/sys/amd64/amd64/intr_machdep.c#4 integrate
.. //depot/projects/linuxolator/src/sys/amd64/amd64/pmap.c#2 integrate
.. //depot/projects/linuxolator/src/sys/amd64/amd64/support.S#3 integrate
.. //depot/projects/linuxolator/src/sys/amd64/conf/GENERIC.hints#2 integrate
.. //depot/projects/linuxolator/src/sys/amd64/conf/NOTES#3 integrate
.. //depot/projects/linuxolator/src/sys/arm/arm/cpufunc.c#2 integrate
.. //depot/projects/linuxolator/src/sys/arm/arm/elf_trampoline.c#2 integrate
.. //depot/projects/linuxolator/src/sys/arm/arm/fusu.S#2 integrate
.. //depot/projects/linuxolator/src/sys/arm/arm/nexus_io.c#2 integrate
.. //depot/projects/linuxolator/src/sys/arm/arm/trap.c#2 integrate
.. //depot/projects/linuxolator/src/sys/arm/arm/undefined.c#2 integrate
.. //depot/projects/linuxolator/src/sys/arm/at91/at91_mci.c#1 branch
.. //depot/projects/linuxolator/src/sys/arm/at91/at91_mcireg.h#1 branch
.. //depot/projects/linuxolator/src/sys/arm/at91/at91_spi.c#2 integrate
.. //depot/projects/linuxolator/src/sys/arm/at91/at91_ssc.c#2 integrate
.. //depot/projects/linuxolator/src/sys/arm/at91/at91_sscreg.h#2 integrate
.. //depot/projects/linuxolator/src/sys/arm/at91/at91_twi.c#2 integrate
.. //depot/projects/linuxolator/src/sys/arm/at91/if_ate.c#2 integrate
.. //depot/projects/linuxolator/src/sys/arm/at91/kb920x_machdep.c#2 integrate
.. //depot/projects/linuxolator/src/sys/arm/sa11x0/sa11x0.c#2 integrate
.. //depot/projects/linuxolator/src/sys/arm/sa11x0/sa11x0_io.c#2 integrate
.. //depot/projects/linuxolator/src/sys/arm/sa11x0/sa11x0_irqhandler.c#2 integrate
.. //depot/projects/linuxolator/src/sys/arm/sa11x0/sa11x0_ost.c#2 integrate
.. //depot/projects/linuxolator/src/sys/boot/arm/at91/Makefile.inc#2 integrate
.. //depot/projects/linuxolator/src/sys/boot/arm/at91/boot0spi/main.c#2 integrate
.. //depot/projects/linuxolator/src/sys/boot/arm/at91/boot2/Makefile#1 branch
.. //depot/projects/linuxolator/src/sys/boot/arm/at91/boot2/boot2.c#1 branch
.. //depot/projects/linuxolator/src/sys/boot/arm/at91/boot2/kb920x_board.c#1 branch
.. //depot/projects/linuxolator/src/sys/boot/arm/at91/bootiic/env_vars.c#2 integrate
.. //depot/projects/linuxolator/src/sys/boot/arm/at91/bootiic/loader_prompt.c#2 integrate
.. //depot/projects/linuxolator/src/sys/boot/arm/at91/bootspi/Makefile#2 integrate
.. //depot/projects/linuxolator/src/sys/boot/arm/at91/bootspi/arm_init.S#2 integrate
.. //depot/projects/linuxolator/src/sys/boot/arm/at91/bootspi/ee.c#1 branch
.. //depot/projects/linuxolator/src/sys/boot/arm/at91/bootspi/ee.h#1 branch
.. //depot/projects/linuxolator/src/sys/boot/arm/at91/bootspi/env_vars.c#2 integrate
.. //depot/projects/linuxolator/src/sys/boot/arm/at91/bootspi/loader_prompt.c#2 integrate
.. //depot/projects/linuxolator/src/sys/boot/arm/at91/bootspi/main.c#2 integrate
.. //depot/projects/linuxolator/src/sys/boot/arm/at91/libat91/Makefile#2 integrate
.. //depot/projects/linuxolator/src/sys/boot/arm/at91/libat91/at91rm9200.h#2 integrate
.. //depot/projects/linuxolator/src/sys/boot/arm/at91/libat91/at91rm9200_lowlevel.c#2 integrate
.. //depot/projects/linuxolator/src/sys/boot/arm/at91/libat91/emac.c#2 integrate
.. //depot/projects/linuxolator/src/sys/boot/arm/at91/libat91/emac.h#2 integrate
.. //depot/projects/linuxolator/src/sys/boot/arm/at91/libat91/emac_init.c#2 integrate
.. //depot/projects/linuxolator/src/sys/boot/arm/at91/libat91/lib.h#2 integrate
.. //depot/projects/linuxolator/src/sys/boot/arm/at91/libat91/lib_AT91RM9200.h#2 integrate
.. //depot/projects/linuxolator/src/sys/boot/arm/at91/libat91/mci_device.c#2 integrate
.. //depot/projects/linuxolator/src/sys/boot/arm/at91/libat91/mci_device.h#2 integrate
.. //depot/projects/linuxolator/src/sys/boot/arm/at91/libat91/memcmp.c#1 branch
.. //depot/projects/linuxolator/src/sys/boot/arm/at91/libat91/memcpy.c#1 branch
.. //depot/projects/linuxolator/src/sys/boot/arm/at91/libat91/memset.c#1 branch
.. //depot/projects/linuxolator/src/sys/boot/arm/at91/libat91/p_string.c#2 integrate
.. //depot/projects/linuxolator/src/sys/boot/arm/at91/libat91/printf.c#2 integrate
.. //depot/projects/linuxolator/src/sys/boot/arm/at91/libat91/putchar.c#2 integrate
.. //depot/projects/linuxolator/src/sys/boot/arm/at91/libat91/sd-card.c#2 integrate
.. //depot/projects/linuxolator/src/sys/boot/arm/at91/libat91/spi_flash.c#2 integrate
.. //depot/projects/linuxolator/src/sys/boot/arm/at91/libat91/strcmp.c#1 branch
.. //depot/projects/linuxolator/src/sys/boot/arm/at91/libat91/strcpy.c#1 branch
.. //depot/projects/linuxolator/src/sys/boot/arm/at91/libat91/strcvt.c#1 branch
.. //depot/projects/linuxolator/src/sys/boot/arm/at91/libat91/strlen.c#1 branch
.. //depot/projects/linuxolator/src/sys/compat/freebsd32/freebsd32_proto.h#5 integrate
.. //depot/projects/linuxolator/src/sys/compat/freebsd32/freebsd32_syscall.h#5 integrate
.. //depot/projects/linuxolator/src/sys/compat/freebsd32/freebsd32_syscalls.c#5 integrate
.. //depot/projects/linuxolator/src/sys/compat/freebsd32/freebsd32_sysent.c#5 integrate
.. //depot/projects/linuxolator/src/sys/compat/freebsd32/syscalls.master#5 integrate
.. //depot/projects/linuxolator/src/sys/compat/linux/linux_file.c#6 integrate
.. //depot/projects/linuxolator/src/sys/compat/linux/linux_getcwd.c#2 integrate
.. //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#16 integrate
.. //depot/projects/linuxolator/src/sys/compat/linux/linux_stats.c#2 integrate
.. //depot/projects/linuxolator/src/sys/compat/svr4/svr4_fcntl.c#2 integrate
.. //depot/projects/linuxolator/src/sys/compat/svr4/svr4_misc.c#2 integrate
.. //depot/projects/linuxolator/src/sys/conf/NOTES#6 integrate
.. //depot/projects/linuxolator/src/sys/conf/files#6 integrate
.. //depot/projects/linuxolator/src/sys/conf/files.pc98#2 integrate
.. //depot/projects/linuxolator/src/sys/conf/kmod.mk#3 integrate
.. //depot/projects/linuxolator/src/sys/contrib/pf/net/pf.c#3 integrate
.. //depot/projects/linuxolator/src/sys/crypto/sha2/sha2.c#2 integrate
.. //depot/projects/linuxolator/src/sys/dev/awi/if_awi_pccard.c#2 integrate
.. //depot/projects/linuxolator/src/sys/dev/bce/if_bce.c#5 integrate
.. //depot/projects/linuxolator/src/sys/dev/bce/if_bcereg.h#3 integrate
.. //depot/projects/linuxolator/src/sys/dev/bge/if_bge.c#5 integrate
.. //depot/projects/linuxolator/src/sys/dev/mfi/mfi.c#5 integrate
.. //depot/projects/linuxolator/src/sys/dev/mfi/mfi_debug.c#2 integrate
.. //depot/projects/linuxolator/src/sys/dev/mfi/mfi_disk.c#2 integrate
.. //depot/projects/linuxolator/src/sys/dev/mfi/mfireg.h#2 integrate
.. //depot/projects/linuxolator/src/sys/dev/mfi/mfivar.h#4 integrate
.. //depot/projects/linuxolator/src/sys/dev/mmc/bridge.h#1 branch
.. //depot/projects/linuxolator/src/sys/dev/mmc/mmc.c#1 branch
.. //depot/projects/linuxolator/src/sys/dev/mmc/mmcbr_if.m#1 branch
.. //depot/projects/linuxolator/src/sys/dev/mmc/mmcbrvar.h#1 branch
.. //depot/projects/linuxolator/src/sys/dev/mmc/mmcbus_if.m#1 branch
.. //depot/projects/linuxolator/src/sys/dev/mmc/mmcreg.h#1 branch
.. //depot/projects/linuxolator/src/sys/dev/mmc/mmcsd.c#1 branch
.. //depot/projects/linuxolator/src/sys/dev/mmc/mmcvar.h#1 branch
.. //depot/projects/linuxolator/src/sys/dev/mxge/if_mxge.c#3 integrate
.. //depot/projects/linuxolator/src/sys/dev/nfe/if_nfe.c#3 integrate
.. //depot/projects/linuxolator/src/sys/dev/nfe/if_nfereg.h#3 integrate
.. //depot/projects/linuxolator/src/sys/dev/pci/pci.c#4 integrate
.. //depot/projects/linuxolator/src/sys/dev/ray/if_ray.c#2 integrate
.. //depot/projects/linuxolator/src/sys/dev/sound/pci/hda/hdac.c#5 integrate
.. //depot/projects/linuxolator/src/sys/dev/spibus/spibus.c#2 integrate
.. //depot/projects/linuxolator/src/sys/dev/usb/ehci.c#3 integrate
.. //depot/projects/linuxolator/src/sys/dev/usb/if_axe.c#2 integrate
.. //depot/projects/linuxolator/src/sys/dev/usb/if_udav.c#2 integrate
.. //depot/projects/linuxolator/src/sys/dev/usb/if_ural.c#3 integrate
.. //depot/projects/linuxolator/src/sys/dev/usb/ohci.c#3 integrate
.. //depot/projects/linuxolator/src/sys/dev/usb/uhci.c#2 integrate
.. //depot/projects/linuxolator/src/sys/dev/usb/usb.c#2 integrate
.. //depot/projects/linuxolator/src/sys/dev/usb/usbdi.h#2 integrate
.. //depot/projects/linuxolator/src/sys/fs/devfs/devfs.h#3 integrate
.. //depot/projects/linuxolator/src/sys/fs/devfs/devfs_devs.c#3 integrate
.. //depot/projects/linuxolator/src/sys/fs/devfs/devfs_int.h#2 integrate
.. //depot/projects/linuxolator/src/sys/fs/devfs/devfs_vnops.c#3 integrate
.. //depot/projects/linuxolator/src/sys/fs/ntfs/ntfs_vnops.c#2 integrate
.. //depot/projects/linuxolator/src/sys/i386/acpica/Makefile#2 integrate
.. //depot/projects/linuxolator/src/sys/i386/conf/NOTES#4 integrate
.. //depot/projects/linuxolator/src/sys/i386/i386/db_trace.c#2 integrate
.. //depot/projects/linuxolator/src/sys/i386/i386/pmap.c#2 integrate
.. //depot/projects/linuxolator/src/sys/i386/i386/support.s#3 integrate
.. //depot/projects/linuxolator/src/sys/i386/i386/sys_machdep.c#2 integrate
.. //depot/projects/linuxolator/src/sys/i386/ibcs2/ibcs2_misc.c#2 integrate
.. //depot/projects/linuxolator/src/sys/i386/linux/linux_machdep.c#10 integrate
.. //depot/projects/linuxolator/src/sys/ia64/conf/NOTES#2 integrate
.. //depot/projects/linuxolator/src/sys/ia64/ia64/busdma_machdep.c#2 integrate
.. //depot/projects/linuxolator/src/sys/ia64/ia64/clock.c#3 integrate
.. //depot/projects/linuxolator/src/sys/ia64/ia64/pmap.c#2 integrate
.. //depot/projects/linuxolator/src/sys/ia64/ia64/support.S#2 integrate
.. //depot/projects/linuxolator/src/sys/kern/init_main.c#3 integrate
.. //depot/projects/linuxolator/src/sys/kern/init_sysent.c#5 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_acct.c#3 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_acl.c#2 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_alq.c#2 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_conf.c#3 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_environment.c#2 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_exec.c#2 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_exit.c#6 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_fork.c#6 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_intr.c#2 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_jail.c#3 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_ktrace.c#2 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_linker.c#2 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_mac.c#3 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_mbuf.c#3 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_prot.c#3 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_shutdown.c#2 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_sig.c#3 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_sysctl.c#2 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_time.c#3 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_umtx.c#4 integrate
.. //depot/projects/linuxolator/src/sys/kern/link_elf.c#2 integrate
.. //depot/projects/linuxolator/src/sys/kern/link_elf_obj.c#2 integrate
.. //depot/projects/linuxolator/src/sys/kern/subr_trap.c#2 integrate
.. //depot/projects/linuxolator/src/sys/kern/sys_pipe.c#2 integrate
.. //depot/projects/linuxolator/src/sys/kern/sys_socket.c#2 integrate
.. //depot/projects/linuxolator/src/sys/kern/syscalls.c#5 integrate
.. //depot/projects/linuxolator/src/sys/kern/syscalls.master#5 integrate
.. //depot/projects/linuxolator/src/sys/kern/systrace_args.c#5 integrate
.. //depot/projects/linuxolator/src/sys/kern/sysv_msg.c#3 integrate
.. //depot/projects/linuxolator/src/sys/kern/sysv_sem.c#6 integrate
.. //depot/projects/linuxolator/src/sys/kern/sysv_shm.c#3 integrate
.. //depot/projects/linuxolator/src/sys/kern/uipc_mbuf.c#3 integrate
.. //depot/projects/linuxolator/src/sys/kern/uipc_mbuf2.c#2 integrate
.. //depot/projects/linuxolator/src/sys/kern/uipc_sem.c#2 integrate
.. //depot/projects/linuxolator/src/sys/kern/uipc_socket.c#4 integrate
.. //depot/projects/linuxolator/src/sys/kern/uipc_syscalls.c#2 integrate
.. //depot/projects/linuxolator/src/sys/kern/uipc_usrreq.c#2 integrate
.. //depot/projects/linuxolator/src/sys/kern/vfs_bio.c#3 integrate
.. //depot/projects/linuxolator/src/sys/kern/vfs_cluster.c#3 integrate
.. //depot/projects/linuxolator/src/sys/kern/vfs_lookup.c#3 integrate
.. //depot/projects/linuxolator/src/sys/kern/vfs_mount.c#5 integrate
.. //depot/projects/linuxolator/src/sys/kern/vfs_subr.c#4 integrate
.. //depot/projects/linuxolator/src/sys/kern/vfs_syscalls.c#4 integrate
.. //depot/projects/linuxolator/src/sys/kern/vfs_vnops.c#2 integrate
.. //depot/projects/linuxolator/src/sys/modules/mem/Makefile#2 integrate
.. //depot/projects/linuxolator/src/sys/modules/mmc/Makefile#1 branch
.. //depot/projects/linuxolator/src/sys/modules/mmcsd/Makefile#1 branch
.. //depot/projects/linuxolator/src/sys/modules/uart/Makefile#2 integrate
.. //depot/projects/linuxolator/src/sys/net/bpf.c#2 integrate
.. //depot/projects/linuxolator/src/sys/net/bsd_comp.c#2 integrate
.. //depot/projects/linuxolator/src/sys/net/if.c#2 integrate
.. //depot/projects/linuxolator/src/sys/net/if_atmsubr.c#2 integrate
.. //depot/projects/linuxolator/src/sys/net/if_ethersubr.c#2 integrate
.. //depot/projects/linuxolator/src/sys/net/if_fddisubr.c#2 integrate
.. //depot/projects/linuxolator/src/sys/net/if_fwsubr.c#2 integrate
.. //depot/projects/linuxolator/src/sys/net/if_gif.c#2 integrate
.. //depot/projects/linuxolator/src/sys/net/if_iso88025subr.c#2 integrate
.. //depot/projects/linuxolator/src/sys/net/if_ppp.c#2 integrate
.. //depot/projects/linuxolator/src/sys/net/if_stf.c#2 integrate
.. //depot/projects/linuxolator/src/sys/net/if_tun.c#2 integrate
.. //depot/projects/linuxolator/src/sys/netatalk/aarp.c#2 integrate
.. //depot/projects/linuxolator/src/sys/netatalk/ddp_input.c#2 integrate
.. //depot/projects/linuxolator/src/sys/netatalk/ddp_output.c#2 integrate
.. //depot/projects/linuxolator/src/sys/netgraph/netgraph.h#2 integrate
.. //depot/projects/linuxolator/src/sys/netgraph/ng_message.h#2 integrate
.. //depot/projects/linuxolator/src/sys/netgraph/ng_socket.c#2 integrate
.. //depot/projects/linuxolator/src/sys/netgraph/ng_socket.h#2 integrate
.. //depot/projects/linuxolator/src/sys/netinet/if_ether.c#4 integrate
.. //depot/projects/linuxolator/src/sys/netinet/igmp.c#2 integrate
.. //depot/projects/linuxolator/src/sys/netinet/in_pcb.c#2 integrate
.. //depot/projects/linuxolator/src/sys/netinet/ip_divert.c#2 integrate
.. //depot/projects/linuxolator/src/sys/netinet/ip_fw2.c#5 integrate
.. //depot/projects/linuxolator/src/sys/netinet/ip_fw_pfil.c#2 integrate
.. //depot/projects/linuxolator/src/sys/netinet/ip_icmp.c#2 integrate
.. //depot/projects/linuxolator/src/sys/netinet/ip_input.c#2 integrate
.. //depot/projects/linuxolator/src/sys/netinet/ip_mroute.c#4 integrate
.. //depot/projects/linuxolator/src/sys/netinet/ip_options.c#2 integrate
.. //depot/projects/linuxolator/src/sys/netinet/ip_output.c#5 integrate
.. //depot/projects/linuxolator/src/sys/netinet/raw_ip.c#2 integrate
.. //depot/projects/linuxolator/src/sys/netinet/tcp_input.c#5 integrate
.. //depot/projects/linuxolator/src/sys/netinet/tcp_output.c#4 integrate
.. //depot/projects/linuxolator/src/sys/netinet/tcp_subr.c#3 integrate
.. //depot/projects/linuxolator/src/sys/netinet/tcp_syncache.c#3 integrate
.. //depot/projects/linuxolator/src/sys/netinet/udp_usrreq.c#2 integrate
.. //depot/projects/linuxolator/src/sys/netinet6/nd6.c#4 integrate
.. //depot/projects/linuxolator/src/sys/nfsclient/nfs.h#2 integrate
.. //depot/projects/linuxolator/src/sys/nfsserver/nfs_srvsock.c#2 integrate
.. //depot/projects/linuxolator/src/sys/nfsserver/nfs_syscalls.c#2 integrate
.. //depot/projects/linuxolator/src/sys/pc98/conf/NOTES#2 integrate
.. //depot/projects/linuxolator/src/sys/pci/nfsmb.c#3 integrate
.. //depot/projects/linuxolator/src/sys/powerpc/powerpc/copyinout.c#2 integrate
.. //depot/projects/linuxolator/src/sys/security/mac/mac_framework.h#2 integrate
.. //depot/projects/linuxolator/src/sys/security/mac/mac_inet.c#4 integrate
.. //depot/projects/linuxolator/src/sys/security/mac/mac_label.c#2 integrate
.. //depot/projects/linuxolator/src/sys/security/mac/mac_net.c#3 integrate
.. //depot/projects/linuxolator/src/sys/security/mac/mac_pipe.c#3 integrate
.. //depot/projects/linuxolator/src/sys/security/mac/mac_posix_sem.c#3 integrate
.. //depot/projects/linuxolator/src/sys/security/mac/mac_process.c#3 integrate
.. //depot/projects/linuxolator/src/sys/security/mac/mac_socket.c#3 integrate
.. //depot/projects/linuxolator/src/sys/security/mac/mac_system.c#2 integrate
.. //depot/projects/linuxolator/src/sys/security/mac/mac_sysv_msg.c#3 integrate
.. //depot/projects/linuxolator/src/sys/security/mac/mac_sysv_sem.c#3 integrate
.. //depot/projects/linuxolator/src/sys/security/mac/mac_sysv_shm.c#3 integrate
.. //depot/projects/linuxolator/src/sys/security/mac/mac_vfs.c#3 integrate
.. //depot/projects/linuxolator/src/sys/security/mac_lomac/mac_lomac.c#3 integrate
.. //depot/projects/linuxolator/src/sys/sparc64/conf/NOTES#2 integrate
.. //depot/projects/linuxolator/src/sys/sparc64/sparc64/support.S#2 integrate
.. //depot/projects/linuxolator/src/sys/sun4v/conf/NOTES#4 integrate
.. //depot/projects/linuxolator/src/sys/sun4v/sun4v/support.S#2 integrate
.. //depot/projects/linuxolator/src/sys/sun4v/sun4v/trap.c#2 integrate
.. //depot/projects/linuxolator/src/sys/sys/conf.h#2 integrate
.. //depot/projects/linuxolator/src/sys/sys/elf32.h#3 integrate
.. //depot/projects/linuxolator/src/sys/sys/elf64.h#3 integrate
.. //depot/projects/linuxolator/src/sys/sys/mac.h#3 integrate
.. //depot/projects/linuxolator/src/sys/sys/mac_policy.h#3 integrate
.. //depot/projects/linuxolator/src/sys/sys/sem.h#3 integrate
.. //depot/projects/linuxolator/src/sys/sys/syscall.h#5 integrate
.. //depot/projects/linuxolator/src/sys/sys/syscall.mk#5 integrate
.. //depot/projects/linuxolator/src/sys/sys/sysproto.h#5 integrate
.. //depot/projects/linuxolator/src/sys/sys/systm.h#3 integrate
.. //depot/projects/linuxolator/src/sys/sys/umtx.h#3 integrate
.. //depot/projects/linuxolator/src/sys/ufs/ffs/ffs_vfsops.c#3 integrate
.. //depot/projects/linuxolator/src/sys/ufs/ufs/ufs_vnops.c#4 integrate
.. //depot/projects/linuxolator/src/sys/vm/device_pager.c#2 integrate
.. //depot/projects/linuxolator/src/sys/vm/phys_pager.c#2 integrate
.. //depot/projects/linuxolator/src/sys/vm/swap_pager.c#2 integrate
.. //depot/projects/linuxolator/src/sys/vm/vm_contig.c#3 integrate
.. //depot/projects/linuxolator/src/sys/vm/vm_fault.c#2 integrate
.. //depot/projects/linuxolator/src/sys/vm/vm_map.c#2 integrate
.. //depot/projects/linuxolator/src/sys/vm/vm_mmap.c#2 integrate
.. //depot/projects/linuxolator/src/sys/vm/vm_object.c#2 integrate
.. //depot/projects/linuxolator/src/sys/vm/vm_page.c#3 integrate
.. //depot/projects/linuxolator/src/sys/vm/vm_page.h#2 integrate
.. //depot/projects/linuxolator/src/sys/vm/vm_pageout.c#2 integrate
Differences ...
==== //depot/projects/linuxolator/src/sys/amd64/amd64/busdma_machdep.c#2 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.77 2006/06/01 04:49:29 silby Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.78 2006/10/15 16:52:59 hrs Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -520,7 +520,7 @@
__func__, dmat, dmat->flags, ENOMEM);
return (ENOMEM);
} else if ((uintptr_t)*vaddr & (dmat->alignment - 1)) {
- printf("bus_dmamem_alloc failed to align memory properly.");
+ printf("bus_dmamem_alloc failed to align memory properly.\n");
}
CTR4(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d",
__func__, dmat, dmat->flags, ENOMEM);
==== //depot/projects/linuxolator/src/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/linuxolator/src/sys/amd64/amd64/intr_machdep.c#4 (text+ko) ====
@@ -26,7 +26,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.24 2006/10/13 17:31:57 jhb Exp $
+ * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.25 2006/10/16 21:40:46 jhb Exp $
*/
/*
@@ -58,6 +58,7 @@
#ifndef DEV_ATPIC
#include <machine/segments.h>
+#include <machine/frame.h>
#include <dev/ic/i8259.h>
#include <amd64/isa/icu.h>
#include <amd64/isa/isa.h>
==== //depot/projects/linuxolator/src/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/linuxolator/src/sys/amd64/amd64/support.S#3 (text+ko) ====
@@ -27,7 +27,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/sys/amd64/amd64/support.S,v 1.120 2006/08/28 02:28:14 davidxu Exp $
+ * $FreeBSD: src/sys/amd64/amd64/support.S,v 1.121 2006/10/17 02:24:45 davidxu Exp $
*/
#include "opt_ddb.h"
@@ -342,10 +342,10 @@
ret
/*
- * casuptr. Compare and set user pointer. Returns -1 or the current value.
+ * casuword. Compare and set user word. Returns -1 or the current value.
* dst = %rdi, old = %rsi, new = %rdx
*/
-ENTRY(casuptr)
+ENTRY(casuword)
movq PCPU(CURPCB),%rcx
movq $fusufault,PCB_ONFAULT(%rcx)
==== //depot/projects/linuxolator/src/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/linuxolator/src/sys/amd64/conf/NOTES#3 (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.59 2006/09/22 22:11:28 jhb Exp $
+# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.62 2006/10/20 09:52:26 des Exp $
#
#
@@ -103,7 +103,7 @@
#
# sio: serial ports (see sio(4)), including support for various
-# PC Card devices, such as Modem and NICs (see etc/defaults/pccard.conf)
+# PC Card devices, such as Modem and NICs
#
device sio
hint.sio.0.at="isa"
@@ -202,6 +202,63 @@
# 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
+
+device splash # Splash screen and screen saver support
+
# 3Dfx Voodoo Graphics, Voodoo II /dev/3dfx CDEV support. This will create
# the /dev/3dfx0 device to work with glide implementations. This should get
# linked to /dev/3dfx and /dev/voodoo. Note that this is not the same as
@@ -257,7 +314,7 @@
# ath: Atheros a/b/g WiFi adapters (requires ath_hal and wlan)
# ed: Western Digital and SMC 80xx; Novell NE1000 and NE2000; 3Com 3C503
-# HP PC Lan+, various PC Card devices (refer to etc/defaults/pccard.conf)
+# HP PC Lan+, various PC Card devices
# (requires miibus)
# ipw: Intel PRO/Wireless 2100 IEEE 802.11 adapter
# iwi: Intel PRO/Wireless 2200BG/2225BG/2915ABG IEEE 802.11 adapters
@@ -609,7 +666,3 @@
# Enable NDIS binary driver support
options NDISAPI
device ndis
-
-
-# The I/O device
-device io
==== //depot/projects/linuxolator/src/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/linuxolator/src/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/linuxolator/src/sys/arm/arm/fusu.S#2 (text+ko) ====
@@ -37,7 +37,7 @@
#include <machine/asmacros.h>
#include <machine/armreg.h>
#include "assym.s"
-__FBSDID("$FreeBSD: src/sys/arm/arm/fusu.S,v 1.10 2006/08/30 11:44:37 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/fusu.S,v 1.11 2006/10/17 02:24:46 davidxu Exp $");
#ifdef MULTIPROCESSOR
.Lcpu_info:
@@ -53,7 +53,7 @@
*/
ENTRY_NP(casuword32)
-ENTRY(casuptr)
+ENTRY(casuword)
#ifdef MULTIPROCESSOR
/* XXX Probably not appropriate for non-Hydra SMPs */
stmfd sp!, {r0, r14}
@@ -72,7 +72,7 @@
beq .Lfusupcbfault
#endif
stmfd sp!, {r4, r5}
- adr r4, .Lcasuptrfault
+ adr r4, .Lcasuwordfault
str r4, [r3, #PCB_ONFAULT]
ldrt r5, [r0]
cmp r5, r1
@@ -85,10 +85,10 @@
RET
/*
- * Handle faults from casuptr. Clean up and return -1.
+ * Handle faults from casuword. Clean up and return -1.
*/
-.Lcasuptrfault:
+.Lcasuwordfault:
mov r0, #0x00000000
str r0, [r3, #PCB_ONFAULT]
mvn r0, #0x00000000
==== //depot/projects/linuxolator/src/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/linuxolator/src/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/linuxolator/src/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/linuxolator/src/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/linuxolator/src/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/linuxolator/src/sys/arm/at91/at91_sscreg.h#2 (text) ====
@@ -22,9 +22,114 @@
* 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.2 2006/10/20 07:08:15 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 */
>>> TRUNCATED FOR MAIL (1000 lines) <<<
More information about the p4-projects
mailing list