Date: Sat, 19 May 2007 10:50:11 GMT From: Roman Divacky <rdivacky@FreeBSD.org> To: Perforce Change Reviews <perforce@FreeBSD.org> Subject: PERFORCE change 120042 for review Message-ID: <200705191050.l4JAoBvi044251@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=120042 Change 120042 by rdivacky@rdivacky_witten on 2007/05/19 10:49:53 IFC Affected files ... .. //depot/projects/soc2007/rdivacky/linux_futex/sys/amd64/amd64/machdep.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/amd64/amd64/mp_machdep.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/amd64/amd64/pmap.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/amd64/include/md_var.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/amd64/include/smp.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/amd64/linux32/linux32_sysvec.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/arm/arm/machdep.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/arm/arm/pmap.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/boot/i386/boot2/Makefile#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/cam/cam_periph.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/cam/cam_xpt.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/cam/cam_xpt.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/cam/scsi/scsi_cd.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/cam/scsi/scsi_ch.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/cam/scsi/scsi_da.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/cam/scsi/scsi_pass.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/cam/scsi/scsi_pt.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/cam/scsi/scsi_sa.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/cam/scsi/scsi_ses.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/cam/scsi/scsi_sg.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/cam/scsi/scsi_targ_bh.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/coda/coda_vnops.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/coda/coda_vnops.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/compat/ia32/ia32_sysvec.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/compat/linprocfs/linprocfs.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/compat/linux/linux_misc.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/compat/svr4/svr4_misc.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/conf/Makefile.amd64#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/conf/Makefile.arm#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/conf/Makefile.i386#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/conf/Makefile.ia64#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/conf/Makefile.pc98#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/conf/Makefile.powerpc#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/conf/Makefile.sparc64#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/conf/Makefile.sun4v#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/conf/NOTES#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/conf/files#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/conf/kern.mk#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/conf/kern.pre.mk#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/conf/kmod.mk#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/conf/options#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/dev/acpica/acpi.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/dev/acpica/acpi_hpet.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/dev/acpica/acpivar.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/dev/bce/if_bce.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/dev/bce/if_bcefw.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/dev/bce/if_bcereg.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/dev/cardbus/cardbus.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/dev/cardbus/cardbus_cis.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/dev/ciss/ciss.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/dev/em/e1000_80003es2lan.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/dev/em/e1000_80003es2lan.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/dev/em/e1000_82540.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/dev/em/e1000_82541.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/dev/em/e1000_82541.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/dev/em/e1000_82542.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/dev/em/e1000_82543.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/dev/em/e1000_82543.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/dev/em/e1000_82571.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/dev/em/e1000_82571.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/dev/em/e1000_82575.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/dev/em/e1000_82575.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/dev/em/e1000_api.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/dev/em/e1000_api.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/dev/em/e1000_defines.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/dev/em/e1000_hw.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/dev/em/e1000_ich8lan.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/dev/em/e1000_ich8lan.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/dev/em/e1000_mac.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/dev/em/e1000_mac.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/dev/em/e1000_manage.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/dev/em/e1000_manage.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/dev/em/e1000_nvm.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/dev/em/e1000_nvm.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/dev/em/e1000_osdep.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/dev/em/e1000_phy.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/dev/em/e1000_phy.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/dev/em/e1000_regs.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/dev/em/if_em.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/dev/em/if_em.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/dev/isp/isp_freebsd.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/dev/mfi/mfi.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/dev/mfi/mfi_cam.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_futex/sys/dev/mfi/mfireg.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/dev/mfi/mfivar.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/dev/mmc/mmc.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/dev/mmc/mmcsd.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/dev/mmc/mmcvar.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/dev/pccbb/pccbb.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/dev/pci/pci.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/dev/pci/pci_private.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/dev/pci/pcireg.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/dev/twa/tw_osl.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/dev/twa/tw_osl_share.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/dev/uart/uart_bus_pci.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/dev/usb/ufoma.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/fs/nullfs/null_vnops.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/fs/smbfs/smbfs_io.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/fs/umapfs/umap_vnops.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/fs/unionfs/union_vnops.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/geom/part/g_part.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/i386/Makefile#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/i386/i386/machdep.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/i386/i386/pmap.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/i386/include/smp.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/ia64/ia64/machdep.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/ia64/ia64/pmap.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/kern/Make.tags.inc#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/kern/imgact_elf.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/kern/init_main.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/kern/kern_exec.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/kern/kern_exit.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/kern/kern_fork.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/kern/kern_lock.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/kern/kern_malloc.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/kern/kern_mib.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/kern/kern_mutex.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/kern/kern_resource.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/kern/kern_rwlock.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/kern/kern_sx.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/kern/kern_synch.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/kern/kern_thread.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/kern/subr_lock.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/kern/subr_sleepqueue.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/kern/subr_trap.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/kern/subr_turnstile.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/kern/uipc_domain.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/kern/uipc_mbuf.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/kern/uipc_sockbuf.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/kern/uipc_socket.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/kern/uipc_syscalls.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/kern/vfs_bio.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/kern/vfs_default.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/kern/vfs_subr.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/kern/vfs_vnops.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/kern/vnode_if.src#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/modules/mfi/Makefile#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/modules/mfi/mfip/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_futex/sys/modules/netgraph/Makefile#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/modules/netgraph/car/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_futex/sys/net/ethernet.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/net/ieee8023ad_lacp.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/net/ieee8023ad_lacp.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/net/if.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/net/if.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/net/if_fwsubr.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/net/if_lagg.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/net/if_lagg.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/net/if_var.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/netgraph/ng_car.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_futex/sys/netgraph/ng_car.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_futex/sys/netgraph/ng_fec.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/netgraph/ng_mppc.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/netinet/icmp6.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/netinet/ip_input.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/netinet/sctp.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/netinet/sctp_asconf.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/netinet/sctp_auth.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/netinet/sctp_constants.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/netinet/sctp_indata.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/netinet/sctp_input.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/netinet/sctp_output.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/netinet/sctp_pcb.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/netinet/sctp_sysctl.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/netinet/sctp_timer.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/netinet/sctp_uio.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/netinet/sctp_usrreq.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/netinet/sctputil.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/netinet/tcp.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/netinet/tcp_input.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/netinet/tcp_output.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/netinet/tcp_reass.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/netinet/tcp_subr.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/netinet/tcp_syncache.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/netinet/tcp_timer.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/netinet/tcp_timer.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/netinet/tcp_timewait.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/netinet/tcp_var.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/netinet/udp_usrreq.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/netinet6/icmp6.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/netinet6/in6_proto.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/netinet6/ip6_input.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/netinet6/sctp6_usrreq.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/nfsclient/nfs_bio.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/nfsclient/nfs_socket.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/pc98/conf/GENERIC#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/pc98/pc98/machdep.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/powerpc/powerpc/machdep.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/sparc64/include/smp.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/sparc64/sparc64/machdep.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/sparc64/sparc64/pmap.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/sun4v/sun4v/machdep.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/sun4v/sun4v/pmap.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/sun4v/sun4v/tsb.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/sun4v/sun4v/tte_hash.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/sys/lockf.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/sys/param.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/sys/sysctl.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/sys/sysent.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/sys/vmmeter.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/sys/vnode.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/ufs/ffs/ffs_vnops.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/vm/swap_pager.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/vm/uma_core.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/vm/vm_contig.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/vm/vm_fault.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/vm/vm_glue.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/vm/vm_map.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/vm/vm_meter.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/vm/vm_mmap.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/vm/vm_object.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/vm/vm_page.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/vm/vm_pageout.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/vm/vm_pageq.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/vm/vm_zeroidle.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_futex/sys/vm/vnode_pager.c#2 integrate Differences ... ==== //depot/projects/soc2007/rdivacky/linux_futex/sys/amd64/amd64/machdep.c#2 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.670 2007/03/30 00:06:20 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.671 2007/05/18 07:10:42 jeff Exp $"); #include "opt_atalk.h" #include "opt_atpic.h" @@ -221,8 +221,8 @@ vm_ksubmap_init(&kmi); printf("avail memory = %ju (%ju MB)\n", - ptoa((uintmax_t)cnt.v_free_count), - ptoa((uintmax_t)cnt.v_free_count) / 1048576); + ptoa((uintmax_t)VMCNT_GET(free_count)), + ptoa((uintmax_t)VMCNT_GET(free_count)) / 1048576); /* * Set up buffers, so they can be used to read disk labels. ==== //depot/projects/soc2007/rdivacky/linux_futex/sys/amd64/amd64/mp_machdep.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.284 2007/05/08 22:01:02 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.285 2007/05/19 05:03:59 kan Exp $"); #include "opt_cpu.h" #include "opt_kstack_pages.h" @@ -80,6 +80,8 @@ int boot_cpu_id = -1; /* designated BSP */ extern int nkpt; +extern struct pcpu __pcpu[]; + /* * CPU topology map datastructures for HTT. */ ==== //depot/projects/soc2007/rdivacky/linux_futex/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.584 2007/04/25 18:10:43 ups Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.585 2007/05/18 07:10:43 jeff Exp $"); /* * Manages physical address maps. @@ -620,7 +620,7 @@ * numbers of pv entries. */ TUNABLE_INT_FETCH("vm.pmap.shpgperproc", &shpgperproc); - pv_entry_max = shpgperproc * maxproc + cnt.v_page_count; + pv_entry_max = shpgperproc * maxproc + VMCNT_GET(page_count); TUNABLE_INT_FETCH("vm.pmap.pv_entries", &pv_entry_max); pv_entry_high_water = 9 * (pv_entry_max / 10); } @@ -633,7 +633,7 @@ error = sysctl_handle_int(oidp, oidp->oid_arg1, oidp->oid_arg2, req); if (error == 0 && req->newptr) { - shpgperproc = (pv_entry_max - cnt.v_page_count) / maxproc; + shpgperproc = (pv_entry_max - VMCNT_GET(page_count)) / maxproc; pv_entry_high_water = 9 * (pv_entry_max / 10); } return (error); @@ -648,7 +648,7 @@ error = sysctl_handle_int(oidp, oidp->oid_arg1, oidp->oid_arg2, req); if (error == 0 && req->newptr) { - pv_entry_max = shpgperproc * maxproc + cnt.v_page_count; + pv_entry_max = shpgperproc * maxproc + VMCNT_GET(page_count); pv_entry_high_water = 9 * (pv_entry_max / 10); } return (error); @@ -1149,8 +1149,7 @@ */ m->right = *free; *free = m; - - atomic_subtract_int(&cnt.v_wire_count, 1); + VMCNT_DEC(wire_count, 1); return 1; } @@ -1460,7 +1459,7 @@ pmap->pm_pml4[PML4PML4I] = 0; /* Recursive Mapping */ m->wire_count--; - atomic_subtract_int(&cnt.v_wire_count, 1); + VMCNT_DEC(wire_count, 1); vm_page_free_zero(m); PMAP_LOCK_DESTROY(pmap); } ==== //depot/projects/soc2007/rdivacky/linux_futex/sys/amd64/include/md_var.h#2 (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/include/md_var.h,v 1.80 2007/01/18 05:46:32 rodrigc Exp $ + * $FreeBSD: src/sys/amd64/include/md_var.h,v 1.81 2007/05/19 05:03:59 kan Exp $ */ #ifndef _MACHINE_MD_VAR_H_ @@ -57,8 +57,6 @@ extern uint64_t *vm_page_dump; extern int vm_page_dump_size; -extern struct pcpu __pcpu[]; - typedef void alias_for_inthand_t(u_int cs, u_int ef, u_int esp, u_int ss); struct thread; struct reg; ==== //depot/projects/soc2007/rdivacky/linux_futex/sys/amd64/include/smp.h#2 (text+ko) ==== @@ -6,7 +6,7 @@ * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp * ---------------------------------------------------------------------------- * - * $FreeBSD: src/sys/amd64/include/smp.h,v 1.89 2007/03/06 17:16:46 jhb Exp $ + * $FreeBSD: src/sys/amd64/include/smp.h,v 1.90 2007/05/19 05:01:43 kan Exp $ * */ @@ -23,6 +23,7 @@ #include <machine/frame.h> #include <machine/intr_machdep.h> #include <machine/apicvar.h> +#include <machine/pcb.h> /* global symbols in mpboot.S */ extern char mptramp_start[]; ==== //depot/projects/soc2007/rdivacky/linux_futex/sys/amd64/linux32/linux32_sysvec.c#3 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_sysvec.c,v 1.28 2007/04/02 18:38:12 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_sysvec.c,v 1.29 2007/05/14 22:40:04 jhb Exp $"); #include "opt_compat.h" #ifndef COMPAT_IA32 @@ -121,7 +121,7 @@ static void linux_sendsig(sig_t catcher, ksiginfo_t *ksi, sigset_t *mask); static void exec_linux_setregs(struct thread *td, u_long entry, u_long stack, u_long ps_strings); -static void linux32_fixlimits(struct proc *p); +static void linux32_fixlimit(struct rlimit *rl, int which); extern LIST_HEAD(futex_list, futex) futex_list; extern struct sx futex_sx; @@ -966,42 +966,36 @@ SYSCTL_ULONG(_compat_linux32, OID_AUTO, maxvmem, CTLFLAG_RW, &linux32_maxvmem, 0, ""); -/* - * XXX copied from ia32_sysvec.c. - */ static void -linux32_fixlimits(struct proc *p) +linux32_fixlimit(struct rlimit *rl, int which) { - struct plimit *oldlim, *newlim; - if (linux32_maxdsiz == 0 && linux32_maxssiz == 0 && - linux32_maxvmem == 0) - return; - newlim = lim_alloc(); - PROC_LOCK(p); - oldlim = p->p_limit; - lim_copy(newlim, oldlim); - if (linux32_maxdsiz != 0) { - if (newlim->pl_rlimit[RLIMIT_DATA].rlim_cur > linux32_maxdsiz) - newlim->pl_rlimit[RLIMIT_DATA].rlim_cur = linux32_maxdsiz; - if (newlim->pl_rlimit[RLIMIT_DATA].rlim_max > linux32_maxdsiz) - newlim->pl_rlimit[RLIMIT_DATA].rlim_max = linux32_maxdsiz; - } - if (linux32_maxssiz != 0) { - if (newlim->pl_rlimit[RLIMIT_STACK].rlim_cur > linux32_maxssiz) - newlim->pl_rlimit[RLIMIT_STACK].rlim_cur = linux32_maxssiz; - if (newlim->pl_rlimit[RLIMIT_STACK].rlim_max > linux32_maxssiz) - newlim->pl_rlimit[RLIMIT_STACK].rlim_max = linux32_maxssiz; - } - if (linux32_maxvmem != 0) { - if (newlim->pl_rlimit[RLIMIT_VMEM].rlim_cur > linux32_maxvmem) - newlim->pl_rlimit[RLIMIT_VMEM].rlim_cur = linux32_maxvmem; - if (newlim->pl_rlimit[RLIMIT_VMEM].rlim_max > linux32_maxvmem) - newlim->pl_rlimit[RLIMIT_VMEM].rlim_max = linux32_maxvmem; + switch (which) { + case RLIMIT_DATA: + if (linux32_maxdsiz != 0) { + if (rl->rlim_cur > linux32_maxdsiz) + rl->rlim_cur = linux32_maxdsiz; + if (rl->rlim_max > linux32_maxdsiz) + rl->rlim_max = linux32_maxdsiz; + } + break; + case RLIMIT_STACK: + if (linux32_maxssiz != 0) { + if (rl->rlim_cur > linux32_maxssiz) + rl->rlim_cur = linux32_maxssiz; + if (rl->rlim_max > linux32_maxssiz) + rl->rlim_max = linux32_maxssiz; + } + break; + case RLIMIT_VMEM: + if (linux32_maxvmem != 0) { + if (rl->rlim_cur > linux32_maxvmem) + rl->rlim_cur = linux32_maxvmem; + if (rl->rlim_max > linux32_maxvmem) + rl->rlim_max = linux32_maxvmem; + } + break; } - p->p_limit = newlim; - PROC_UNLOCK(p); - lim_free(oldlim); } struct sysentvec elf_linux_sysvec = { @@ -1030,7 +1024,7 @@ VM_PROT_ALL, linux_copyout_strings, exec_linux_setregs, - linux32_fixlimits + linux32_fixlimit }; static Elf32_Brandinfo linux_brand = { ==== //depot/projects/soc2007/rdivacky/linux_futex/sys/arm/arm/machdep.c#2 (text+ko) ==== @@ -44,7 +44,7 @@ #include "opt_compat.h" #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/arm/arm/machdep.c,v 1.25 2007/02/14 04:41:28 kevlo Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/machdep.c,v 1.26 2007/05/18 07:10:43 jeff Exp $"); #include <sys/param.h> #include <sys/proc.h> @@ -286,8 +286,8 @@ vm_ksubmap_init(&kmi); printf("avail memory = %ju (%ju MB)\n", - (uintmax_t)ptoa(cnt.v_free_count), - (uintmax_t)ptoa(cnt.v_free_count) / 1048576); + (uintmax_t)ptoa(VMCNT_GET(free_count)), + (uintmax_t)ptoa(VMCNT_GET(free_count)) / 1048576); bufinit(); vm_pager_bufferinit(); ==== //depot/projects/soc2007/rdivacky/linux_futex/sys/arm/arm/pmap.c#2 (text+ko) ==== @@ -147,7 +147,7 @@ #include "opt_vm.h" #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.78 2007/02/05 10:33:39 kevlo Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.79 2007/05/18 07:10:43 jeff Exp $"); #include <sys/param.h> #include <sys/systm.h> #include <sys/kernel.h> @@ -1970,7 +1970,7 @@ TUNABLE_INT_FETCH("vm.pmap.shpgperproc", &shpgperproc); - pv_entry_max = shpgperproc * maxproc + cnt.v_page_count; + pv_entry_max = shpgperproc * maxproc + VMCNT_GET(page_count); pv_entry_high_water = 9 * (pv_entry_max / 10); l2zone = uma_zcreate("L2 Table", L2_TABLE_SIZE_REAL, pmap_l2ptp_ctor, NULL, NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_VM | UMA_ZONE_NOFREE); ==== //depot/projects/soc2007/rdivacky/linux_futex/sys/boot/i386/boot2/Makefile#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/boot/i386/boot2/Makefile,v 1.59 2005/07/15 12:22:14 ache Exp $ +# $FreeBSD: src/sys/boot/i386/boot2/Makefile,v 1.60 2007/05/19 05:07:47 kan Exp $ FILES= boot boot1 boot2 @@ -36,7 +36,8 @@ -I${.CURDIR}/../btx/lib -I. \ -Wall -Waggregate-return -Wbad-function-cast -Wcast-align \ -Wmissing-declarations -Wmissing-prototypes -Wnested-externs \ - -Wpointer-arith -Wshadow -Wstrict-prototypes -Wwrite-strings + -Wpointer-arith -Wshadow -Wstrict-prototypes -Wwrite-strings \ + -Winline --param max-inline-insns-single=100 LDFLAGS=-static -N --gc-sections ==== //depot/projects/soc2007/rdivacky/linux_futex/sys/cam/cam_periph.c#2 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/cam/cam_periph.c,v 1.68 2007/04/19 23:34:51 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/cam_periph.c,v 1.69 2007/05/14 21:48:52 scottl Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -102,7 +102,8 @@ int ndrivers; ndrivers = nperiph_drivers + 2; - newdrivers = malloc(sizeof(*newdrivers) * ndrivers, M_TEMP, M_WAITOK); + newdrivers = malloc(sizeof(*newdrivers) * ndrivers, M_CAMPERIPH, + M_WAITOK); if (periph_drivers) bcopy(periph_drivers, newdrivers, sizeof(*newdrivers) * nperiph_drivers); @@ -111,7 +112,7 @@ old = periph_drivers; periph_drivers = newdrivers; if (old) - free(old, M_TEMP); + free(old, M_CAMPERIPH); nperiph_drivers++; } ==== //depot/projects/soc2007/rdivacky/linux_futex/sys/cam/cam_xpt.c#2 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/cam/cam_xpt.c,v 1.183 2007/04/27 14:23:05 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/cam_xpt.c,v 1.187 2007/05/16 16:57:21 scottl Exp $"); #include <sys/param.h> #include <sys/bus.h> @@ -1197,6 +1197,7 @@ error = ENOTSUP; break; } + xpt_release_bus(bus); break; } /* @@ -1533,7 +1534,7 @@ */ xsoftc.xpt_config_hook = (struct intr_config_hook *)malloc(sizeof(struct intr_config_hook), - M_TEMP, M_NOWAIT | M_ZERO); + M_CAMXPT, M_NOWAIT | M_ZERO); if (xsoftc.xpt_config_hook == NULL) { printf("xpt_init: Cannot malloc config hook " "- failing attach\n"); @@ -1542,7 +1543,7 @@ xsoftc.xpt_config_hook->ich_func = xpt_config; if (config_intrhook_establish(xsoftc.xpt_config_hook) != 0) { - free (xsoftc.xpt_config_hook, M_TEMP); + free (xsoftc.xpt_config_hook, M_CAMXPT); printf("xpt_init: config_intrhook_establish failed " "- failing attach\n"); } @@ -4139,7 +4140,6 @@ void xpt_print_path(struct cam_path *path) { - mtx_assert(path->bus->sim->mtx, MA_OWNED); if (path == NULL) printf("(nopath): "); @@ -5243,7 +5243,7 @@ /* Save some state for use while we probe for devices */ scan_info = (xpt_scan_bus_info *) - malloc(sizeof(xpt_scan_bus_info), M_TEMP, M_NOWAIT); + malloc(sizeof(xpt_scan_bus_info), M_CAMXPT, M_NOWAIT); scan_info->request_ccb = request_ccb; scan_info->cpi = &work_ccb->cpi; @@ -5277,7 +5277,7 @@ printf("xpt_scan_bus: xpt_create_path failed" " with status %#x, bus scan halted\n", status); - free(scan_info, M_TEMP); + free(scan_info, M_CAMXPT); request_ccb->ccb_h.status = status; xpt_free_ccb(work_ccb); xpt_done(request_ccb); @@ -5285,7 +5285,7 @@ } work_ccb = xpt_alloc_ccb_nowait(); if (work_ccb == NULL) { - free(scan_info, M_TEMP); + free(scan_info, M_CAMXPT); xpt_free_path(path); request_ccb->ccb_h.status = CAM_RESRC_UNAVAIL; xpt_done(request_ccb); @@ -5398,7 +5398,7 @@ xpt_free_ccb(request_ccb); xpt_free_ccb((union ccb *)scan_info->cpi); request_ccb = scan_info->request_ccb; - free(scan_info, M_TEMP); + free(scan_info, M_CAMXPT); request_ccb->ccb_h.status = CAM_REQ_CMP; xpt_done(request_ccb); break; @@ -5417,7 +5417,7 @@ xpt_free_ccb(request_ccb); xpt_free_ccb((union ccb *)scan_info->cpi); request_ccb = scan_info->request_ccb; - free(scan_info, M_TEMP); + free(scan_info, M_CAMXPT); request_ccb->ccb_h.status = status; xpt_done(request_ccb); break; @@ -5518,17 +5518,17 @@ } if (request_ccb == NULL) { - request_ccb = malloc(sizeof(union ccb), M_TEMP, M_NOWAIT); + request_ccb = malloc(sizeof(union ccb), M_CAMXPT, M_NOWAIT); if (request_ccb == NULL) { xpt_print(path, "xpt_scan_lun: can't allocate CCB, " "can't continue\n"); return; } - new_path = malloc(sizeof(*new_path), M_TEMP, M_NOWAIT); + new_path = malloc(sizeof(*new_path), M_CAMXPT, M_NOWAIT); if (new_path == NULL) { xpt_print(path, "xpt_scan_lun: can't allocate path, " "can't continue\n"); - free(request_ccb, M_TEMP); + free(request_ccb, M_CAMXPT); return; } status = xpt_compile_path(new_path, xpt_periph, @@ -5539,8 +5539,8 @@ if (status != CAM_REQ_CMP) { xpt_print(path, "xpt_scan_lun: can't compile path, " "can't continue\n"); - free(request_ccb, M_TEMP); - free(new_path, M_TEMP); + free(request_ccb, M_CAMXPT); + free(new_path, M_CAMXPT); return; } xpt_setup_ccb(&request_ccb->ccb_h, new_path, /*priority*/ 1); @@ -5575,8 +5575,8 @@ xptscandone(struct cam_periph *periph, union ccb *done_ccb) { xpt_release_path(done_ccb->ccb_h.path); - free(done_ccb->ccb_h.path, M_TEMP); - free(done_ccb, M_TEMP); + free(done_ccb->ccb_h.path, M_CAMXPT); + free(done_ccb, M_CAMXPT); } static cam_status @@ -5598,7 +5598,7 @@ return(CAM_REQ_CMP_ERR); } - softc = (probe_softc *)malloc(sizeof(*softc), M_TEMP, M_NOWAIT); + softc = (probe_softc *)malloc(sizeof(*softc), M_CAMXPT, M_NOWAIT); if (softc == NULL) { printf("proberegister: Unable to probe new device. " @@ -5751,7 +5751,7 @@ if (softc->action == PROBE_INQUIRY_BASIC_DV1 || softc->action == PROBE_INQUIRY_BASIC_DV2) { - inq_buf = malloc(inquiry_len, M_TEMP, M_NOWAIT); + inq_buf = malloc(inquiry_len, M_CAMXPT, M_NOWAIT); } if (inq_buf == NULL) { xpt_print(periph->path, "malloc failure- skipping Basic" @@ -5785,7 +5785,7 @@ mode_buf_len = sizeof(struct scsi_mode_header_6) + sizeof(struct scsi_mode_blk_desc) + sizeof(struct scsi_control_page); - mode_buf = malloc(mode_buf_len, M_TEMP, M_NOWAIT); + mode_buf = malloc(mode_buf_len, M_CAMXPT, M_NOWAIT); if (mode_buf != NULL) { scsi_mode_sense(csio, /*retries*/4, @@ -5817,7 +5817,7 @@ if ((device->quirk->quirks & CAM_QUIRK_NOSERIAL) == 0) serial_buf = (struct scsi_vpd_unit_serial_number *) - malloc(sizeof(*serial_buf), M_TEMP, + malloc(sizeof(*serial_buf), M_CAMXPT, M_NOWAIT | M_ZERO); if (serial_buf != NULL) { @@ -6107,7 +6107,7 @@ /*count*/1, /*run_queue*/TRUE); } xpt_release_ccb(done_ccb); - free(mode_hdr, M_TEMP); + free(mode_hdr, M_CAMXPT); softc->action = PROBE_SERIAL_NUM; xpt_schedule(periph, priority); return; @@ -6194,7 +6194,7 @@ xpt_async(AC_LOST_DEVICE, path, NULL); } if (serial_buf != NULL) - free(serial_buf, M_TEMP); + free(serial_buf, M_CAMXPT); if (changed != 0) { /* @@ -6283,12 +6283,12 @@ /* give up */ softc->action = PROBE_DV_EXIT; } - free(nbuf, M_TEMP); + free(nbuf, M_CAMXPT); xpt_release_ccb(done_ccb); xpt_schedule(periph, priority); return; } - free(nbuf, M_TEMP); + free(nbuf, M_CAMXPT); if (softc->action == PROBE_INQUIRY_BASIC_DV1) { softc->action = PROBE_INQUIRY_BASIC_DV2; xpt_release_ccb(done_ccb); @@ -6327,7 +6327,7 @@ static void probecleanup(struct cam_periph *periph) { - free(periph->softc, M_TEMP); + free(periph->softc, M_CAMXPT); } static void @@ -6984,7 +6984,7 @@ /* Release our hook so that the boot can continue. */ config_intrhook_disestablish(xsoftc.xpt_config_hook); - free(xsoftc.xpt_config_hook, M_TEMP); + free(xsoftc.xpt_config_hook, M_CAMXPT); xsoftc.xpt_config_hook = NULL; } @@ -7029,6 +7029,39 @@ xpt_free_ccb(done_ccb); } +cam_status +xpt_register_async(int event, ac_callback_t *cbfunc, void *cbarg, + struct cam_path *path) +{ + struct ccb_setasync csa; + cam_status status; + int xptpath = 0; + + if (path == NULL) { + mtx_lock(&xsoftc.xpt_lock); + status = xpt_create_path(&path, /*periph*/NULL, CAM_XPT_PATH_ID, + CAM_TARGET_WILDCARD, CAM_LUN_WILDCARD); + if (status != CAM_REQ_CMP) { + mtx_unlock(&xsoftc.xpt_lock); + return (status); + } + xptpath = 1; + } + + xpt_setup_ccb(&csa.ccb_h, path, /*priority*/5); + csa.ccb_h.func_code = XPT_SASYNC_CB; + csa.event_enable = event; + csa.callback = cbfunc; + csa.callback_arg = cbarg; + xpt_action((union ccb *)&csa); + status = csa.ccb_h.status; + if (xptpath) { + xpt_free_path(path); + mtx_unlock(&xsoftc.xpt_lock); + } + return (status); +} + static void xptaction(struct cam_sim *sim, union ccb *work_ccb) { ==== //depot/projects/soc2007/rdivacky/linux_futex/sys/cam/cam_xpt.h#2 (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/cam/cam_xpt.h,v 1.8 2007/04/15 08:49:09 scottl Exp $ + * $FreeBSD: src/sys/cam/cam_xpt.h,v 1.9 2007/05/16 16:54:23 scottl Exp $ */ #ifndef _CAM_CAM_XPT_H @@ -79,6 +79,8 @@ void xpt_rescan(union ccb *ccb); void xpt_lock_buses(void); void xpt_unlock_buses(void); +cam_status xpt_register_async(int event, ac_callback_t *cbfunc, + void *cbarg, struct cam_path *path); #endif /* _KERNEL */ #endif /* _CAM_CAM_XPT_H */ ==== //depot/projects/soc2007/rdivacky/linux_futex/sys/cam/scsi/scsi_cd.c#2 (text+ko) ==== @@ -46,7 +46,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_cd.c,v 1.99 2007/04/16 19:41:14 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_cd.c,v 1.101 2007/05/16 16:54:23 scottl Exp $"); #include "opt_cd.h" @@ -329,11 +329,12 @@ static STAILQ_HEAD(changerlist, cdchanger) changerq; static int num_changers; +MALLOC_DEFINE(M_SCSICD, "scsi_cd", "scsi_cd buffers"); + static void cdinit(void) { cam_status status; - struct cam_path *path; mtx_init(&changerq_mtx, "cdchangerq", "SCSI CD Changer List", MTX_DEF); STAILQ_INIT(&changerq); @@ -342,22 +343,8 @@ * Install a global async callback. This callback will * receive async callbacks like "new device found". */ - status = xpt_create_path(&path, /*periph*/NULL, CAM_XPT_PATH_ID, - CAM_TARGET_WILDCARD, CAM_LUN_WILDCARD); - - if (status == CAM_REQ_CMP) { - struct ccb_setasync csa; + status = xpt_register_async(AC_FOUND_DEVICE, cdasync, NULL, NULL); - xpt_setup_ccb(&csa.ccb_h, path, /*priority*/5); - csa.ccb_h.func_code = XPT_SASYNC_CB; - csa.event_enable = AC_FOUND_DEVICE; - csa.callback = cdasync; - csa.callback_arg = NULL; - xpt_action((union ccb *)&csa); - status = csa.ccb_h.status; - xpt_free_path(path); - } - if (status != CAM_REQ_CMP) { printf("cd: Failed to attach master async callback " "due to status 0x%x!\n", status); @@ -368,20 +355,13 @@ cdoninvalidate(struct cam_periph *periph) { struct cd_softc *softc; - struct ccb_setasync csa; softc = (struct cd_softc *)periph->softc; /* * De-register any async callbacks. */ - xpt_setup_ccb(&csa.ccb_h, periph->path, - /* priority */ 5); - csa.ccb_h.func_code = XPT_SASYNC_CB; - csa.event_enable = 0; - csa.callback = cdasync; - csa.callback_arg = periph; - xpt_action((union ccb *)&csa); + xpt_register_async(0, cdasync, periph, periph->path); softc->flags |= CD_FLAG_INVALID; @@ -637,7 +617,6 @@ cdregister(struct cam_periph *periph, void *arg) { struct cd_softc *softc; - struct ccb_setasync csa; struct ccb_pathinq cpi; struct ccb_getdev *cgd; char tmpstr[80]; @@ -749,13 +728,8 @@ * Add an async callback so that we get * notified if this device goes away. */ - xpt_setup_ccb(&csa.ccb_h, periph->path, - /* priority */ 5); - csa.ccb_h.func_code = XPT_SASYNC_CB; - csa.event_enable = AC_SENT_BDR | AC_BUS_RESET | AC_LOST_DEVICE; - csa.callback = cdasync; - csa.callback_arg = periph; - xpt_action((union ccb *)&csa); + xpt_register_async(AC_SENT_BDR | AC_BUS_RESET | AC_LOST_DEVICE, + cdasync, periph, periph->path); /* * If the target lun is greater than 0, we most likely have a CD @@ -1519,7 +1493,7 @@ { rcap = (struct scsi_read_capacity_data *)malloc(sizeof(*rcap), - M_TEMP, + M_SCSICD, M_NOWAIT); if (rcap == NULL) { xpt_print(periph->path, @@ -1778,7 +1752,7 @@ } } } - free(rdcap, M_TEMP); + free(rdcap, M_SCSICD); if (announce_buf[0] != '\0') { xpt_announce_periph(periph, announce_buf); if (softc->flags & CD_FLAG_CHANGER) @@ -1906,7 +1880,7 @@ union cd_pages *page; params.alloc_len = sizeof(union cd_mode_data_6_10); - params.mode_buf = malloc(params.alloc_len, M_TEMP, + params.mode_buf = malloc(params.alloc_len, M_SCSICD, M_WAITOK | M_ZERO); cam_periph_lock(periph); @@ -1915,7 +1889,7 @@ error = cdgetmode(periph, ¶ms, AUDIO_PAGE); if (error) { - free(params.mode_buf, M_TEMP); + free(params.mode_buf, M_SCSICD); cam_periph_unlock(periph); break; } @@ -1924,7 +1898,7 @@ page->audio.flags &= ~CD_PA_SOTC; page->audio.flags |= CD_PA_IMMED; error = cdsetmode(periph, ¶ms); - free(params.mode_buf, M_TEMP); + free(params.mode_buf, M_SCSICD); if (error) { cam_periph_unlock(periph); break; @@ -2001,7 +1975,7 @@ union cd_pages *page; params.alloc_len = sizeof(union cd_mode_data_6_10); - params.mode_buf = malloc(params.alloc_len, M_TEMP, + params.mode_buf = malloc(params.alloc_len, M_SCSICD, M_WAITOK | M_ZERO); cam_periph_lock(periph); @@ -2010,7 +1984,7 @@ error = cdgetmode(periph, ¶ms, AUDIO_PAGE); if (error) { - free(params.mode_buf, M_TEMP); + free(params.mode_buf, M_SCSICD); cam_periph_unlock(periph); break; >>> TRUNCATED FOR MAIL (1000 lines) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200705191050.l4JAoBvi044251>