From owner-p4-projects@FreeBSD.ORG Fri Feb 20 15:12:01 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F28D4106566B; Fri, 20 Feb 2009 15:12:00 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AFB041065670 for ; Fri, 20 Feb 2009 15:12:00 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9CADA8FC08 for ; Fri, 20 Feb 2009 15:12:00 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n1KFC05V073606 for ; Fri, 20 Feb 2009 15:12:00 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n1KFBsdt073595 for perforce@freebsd.org; Fri, 20 Feb 2009 15:11:54 GMT (envelope-from jhb@freebsd.org) Date: Fri, 20 Feb 2009 15:11:54 GMT Message-Id: <200902201511.n1KFBsdt073595@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 157983 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Feb 2009 15:12:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=157983 Change 157983 by jhb@jhb_jhbbsd on 2009/02/20 15:11:39 IFC @157982 Affected files ... .. //depot/projects/smpng/sys/Makefile#22 integrate .. //depot/projects/smpng/sys/amd64/amd64/pmap.c#87 integrate .. //depot/projects/smpng/sys/amd64/conf/GENERIC#72 integrate .. //depot/projects/smpng/sys/amd64/linux32/linux32_machdep.c#31 integrate .. //depot/projects/smpng/sys/arm/conf/AVILA#13 integrate .. //depot/projects/smpng/sys/arm/conf/CAMBRIA#2 integrate .. //depot/projects/smpng/sys/arm/mv/files.mv#4 integrate .. //depot/projects/smpng/sys/boot/Makefile#31 integrate .. //depot/projects/smpng/sys/boot/common/loader.8#48 integrate .. //depot/projects/smpng/sys/boot/common/module.c#9 integrate .. //depot/projects/smpng/sys/boot/ficl/mips/sysdep.c#1 branch .. //depot/projects/smpng/sys/boot/ficl/mips/sysdep.h#1 branch .. //depot/projects/smpng/sys/cam/cam_xpt.c#55 integrate .. //depot/projects/smpng/sys/compat/linux/linux_stats.c#42 integrate .. //depot/projects/smpng/sys/conf/files#228 integrate .. //depot/projects/smpng/sys/conf/files.amd64#61 integrate .. //depot/projects/smpng/sys/conf/files.i386#118 integrate .. //depot/projects/smpng/sys/conf/files.ia64#62 integrate .. //depot/projects/smpng/sys/conf/files.pc98#95 integrate .. //depot/projects/smpng/sys/conf/files.sparc64#72 integrate .. //depot/projects/smpng/sys/dev/aac/aac.c#63 integrate .. //depot/projects/smpng/sys/dev/aac/aacreg.h#20 integrate .. //depot/projects/smpng/sys/dev/acpica/acpi_cpu.c#43 integrate .. //depot/projects/smpng/sys/dev/arcmsr/arcmsr.c#20 integrate .. //depot/projects/smpng/sys/dev/ata/ata-all.c#93 integrate .. //depot/projects/smpng/sys/dev/ata/ata-all.h#59 integrate .. //depot/projects/smpng/sys/dev/ata/ata-card.c#32 integrate .. //depot/projects/smpng/sys/dev/ata/ata-cbus.c#19 integrate .. //depot/projects/smpng/sys/dev/ata/ata-dma.c#55 integrate .. //depot/projects/smpng/sys/dev/ata/ata-isa.c#25 integrate .. //depot/projects/smpng/sys/dev/ata/ata-pci.c#71 integrate .. //depot/projects/smpng/sys/dev/ata/ata-pci.h#61 integrate .. //depot/projects/smpng/sys/dev/ata/ata-queue.c#45 integrate .. //depot/projects/smpng/sys/dev/ata/ata-raid-ddf.h#1 branch .. //depot/projects/smpng/sys/dev/ata/ata-raid.c#54 integrate .. //depot/projects/smpng/sys/dev/ata/ata-raid.h#31 integrate .. //depot/projects/smpng/sys/dev/ata/ata-usb.c#8 integrate .. //depot/projects/smpng/sys/dev/ata/chipsets/ata-acard.c#2 integrate .. //depot/projects/smpng/sys/dev/ata/chipsets/ata-acerlabs.c#2 integrate .. //depot/projects/smpng/sys/dev/ata/chipsets/ata-ahci.c#3 integrate .. //depot/projects/smpng/sys/dev/ata/chipsets/ata-highpoint.c#2 integrate .. //depot/projects/smpng/sys/dev/ata/chipsets/ata-intel.c#2 integrate .. //depot/projects/smpng/sys/dev/ata/chipsets/ata-jmicron.c#2 integrate .. //depot/projects/smpng/sys/dev/ata/chipsets/ata-marvell.c#3 integrate .. //depot/projects/smpng/sys/dev/ata/chipsets/ata-netcell.c#2 integrate .. //depot/projects/smpng/sys/dev/ata/chipsets/ata-nvidia.c#2 integrate .. //depot/projects/smpng/sys/dev/ata/chipsets/ata-promise.c#2 integrate .. //depot/projects/smpng/sys/dev/ata/chipsets/ata-serverworks.c#2 integrate .. //depot/projects/smpng/sys/dev/ata/chipsets/ata-siliconimage.c#2 integrate .. //depot/projects/smpng/sys/dev/ata/chipsets/ata-sis.c#3 integrate .. //depot/projects/smpng/sys/dev/ata/chipsets/ata-via.c#2 integrate .. //depot/projects/smpng/sys/dev/ath/ath_hal/ah.c#4 integrate .. //depot/projects/smpng/sys/dev/ath/ath_hal/ah.h#3 integrate .. //depot/projects/smpng/sys/dev/ath/ath_hal/ah_internal.h#5 integrate .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5212/ar5212_phy.c#2 integrate .. //depot/projects/smpng/sys/dev/ath/if_ath.c#68 integrate .. //depot/projects/smpng/sys/dev/ath/if_athvar.h#41 integrate .. //depot/projects/smpng/sys/dev/ce/if_ce.c#13 integrate .. //depot/projects/smpng/sys/dev/cfi/cfi_bus_ixp4xx.c#2 integrate .. //depot/projects/smpng/sys/dev/ciss/ciss.c#59 integrate .. //depot/projects/smpng/sys/dev/cp/if_cp.c#24 integrate .. //depot/projects/smpng/sys/dev/ctau/if_ct.c#26 integrate .. //depot/projects/smpng/sys/dev/cx/if_cx.c#32 integrate .. //depot/projects/smpng/sys/dev/firewire/firewire.c#47 integrate .. //depot/projects/smpng/sys/dev/firewire/firewire.h#18 integrate .. //depot/projects/smpng/sys/dev/firewire/sbp.c#47 integrate .. //depot/projects/smpng/sys/dev/iscsi/initiator/isc_subr.c#3 integrate .. //depot/projects/smpng/sys/dev/kbdmux/kbdmux.c#12 integrate .. //depot/projects/smpng/sys/dev/mmc/mmcsd.c#9 integrate .. //depot/projects/smpng/sys/dev/mxge/eth_z8e.h#5 integrate .. //depot/projects/smpng/sys/dev/mxge/ethp_z8e.h#5 integrate .. //depot/projects/smpng/sys/dev/mxge/if_mxge.c#26 integrate .. //depot/projects/smpng/sys/dev/mxge/if_mxge_var.h#13 integrate .. //depot/projects/smpng/sys/dev/mxge/mxge_mcp.h#8 integrate .. //depot/projects/smpng/sys/dev/mxge/rss_eth_z8e.h#5 integrate .. //depot/projects/smpng/sys/dev/mxge/rss_ethp_z8e.h#5 integrate .. //depot/projects/smpng/sys/dev/pccbb/pccbb.c#70 integrate .. //depot/projects/smpng/sys/dev/pccbb/pccbb_pci.c#20 integrate .. //depot/projects/smpng/sys/dev/pccbb/pccbbvar.h#23 integrate .. //depot/projects/smpng/sys/dev/pci/pcireg.h#30 integrate .. //depot/projects/smpng/sys/dev/sdhci/sdhci.c#7 integrate .. //depot/projects/smpng/sys/dev/sound/pci/hda/hdac.c#27 integrate .. //depot/projects/smpng/sys/dev/streams/streams.c#37 integrate .. //depot/projects/smpng/sys/dev/tsec/if_tsec.c#3 integrate .. //depot/projects/smpng/sys/dev/tsec/if_tsec.h#3 integrate .. //depot/projects/smpng/sys/dev/tsec/if_tsec_ocp.c#2 integrate .. //depot/projects/smpng/sys/dev/tsec/if_tsecreg.h#2 integrate .. //depot/projects/smpng/sys/dev/usb2/bluetooth/ng_ubt2.c#6 integrate .. //depot/projects/smpng/sys/dev/usb2/bluetooth/ubtbcmfw2.c#5 integrate .. //depot/projects/smpng/sys/dev/usb2/core/usb2_core.h#5 integrate .. //depot/projects/smpng/sys/dev/usb2/core/usb2_dev.c#4 integrate .. //depot/projects/smpng/sys/dev/usb2/core/usb2_device.c#5 integrate .. //depot/projects/smpng/sys/dev/usb2/core/usb2_generic.c#4 integrate .. //depot/projects/smpng/sys/dev/usb2/core/usb2_process.c#5 integrate .. //depot/projects/smpng/sys/dev/usb2/core/usb2_process.h#4 integrate .. //depot/projects/smpng/sys/dev/usb2/core/usb2_transfer.c#4 integrate .. //depot/projects/smpng/sys/dev/usb2/core/usb2_transfer.h#3 integrate .. //depot/projects/smpng/sys/dev/usb2/ethernet/if_aue2.c#7 integrate .. //depot/projects/smpng/sys/dev/usb2/ethernet/if_axe2.c#7 integrate .. //depot/projects/smpng/sys/dev/usb2/ethernet/if_cdce2.c#6 integrate .. //depot/projects/smpng/sys/dev/usb2/ethernet/if_cue2.c#6 integrate .. //depot/projects/smpng/sys/dev/usb2/ethernet/if_kue2.c#6 integrate .. //depot/projects/smpng/sys/dev/usb2/ethernet/if_rue2.c#6 integrate .. //depot/projects/smpng/sys/dev/usb2/ethernet/if_udav2.c#6 integrate .. //depot/projects/smpng/sys/dev/usb2/image/uscanner2.c#4 integrate .. //depot/projects/smpng/sys/dev/usb2/include/Makefile#3 delete .. //depot/projects/smpng/sys/dev/usb2/include/usb2_devid.h#6 delete .. //depot/projects/smpng/sys/dev/usb2/include/usb2_devtable.h#6 delete .. //depot/projects/smpng/sys/dev/usb2/include/usb2_ioctl.h#5 integrate .. //depot/projects/smpng/sys/dev/usb2/input/uhid2.c#4 integrate .. //depot/projects/smpng/sys/dev/usb2/input/ums2.c#3 integrate .. //depot/projects/smpng/sys/dev/usb2/misc/udbp2.c#4 integrate .. //depot/projects/smpng/sys/dev/usb2/misc/ufm2.c#5 integrate .. //depot/projects/smpng/sys/dev/usb2/quirk/usb2_quirk.c#6 integrate .. //depot/projects/smpng/sys/dev/usb2/serial/u3g2.c#6 integrate .. //depot/projects/smpng/sys/dev/usb2/serial/uark2.c#5 integrate .. //depot/projects/smpng/sys/dev/usb2/serial/ubsa2.c#6 integrate .. //depot/projects/smpng/sys/dev/usb2/serial/uchcom2.c#5 integrate .. //depot/projects/smpng/sys/dev/usb2/serial/ucycom2.c#5 integrate .. //depot/projects/smpng/sys/dev/usb2/serial/ufoma2.c#6 integrate .. //depot/projects/smpng/sys/dev/usb2/serial/uftdi2.c#5 integrate .. //depot/projects/smpng/sys/dev/usb2/serial/ugensa2.c#6 integrate .. //depot/projects/smpng/sys/dev/usb2/serial/uipaq2.c#5 integrate .. //depot/projects/smpng/sys/dev/usb2/serial/ulpt2.c#4 integrate .. //depot/projects/smpng/sys/dev/usb2/serial/umct2.c#5 integrate .. //depot/projects/smpng/sys/dev/usb2/serial/umodem2.c#5 integrate .. //depot/projects/smpng/sys/dev/usb2/serial/umoscom2.c#5 integrate .. //depot/projects/smpng/sys/dev/usb2/serial/uplcom2.c#5 integrate .. //depot/projects/smpng/sys/dev/usb2/serial/uslcom2.c#2 integrate .. //depot/projects/smpng/sys/dev/usb2/serial/uvisor2.c#5 integrate .. //depot/projects/smpng/sys/dev/usb2/serial/uvscom2.c#5 integrate .. //depot/projects/smpng/sys/dev/usb2/sound/uaudio2.c#6 integrate .. //depot/projects/smpng/sys/dev/usb2/storage/ata-usb2.c#4 integrate .. //depot/projects/smpng/sys/dev/usb2/storage/umass2.c#7 integrate .. //depot/projects/smpng/sys/dev/usb2/storage/urio2.c#5 integrate .. //depot/projects/smpng/sys/dev/usb2/storage/ustorage2_fs.c#4 integrate .. //depot/projects/smpng/sys/dev/usb2/wlan/if_rum2.c#7 integrate .. //depot/projects/smpng/sys/dev/usb2/wlan/if_ural2.c#6 integrate .. //depot/projects/smpng/sys/dev/usb2/wlan/if_zyd2.c#6 integrate .. //depot/projects/smpng/sys/fs/procfs/procfs.c#17 integrate .. //depot/projects/smpng/sys/fs/pseudofs/pseudofs_vnops.c#54 integrate .. //depot/projects/smpng/sys/fs/udf/udf_vnops.c#47 integrate .. //depot/projects/smpng/sys/geom/geom_dev.c#51 integrate .. //depot/projects/smpng/sys/geom/part/g_part.c#15 integrate .. //depot/projects/smpng/sys/geom/part/g_part.h#8 integrate .. //depot/projects/smpng/sys/geom/part/g_part_ebr.c#2 integrate .. //depot/projects/smpng/sys/geom/part/g_part_if.m#3 integrate .. //depot/projects/smpng/sys/i386/acpica/acpi_wakeup.c#38 integrate .. //depot/projects/smpng/sys/i386/conf/GENERIC#104 integrate .. //depot/projects/smpng/sys/i386/i386/pmap.c#128 integrate .. //depot/projects/smpng/sys/i386/linux/linux_machdep.c#50 integrate .. //depot/projects/smpng/sys/i386/xen/clock.c#6 integrate .. //depot/projects/smpng/sys/i386/xen/pmap.c#6 integrate .. //depot/projects/smpng/sys/ia64/conf/GENERIC#64 integrate .. //depot/projects/smpng/sys/kern/kern_descrip.c#122 integrate .. //depot/projects/smpng/sys/kern/kern_proc.c#103 integrate .. //depot/projects/smpng/sys/kern/tty_pts.c#15 integrate .. //depot/projects/smpng/sys/kern/vfs_cache.c#49 integrate .. //depot/projects/smpng/sys/kern/vfs_syscalls.c#143 integrate .. //depot/projects/smpng/sys/libkern/crc32.c#5 integrate .. //depot/projects/smpng/sys/mips/include/fpu.h#2 integrate .. //depot/projects/smpng/sys/mips/include/frame.h#2 integrate .. //depot/projects/smpng/sys/modules/usb2/bluetooth_fw/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/usb2/bluetooth_ng/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/usb2/core/Makefile#3 integrate .. //depot/projects/smpng/sys/modules/usb2/ethernet_aue/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/usb2/ethernet_axe/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/usb2/ethernet_cdce/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/usb2/ethernet_cue/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/usb2/ethernet_dav/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/usb2/ethernet_kue/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/usb2/ethernet_rue/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/usb2/input_hid/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/usb2/input_kbd/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/usb2/input_ms/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/usb2/misc_dbp/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/usb2/misc_fm/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/usb2/quirk/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/usb2/scanner/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/usb2/serial_3g/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/usb2/serial_ark/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/usb2/serial_bsa/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/usb2/serial_bser/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/usb2/serial_chcom/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/usb2/serial_cycom/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/usb2/serial_foma/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/usb2/serial_ftdi/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/usb2/serial_gensa/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/usb2/serial_ipaq/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/usb2/serial_lpt/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/usb2/serial_mct/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/usb2/serial_modem/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/usb2/serial_moscom/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/usb2/serial_plcom/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/usb2/serial_slcom/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/usb2/serial_visor/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/usb2/serial_vscom/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/usb2/sound/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/usb2/storage_ata/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/usb2/storage_fs/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/usb2/storage_mass/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/usb2/storage_rio/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/usb2/template/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/usb2/wlan_ral/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/usb2/wlan_rum/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/usb2/wlan_zyd/Makefile#2 integrate .. //depot/projects/smpng/sys/net/if.h#39 integrate .. //depot/projects/smpng/sys/net/if_spppsubr.c#38 integrate .. //depot/projects/smpng/sys/net/vnet.h#4 integrate .. //depot/projects/smpng/sys/net80211/_ieee80211.h#15 integrate .. //depot/projects/smpng/sys/net80211/ieee80211.c#36 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_ioctl.c#43 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_node.c#41 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_phy.c#3 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_proto.c#30 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_regdomain.c#8 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_scan.c#5 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_scan_sta.c#8 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_tdma.c#5 integrate .. //depot/projects/smpng/sys/netinet/if_ether.h#12 integrate .. //depot/projects/smpng/sys/netinet/ip_fw.h#45 integrate .. //depot/projects/smpng/sys/netinet/ip_fw2.c#103 integrate .. //depot/projects/smpng/sys/netinet/ip_fw_pfil.c#24 integrate .. //depot/projects/smpng/sys/netinet/libalias/alias_sctp.c#2 integrate .. //depot/projects/smpng/sys/netinet/sctp_constants.h#19 integrate .. //depot/projects/smpng/sys/netinet/sctp_crc32.c#9 integrate .. //depot/projects/smpng/sys/netinet/sctp_crc32.h#7 integrate .. //depot/projects/smpng/sys/netinet/sctp_header.h#8 integrate .. //depot/projects/smpng/sys/netinet/sctp_input.c#22 integrate .. //depot/projects/smpng/sys/netinet/sctp_output.c#25 integrate .. //depot/projects/smpng/sys/netinet/sctp_output.h#10 integrate .. //depot/projects/smpng/sys/netinet/sctp_pcb.c#27 integrate .. //depot/projects/smpng/sys/netinet/sctp_structs.h#13 integrate .. //depot/projects/smpng/sys/netinet/sctp_uio.h#19 integrate .. //depot/projects/smpng/sys/netinet/sctp_usrreq.c#24 integrate .. //depot/projects/smpng/sys/netinet/sctputil.c#27 integrate .. //depot/projects/smpng/sys/netinet/vinet.h#5 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_vnops.c#81 integrate .. //depot/projects/smpng/sys/nfsclient/nfsnode.h#22 integrate .. //depot/projects/smpng/sys/pc98/conf/GENERIC#80 integrate .. //depot/projects/smpng/sys/pccard/cardinfo.h#9 delete .. //depot/projects/smpng/sys/pccard/cis.h#3 delete .. //depot/projects/smpng/sys/powerpc/conf/GENERIC#54 integrate .. //depot/projects/smpng/sys/powerpc/conf/MPC85XX#4 integrate .. //depot/projects/smpng/sys/sparc64/conf/GENERIC#88 integrate .. //depot/projects/smpng/sys/sun4v/conf/GENERIC#13 integrate .. //depot/projects/smpng/sys/sys/conf.h#58 integrate .. //depot/projects/smpng/sys/sys/disk.h#16 integrate .. //depot/projects/smpng/sys/sys/jail.h#23 integrate .. //depot/projects/smpng/sys/sys/libkern.h#28 integrate .. //depot/projects/smpng/sys/sys/param.h#134 integrate .. //depot/projects/smpng/sys/sys/syscallsubr.h#58 integrate .. //depot/projects/smpng/sys/sys/vnode.h#95 integrate Differences ... ==== //depot/projects/smpng/sys/Makefile#22 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/Makefile,v 1.53 2008/08/15 14:11:30 philip Exp $ +# $FreeBSD: src/sys/Makefile,v 1.54 2009/02/15 18:19:24 imp Exp $ .include @@ -12,7 +12,7 @@ geom gnu isa kern libkern modules net net80211 netatalk \ netgraph netinet netinet6 netipsec netipx netnatm netncp \ netsmb nfs nfs4client nfsclient nfsserver nlm opencrypto \ - pccard pci rpc security sys ufs vm xdr ${CSCOPE_ARCHDIR} + pci rpc security sys ufs vm xdr ${CSCOPE_ARCHDIR} .if defined(ALL_ARCH) CSCOPE_ARCHDIR ?= amd64 arm i386 ia64 mips pc98 powerpc sparc64 sun4v .else ==== //depot/projects/smpng/sys/amd64/amd64/pmap.c#87 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.646 2008/12/06 19:37:52 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.647 2009/02/14 18:23:52 alc Exp $"); /* * Manages physical address maps. @@ -3400,9 +3400,7 @@ } p = vm_page_lookup(object, pindex); - vm_page_lock_queues(); vm_page_wakeup(p); - vm_page_unlock_queues(); } ptepa = VM_PAGE_TO_PHYS(p); @@ -3416,15 +3414,11 @@ while ((pdpg = pmap_allocpde(pmap, va, M_NOWAIT)) == NULL) { PMAP_UNLOCK(pmap); - vm_page_lock_queues(); vm_page_busy(p); - vm_page_unlock_queues(); VM_OBJECT_UNLOCK(object); VM_WAIT; VM_OBJECT_LOCK(object); - vm_page_lock_queues(); vm_page_wakeup(p); - vm_page_unlock_queues(); PMAP_LOCK(pmap); } pde = (pd_entry_t *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(pdpg)); ==== //depot/projects/smpng/sys/amd64/conf/GENERIC#72 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.518 2009/01/19 15:33:06 sobomax Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.520 2009/02/15 23:40:37 svn Exp $ cpu HAMMER ident GENERIC @@ -281,40 +281,97 @@ # Note that 'bpf' is required for DHCP. device bpf # Berkeley packet filter -# USB support -device uhci # UHCI PCI->USB interface -device ohci # OHCI PCI->USB interface -device ehci # EHCI PCI->USB interface (USB 2.0) -device usb # USB Bus (required) +# USB core support +device usb2_core +# USB controller support +device usb2_controller +device usb2_controller_ehci +device usb2_controller_ohci +device usb2_controller_uhci +# USB mass storage support +device usb2_storage +device usb2_storage_mass +# USB ethernet support, requires miibus +device usb2_ethernet +device usb2_ethernet_aue +device usb2_ethernet_axe +device usb2_ethernet_cdce +device usb2_ethernet_cue +device usb2_ethernet_kue +device usb2_ethernet_rue +device usb2_ethernet_dav +# USB wireless LAN support +device usb2_wlan +device usb2_wlan_rum +device usb2_wlan_ral +device usb2_wlan_zyd +# USB serial device support +device usb2_serial +device usb2_serial_ark +device usb2_serial_bsa +device usb2_serial_bser +device usb2_serial_chcom +device usb2_serial_cycom +device usb2_serial_foma +device usb2_serial_ftdi +device usb2_serial_gensa +device usb2_serial_ipaq +device usb2_serial_lpt +device usb2_serial_mct +device usb2_serial_modem +device usb2_serial_moscom +device usb2_serial_plcom +device usb2_serial_slcom +device usb2_serial_visor +device usb2_serial_vscom +# USB bluetooth support +#device usb2_bluetooth +#device usb2_bluetooth_ng +# USB input device support +device usb2_input +device usb2_input_hid +device usb2_input_kbd +device usb2_input_ms +# USB sound and MIDI device support +#device usb2_sound +# USB scanner support +device usb2_image +device usb2_scanner + +# USB support (deprecated) +#device uhci # UHCI PCI->USB interface +#device ohci # OHCI PCI->USB interface +#device ehci # EHCI PCI->USB interface (USB 2.0) +#device usb # USB Bus (required) #device udbp # USB Double Bulk Pipe devices -device ugen # Generic -device uhid # "Human Interface Devices" -device ukbd # Keyboard -device ulpt # Printer -device umass # Disks/Mass storage - Requires scbus and da -device ums # Mouse -device ural # Ralink Technology RT2500USB wireless NICs -device rum # Ralink Technology RT2501USB wireless NICs -device urio # Diamond Rio 500 MP3 player -device uscanner # Scanners +#device ugen # Generic +#device uhid # "Human Interface Devices" +#device ukbd # Keyboard +#device ulpt # Printer +#device umass # Disks/Mass storage - Requires scbus and da +#device ums # Mouse +#device ural # Ralink Technology RT2500USB wireless NICs +#device rum # Ralink Technology RT2501USB wireless NICs +#device urio # Diamond Rio 500 MP3 player +#device uscanner # Scanners # USB Serial devices -device ucom # Generic com ttys -device uark # Technologies ARK3116 based serial adapters -device ubsa # Belkin F5U103 and compatible serial adapters -device uftdi # For FTDI usb serial adapters -device uipaq # Some WinCE based devices -device uplcom # Prolific PL-2303 serial adapters -device uslcom # SI Labs CP2101/CP2102 serial adapters -device uvisor # Visor and Palm devices -device uvscom # USB serial support for DDI pocket's PHS +#device ucom # Generic com ttys +#device uark # Technologies ARK3116 based serial adapters +#device ubsa # Belkin F5U103 and compatible serial adapters +#device uftdi # For FTDI usb serial adapters +#device uipaq # Some WinCE based devices +#device uplcom # Prolific PL-2303 serial adapters +#device uslcom # SI Labs CP2101/CP2102 serial adapters +#device uvisor # Visor and Palm devices +#device uvscom # USB serial support for DDI pocket's PHS # USB Ethernet, requires miibus -device aue # ADMtek USB Ethernet -device axe # ASIX Electronics USB Ethernet -device cdce # Generic USB over Ethernet -device cue # CATC USB Ethernet -device kue # Kawasaki LSI USB Ethernet -device rue # RealTek RTL8150 USB Ethernet -device udav # Davicom DM9601E USB +#device aue # ADMtek USB Ethernet +#device axe # ASIX Electronics USB Ethernet +#device cdce # Generic USB over Ethernet +#device cue # CATC USB Ethernet +#device kue # Kawasaki LSI USB Ethernet +#device rue # RealTek RTL8150 USB Ethernet +#device udav # Davicom DM9601E USB # FireWire support device firewire # FireWire bus code ==== //depot/projects/smpng/sys/amd64/linux32/linux32_machdep.c#31 (text+ko) ==== @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_machdep.c,v 1.51 2008/11/29 14:55:24 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_machdep.c,v 1.52 2009/02/18 16:11:39 kib Exp $"); #include #include @@ -560,7 +560,7 @@ /* wait for the children to exit, ie. emulate vfork */ PROC_LOCK(p2); while (p2->p_flag & P_PPWAIT) - msleep(td->td_proc, &p2->p_mtx, PWAIT, "ppwait", 0); + cv_wait(&p2->p_pwait, &p2->p_mtx); PROC_UNLOCK(p2); return (0); @@ -749,7 +749,7 @@ /* wait for the children to exit, ie. emulate vfork */ PROC_LOCK(p2); while (p2->p_flag & P_PPWAIT) - msleep(td->td_proc, &p2->p_mtx, PWAIT, "ppwait", 0); + cv_wait(&p2->p_pwait, &p2->p_mtx); PROC_UNLOCK(p2); } ==== //depot/projects/smpng/sys/arm/conf/AVILA#13 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/arm/conf/AVILA,v 1.22 2009/02/03 19:16:04 sam Exp $ +# $FreeBSD: src/sys/arm/conf/AVILA,v 1.23 2009/02/18 01:37:57 sam Exp $ ident AVILA @@ -88,7 +88,7 @@ device npe_fw device firmware device qmgr # Q Manager (required by npe) -device miibus # NB: required by npe +device mii # NB: required by npe device ether device bpf ==== //depot/projects/smpng/sys/arm/conf/CAMBRIA#2 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/arm/conf/CAMBRIA,v 1.2 2008/12/27 19:02:01 sam Exp $ +# $FreeBSD: src/sys/arm/conf/CAMBRIA,v 1.3 2009/02/18 01:37:57 sam Exp $ ident CAMBRIA @@ -87,7 +87,7 @@ device npe_fw device firmware device qmgr # Q Manager (required by npe) -device miibus # NB: required by npe +device mii # NB: required by npe device ether device bpf ==== //depot/projects/smpng/sys/arm/mv/files.mv#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/arm/mv/files.mv,v 1.3 2009/01/09 10:55:33 raj Exp $ +# $FreeBSD: src/sys/arm/mv/files.mv,v 1.4 2009/02/16 21:42:41 marcel Exp $ # # The Marvell CPU cores # - Compliant with V5TE architecture @@ -33,3 +33,4 @@ dev/uart/uart_cpu_mv.c optional uart dev/uart/uart_dev_ns8250.c optional uart dev/usb/ehci_mbus.c optional ehci +dev/usb2/controller/ehci2_mbus.c optional usb2_core usb2_controller usb2_controller_ehci ==== //depot/projects/smpng/sys/boot/Makefile#31 (text+ko) ==== @@ -1,11 +1,7 @@ -# $FreeBSD: src/sys/boot/Makefile,v 1.38 2008/12/14 02:57:41 nyan Exp $ +# $FreeBSD: src/sys/boot/Makefile,v 1.39 2009/02/19 18:53:08 imp Exp $ .include -.if ${MACHINE_ARCH} == "mips" -MK_FORTH=no # not yet -.endif - .if ${MK_FORTH} != "no" # Build the add-in FORTH interpreter. SUBDIR+= ficl ==== //depot/projects/smpng/sys/boot/common/loader.8#48 (text+ko) ==== @@ -22,9 +22,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/sys/boot/common/loader.8,v 1.95 2008/12/06 11:21:10 danger Exp $ +.\" $FreeBSD: src/sys/boot/common/loader.8,v 1.96 2009/02/16 02:42:17 thompsa Exp $ .\" -.Dd November 8, 2007 +.Dd February 15, 2009 .Dt LOADER 8 .Os .Sh NAME @@ -215,6 +215,17 @@ will be passed as arguments to that file. Currently, argument passing does not work for the kernel. .Pp +.It Ic load_geli Xo +.Op Fl n Ar keyno +.Ar prov Ar file +.Xc +Loads a +.Xr geli 8 +encryption keyfile for the given provider name. +The key index can be specified via +.Ar keyno +or will default to zero. +.Pp .It Ic ls Xo .Op Fl l .Op Ar path ==== //depot/projects/smpng/sys/boot/common/module.c#9 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/common/module.c,v 1.27 2007/10/04 18:29:52 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/common/module.c,v 1.28 2009/02/16 02:42:17 thompsa Exp $"); /* * file/module function dispatcher, support, etc. @@ -154,6 +154,44 @@ return (error == 0 ? CMD_OK : CMD_ERROR); } +COMMAND_SET(load_geli, "load_geli", "load a geli key", command_load_geli); + +static int +command_load_geli(int argc, char *argv[]) +{ + char typestr[80]; + char *cp; + int ch, num; + + if (argc < 3) { + command_errmsg = "usage is [-n key#] "; + return(CMD_ERROR); + } + + num = 0; + optind = 1; + optreset = 1; + while ((ch = getopt(argc, argv, "n:")) != -1) { + switch(ch) { + case 'n': + num = strtol(optarg, &cp, 0); + if (cp == optarg) { + sprintf(command_errbuf, "bad key index '%s'", optarg); + return(CMD_ERROR); + } + break; + case '?': + default: + /* getopt has already reported an error */ + return(CMD_OK); + } + } + argv += (optind - 1); + argc -= (optind - 1); + sprintf(typestr, "%s:geli_keyfile%d", argv[1], num); + return(file_loadraw(typestr, argv[2])); +} + COMMAND_SET(unload, "unload", "unload all modules", command_unload); static int ==== //depot/projects/smpng/sys/cam/cam_xpt.c#55 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/cam_xpt.c,v 1.210 2009/02/13 10:04:59 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/cam_xpt.c,v 1.213 2009/02/16 18:02:32 scottl Exp $"); #include #include @@ -5419,9 +5419,34 @@ PROBE_TUR_FOR_NEGOTIATION, PROBE_INQUIRY_BASIC_DV1, PROBE_INQUIRY_BASIC_DV2, - PROBE_DV_EXIT + PROBE_DV_EXIT, + PROBE_INVALID } probe_action; +static char *probe_action_text[] = { + "PROBE_TUR", + "PROBE_INQUIRY", + "PROBE_FULL_INQUIRY", + "PROBE_MODE_SENSE", + "PROBE_SERIAL_NUM_0", + "PROBE_SERIAL_NUM_1", + "PROBE_TUR_FOR_NEGOTIATION", + "PROBE_INQUIRY_BASIC_DV1", + "PROBE_INQUIRY_BASIC_DV2", + "PROBE_DV_EXIT", + "PROBE_INVALID" +}; + +#define PROBE_SET_ACTION(softc, newaction) \ +do { \ + char **text; \ + text = probe_action_text; \ + CAM_DEBUG((softc)->periph->path, CAM_DEBUG_INFO, \ + ("Probe %s to %s\n", text[(softc)->action], \ + text[(newaction)])); \ + (softc)->action = (newaction); \ +} while(0) + typedef enum { PROBE_INQUIRY_CKSUM = 0x01, PROBE_SERIAL_CKSUM = 0x02, @@ -5435,6 +5460,7 @@ probe_flags flags; MD5_CTX context; u_int8_t digest[16]; + struct cam_periph *periph; } probe_softc; static void @@ -5566,6 +5592,8 @@ periph_links.tqe); softc->flags = 0; periph->softc = softc; + softc->periph = periph; + softc->action = PROBE_INVALID; status = cam_periph_acquire(periph); if (status != CAM_REQ_CMP) { return (status); @@ -5617,13 +5645,13 @@ */ if (((ccb->ccb_h.path->device->flags & CAM_DEV_UNCONFIGURED) == 0) && (ccb->ccb_h.target_lun == 0)) { - softc->action = PROBE_TUR; + PROBE_SET_ACTION(softc, PROBE_TUR); } else if ((cpi.hba_inquiry & (PI_WIDE_32|PI_WIDE_16|PI_SDTR_ABLE)) != 0 && (cpi.hba_misc & PIM_NOBUSRESET) != 0) { proberequestdefaultnegotiation(periph); - softc->action = PROBE_INQUIRY; + PROBE_SET_ACTION(softc, PROBE_INQUIRY); } else { - softc->action = PROBE_INQUIRY; + PROBE_SET_ACTION(softc, PROBE_INQUIRY); } if (ccb->crcn.flags & CAM_EXPECT_INQ_CHANGE) @@ -5712,7 +5740,7 @@ if (inq_buf == NULL) { xpt_print(periph->path, "malloc failure- skipping Basic" "Domain Validation\n"); - softc->action = PROBE_DV_EXIT; + PROBE_SET_ACTION(softc, PROBE_DV_EXIT); scsi_test_unit_ready(csio, /*retries*/4, probedone, @@ -5758,7 +5786,7 @@ } xpt_print(periph->path, "Unable to mode sense control page - " "malloc failure\n"); - softc->action = PROBE_SERIAL_NUM_0; + PROBE_SET_ACTION(softc, PROBE_SERIAL_NUM_0); } /* FALLTHROUGH */ case PROBE_SERIAL_NUM_0: @@ -5827,6 +5855,11 @@ probedone(periph, start_ccb); return; } + case PROBE_INVALID: + CAM_DEBUG(start_ccb->ccb_h.path, CAM_DEBUG_INFO, + ("probestart: invalid action state\n")); + default: + break; } xpt_action(start_ccb); } @@ -5980,7 +6013,7 @@ /*count*/1, /*run_queue*/TRUE); } - softc->action = PROBE_INQUIRY; + PROBE_SET_ACTION(softc, PROBE_INQUIRY); xpt_release_ccb(done_ccb); xpt_schedule(periph, priority); return; @@ -6017,7 +6050,7 @@ additional_length) + 1; if (softc->action == PROBE_INQUIRY && len > SHORT_INQUIRY_LENGTH) { - softc->action = PROBE_FULL_INQUIRY; + PROBE_SET_ACTION(softc, PROBE_FULL_INQUIRY); xpt_release_ccb(done_ccb); xpt_schedule(periph, priority); return; @@ -6027,9 +6060,9 @@ xpt_devise_transport(path); if (INQ_DATA_TQ_ENABLED(inq_buf)) - softc->action = PROBE_MODE_SENSE; + PROBE_SET_ACTION(softc, PROBE_MODE_SENSE); else - softc->action = PROBE_SERIAL_NUM_0; + PROBE_SET_ACTION(softc, PROBE_SERIAL_NUM_0); path->device->flags &= ~CAM_DEV_UNCONFIGURED; @@ -6094,7 +6127,7 @@ } xpt_release_ccb(done_ccb); free(mode_hdr, M_CAMXPT); - softc->action = PROBE_SERIAL_NUM_0; + PROBE_SET_ACTION(softc, PROBE_SERIAL_NUM_0); xpt_schedule(periph, priority); return; } @@ -6139,7 +6172,7 @@ if (serialnum_supported) { xpt_release_ccb(done_ccb); - softc->action = PROBE_SERIAL_NUM_1; + PROBE_SET_ACTION(softc, PROBE_SERIAL_NUM_1); xpt_schedule(periph, priority); return; } @@ -6250,7 +6283,7 @@ * Perform a TUR to allow the controller to * perform any necessary transfer negotiation. */ - softc->action = PROBE_TUR_FOR_NEGOTIATION; + PROBE_SET_ACTION(softc, PROBE_TUR_FOR_NEGOTIATION); xpt_schedule(periph, priority); return; } @@ -6283,7 +6316,7 @@ ("Begin Domain Validation\n")); path->device->flags |= CAM_DEV_IN_DV; xpt_release_ccb(done_ccb); - softc->action = PROBE_INQUIRY_BASIC_DV1; + PROBE_SET_ACTION(softc, PROBE_INQUIRY_BASIC_DV1); xpt_schedule(periph, priority); return; } @@ -6321,10 +6354,10 @@ softc->action == PROBE_INQUIRY_BASIC_DV1 ? 1 : 2); if (proberequestbackoff(periph, path->device)) { path->device->flags &= ~CAM_DEV_IN_DV; - softc->action = PROBE_TUR_FOR_NEGOTIATION; + PROBE_SET_ACTION(softc, PROBE_TUR_FOR_NEGOTIATION); } else { /* give up */ - softc->action = PROBE_DV_EXIT; + PROBE_SET_ACTION(softc, PROBE_DV_EXIT); } free(nbuf, M_CAMXPT); xpt_release_ccb(done_ccb); @@ -6333,12 +6366,12 @@ } free(nbuf, M_CAMXPT); if (softc->action == PROBE_INQUIRY_BASIC_DV1) { - softc->action = PROBE_INQUIRY_BASIC_DV2; + PROBE_SET_ACTION(softc, PROBE_INQUIRY_BASIC_DV2); xpt_release_ccb(done_ccb); xpt_schedule(periph, priority); return; } - if (softc->action == PROBE_DV_EXIT) { + if (softc->action == PROBE_INQUIRY_BASIC_DV2) { CAM_DEBUG(periph->path, CAM_DEBUG_INFO, ("Leave Domain Validation Successfully\n")); } @@ -6354,6 +6387,11 @@ xpt_release_ccb(done_ccb); break; } + case PROBE_INVALID: + CAM_DEBUG(done_ccb->ccb_h.path, CAM_DEBUG_INFO, + ("probedone: invalid action state\n")); + default: + break; } done_ccb = (union ccb *)TAILQ_FIRST(&softc->request_ccbs); TAILQ_REMOVE(&softc->request_ccbs, &done_ccb->ccb_h, periph_links.tqe); @@ -6642,9 +6680,7 @@ if (((device->flags & CAM_DEV_INQUIRY_DATA_VALID) != 0 && (inq_data->flags & SID_Sync) == 0 && cts->type == CTS_TYPE_CURRENT_SETTINGS) - || ((cpi.hba_inquiry & PI_SDTR_ABLE) == 0) - || (spi->sync_offset == 0) - || (spi->sync_period == 0)) { + || ((cpi.hba_inquiry & PI_SDTR_ABLE) == 0)) { /* Force async */ spi->sync_period = 0; spi->sync_offset = 0; @@ -6692,7 +6728,8 @@ if (spi->bus_width == 0) spi->ppr_options = 0; - if ((spi->flags & CTS_SPI_FLAGS_DISC_ENB) == 0) { + if ((spi->valid & CTS_SPI_VALID_DISC) + && ((spi->flags & CTS_SPI_FLAGS_DISC_ENB) == 0)) { /* * Can't tag queue without disconnection. */ ==== //depot/projects/smpng/sys/compat/linux/linux_stats.c#42 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_stats.c,v 1.94 2009/01/28 17:57:16 ed Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_stats.c,v 1.95 2009/02/20 13:05:29 ed Exp $"); #include "opt_compat.h" #include "opt_mac.h" @@ -62,6 +62,44 @@ #include +static void +translate_vnhook_major_minor(struct vnode *vp, struct stat *sb) +{ + int major, minor; + + if (vp->v_type == VCHR && vp->v_rdev != NULL && + linux_driver_get_major_minor(vp->v_rdev->si_name, + &major, &minor) == 0) { + sb->st_rdev = (major << 8 | minor); + } +} + +static int +linux_kern_statat(struct thread *td, int flag, int fd, char *path, + enum uio_seg pathseg, struct stat *sbp) +{ + + return (kern_statat_vnhook(td, flag, fd, path, pathseg, sbp, + translate_vnhook_major_minor)); +} + +static int +linux_kern_stat(struct thread *td, char *path, enum uio_seg pathseg, + struct stat *sbp) +{ + + return (linux_kern_statat(td, 0, AT_FDCWD, path, pathseg, sbp)); +} + +static int +linux_kern_lstat(struct thread *td, char *path, enum uio_seg pathseg, + struct stat *sbp) +{ + + return (linux_kern_statat(td, AT_SYMLINK_NOFOLLOW, AT_FDCWD, path, + pathseg, sbp)); +} + /* * XXX: This was removed from newstat_copyout(), and almost identical * XXX: code was in stat64_copyout(). findcdev() needs to be replaced @@ -102,14 +140,15 @@ translate_fd_major_minor(struct thread *td, int fd, struct stat *buf) { struct file *fp; + struct vnode *vp; int major, minor; if ((!S_ISCHR(buf->st_mode) && !S_ISBLK(buf->st_mode)) || fget(td, fd, &fp) != 0) return; - if (fp->f_vnode != NULL && - fp->f_vnode->v_un.vu_cdev != NULL && - linux_driver_get_major_minor(fp->f_vnode->v_un.vu_cdev->si_name, + vp = fp->f_vnode; + if (vp != NULL && vp->v_rdev != NULL && + linux_driver_get_major_minor(vp->v_rdev->si_name, &major, &minor) == 0) { buf->st_rdev = (major << 8 | minor); } else if (fp->f_type == DTYPE_PTS) { @@ -124,32 +163,6 @@ fdrop(fp, td); } -static void -translate_path_major_minor_at(struct thread *td, char *path, - struct stat *buf, int dfd) -{ - struct proc *p = td->td_proc; - struct filedesc *fdp = p->p_fd; - int fd; - int temp; - - if (!S_ISCHR(buf->st_mode) && !S_ISBLK(buf->st_mode)) - return; - temp = td->td_retval[0]; - if (kern_openat(td, dfd, path, UIO_SYSSPACE, O_RDONLY, 0) != 0) - return; - fd = td->td_retval[0]; - td->td_retval[0] = temp; - translate_fd_major_minor(td, fd, buf); - fdclose(fdp, fdp->fd_ofiles[fd], fd, td); -} - -static inline void -translate_path_major_minor(struct thread *td, char *path, struct stat *buf) -{ - translate_path_major_minor_at(td, path, buf, AT_FDCWD); -} - static int newstat_copyout(struct stat *buf, void *ubuf) { @@ -187,9 +200,7 @@ printf(ARGS(newstat, "%s, *"), path); >>> TRUNCATED FOR MAIL (1000 lines) <<<