PERFORCE change 152815 for review

Hans Petter Selasky hselasky at FreeBSD.org
Tue Nov 11 11:36:55 PST 2008


http://perforce.freebsd.org/chv.cgi?CH=152815

Change 152815 by hselasky at hselasky_laptop001 on 2008/11/11 19:36:05

	
	IFC @ 152813

Affected files ...

.. //depot/projects/usb/src/sys/amd64/include/pmc_mdep.h#5 integrate
.. //depot/projects/usb/src/sys/amd64/linux32/linux32_machdep.c#10 integrate
.. //depot/projects/usb/src/sys/amd64/linux32/linux32_proto.h#8 integrate
.. //depot/projects/usb/src/sys/amd64/linux32/linux32_syscall.h#8 integrate
.. //depot/projects/usb/src/sys/amd64/linux32/linux32_sysent.c#8 integrate
.. //depot/projects/usb/src/sys/amd64/linux32/syscalls.master#8 integrate
.. //depot/projects/usb/src/sys/arm/arm/dump_machdep.c#5 integrate
.. //depot/projects/usb/src/sys/arm/arm/minidump_machdep.c#1 branch
.. //depot/projects/usb/src/sys/arm/arm/pmap.c#12 integrate
.. //depot/projects/usb/src/sys/arm/include/md_var.h#3 integrate
.. //depot/projects/usb/src/sys/arm/include/minidump.h#1 branch
.. //depot/projects/usb/src/sys/arm/include/pmap.h#8 integrate
.. //depot/projects/usb/src/sys/arm/mv/mv_machdep.c#2 integrate
.. //depot/projects/usb/src/sys/cddl/compat/opensolaris/kern/opensolaris_kmem.c#3 integrate
.. //depot/projects/usb/src/sys/cddl/compat/opensolaris/sys/types.h#2 integrate
.. //depot/projects/usb/src/sys/cddl/compat/opensolaris/sys/uio.h#2 integrate
.. //depot/projects/usb/src/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c#5 integrate
.. //depot/projects/usb/src/sys/cddl/contrib/opensolaris/uts/common/dtrace/fasttrap.c#2 integrate
.. //depot/projects/usb/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_acl.c#2 integrate
.. //depot/projects/usb/src/sys/cddl/dev/dtrace/dtrace_ioctl.c#2 integrate
.. //depot/projects/usb/src/sys/cddl/dev/dtrace/dtrace_load.c#2 integrate
.. //depot/projects/usb/src/sys/cddl/dev/dtrace/dtrace_unload.c#2 integrate
.. //depot/projects/usb/src/sys/cddl/dev/systrace/systrace.c#2 integrate
.. //depot/projects/usb/src/sys/compat/freebsd32/freebsd32_misc.c#11 integrate
.. //depot/projects/usb/src/sys/compat/freebsd32/freebsd32_proto.h#11 integrate
.. //depot/projects/usb/src/sys/compat/freebsd32/freebsd32_syscall.h#11 integrate
.. //depot/projects/usb/src/sys/compat/freebsd32/freebsd32_syscalls.c#11 integrate
.. //depot/projects/usb/src/sys/compat/freebsd32/freebsd32_sysent.c#11 integrate
.. //depot/projects/usb/src/sys/compat/freebsd32/syscalls.master#11 integrate
.. //depot/projects/usb/src/sys/compat/linprocfs/linprocfs.c#11 integrate
.. //depot/projects/usb/src/sys/compat/linux/linux_misc.c#15 integrate
.. //depot/projects/usb/src/sys/conf/NOTES#21 integrate
.. //depot/projects/usb/src/sys/conf/files.amd64#11 integrate
.. //depot/projects/usb/src/sys/conf/files.arm#8 integrate
.. //depot/projects/usb/src/sys/conf/files.i386#14 integrate
.. //depot/projects/usb/src/sys/conf/files.pc98#12 integrate
.. //depot/projects/usb/src/sys/dev/age/if_age.c#6 integrate
.. //depot/projects/usb/src/sys/dev/an/if_an.c#6 integrate
.. //depot/projects/usb/src/sys/dev/cxgb/cxgb_main.c#10 integrate
.. //depot/projects/usb/src/sys/dev/cxgb/cxgb_osdep.h#8 integrate
.. //depot/projects/usb/src/sys/dev/e1000/if_em.c#2 integrate
.. //depot/projects/usb/src/sys/dev/e1000/if_igb.c#3 integrate
.. //depot/projects/usb/src/sys/dev/en/midway.c#6 integrate
.. //depot/projects/usb/src/sys/dev/hwpmc/hwpmc_amd.c#5 integrate
.. //depot/projects/usb/src/sys/dev/hwpmc/hwpmc_amd.h#2 integrate
.. //depot/projects/usb/src/sys/dev/hwpmc/hwpmc_intel.c#1 branch
.. //depot/projects/usb/src/sys/dev/hwpmc/hwpmc_logging.c#6 integrate
.. //depot/projects/usb/src/sys/dev/hwpmc/hwpmc_mod.c#9 integrate
.. //depot/projects/usb/src/sys/dev/hwpmc/hwpmc_pentium.c#2 integrate
.. //depot/projects/usb/src/sys/dev/hwpmc/hwpmc_pentium.h#2 integrate
.. //depot/projects/usb/src/sys/dev/hwpmc/hwpmc_piv.c#6 integrate
.. //depot/projects/usb/src/sys/dev/hwpmc/hwpmc_piv.h#2 integrate
.. //depot/projects/usb/src/sys/dev/hwpmc/hwpmc_ppro.c#5 integrate
.. //depot/projects/usb/src/sys/dev/hwpmc/hwpmc_ppro.h#2 integrate
.. //depot/projects/usb/src/sys/dev/hwpmc/hwpmc_tsc.c#1 branch
.. //depot/projects/usb/src/sys/dev/hwpmc/hwpmc_tsc.h#1 branch
.. //depot/projects/usb/src/sys/dev/hwpmc/hwpmc_x86.c#6 integrate
.. //depot/projects/usb/src/sys/dev/if_ndis/if_ndis.c#11 integrate
.. //depot/projects/usb/src/sys/dev/ispfw/ispfw.c#4 integrate
.. //depot/projects/usb/src/sys/dev/snp/snp.c#8 integrate
.. //depot/projects/usb/src/sys/dev/syscons/sysmouse.c#5 integrate
.. //depot/projects/usb/src/sys/dev/usb2/controller/at91dci.c#15 integrate
.. //depot/projects/usb/src/sys/dev/usb2/controller/at91dci_atmelarm.c#11 integrate
.. //depot/projects/usb/src/sys/dev/usb2/controller/ehci2.c#18 integrate
.. //depot/projects/usb/src/sys/dev/usb2/controller/ehci2_pci.c#14 integrate
.. //depot/projects/usb/src/sys/dev/usb2/controller/musb2_otg.c#16 integrate
.. //depot/projects/usb/src/sys/dev/usb2/controller/musb2_otg_atmelarm.c#8 integrate
.. //depot/projects/usb/src/sys/dev/usb2/controller/ohci2.c#16 integrate
.. //depot/projects/usb/src/sys/dev/usb2/controller/ohci2_atmelarm.c#11 integrate
.. //depot/projects/usb/src/sys/dev/usb2/controller/ohci2_pci.c#12 integrate
.. //depot/projects/usb/src/sys/dev/usb2/controller/uhci2.c#14 integrate
.. //depot/projects/usb/src/sys/dev/usb2/controller/uhci2_pci.c#13 integrate
.. //depot/projects/usb/src/sys/dev/usb2/controller/usb2_bus.h#5 integrate
.. //depot/projects/usb/src/sys/dev/usb2/controller/usb2_controller.c#15 integrate
.. //depot/projects/usb/src/sys/dev/usb2/controller/uss820dci.c#13 integrate
.. //depot/projects/usb/src/sys/dev/usb2/controller/uss820dci_atmelarm.c#4 integrate
.. //depot/projects/usb/src/sys/dev/usb2/controller/uss820dci_pccard.c#11 integrate
.. //depot/projects/usb/src/sys/dev/usb2/core/usb2_busdma.c#12 integrate
.. //depot/projects/usb/src/sys/dev/usb2/core/usb2_core.h#23 integrate
.. //depot/projects/usb/src/sys/dev/usb2/core/usb2_device.c#30 integrate
.. //depot/projects/usb/src/sys/dev/usb2/core/usb2_handle_request.c#10 integrate
.. //depot/projects/usb/src/sys/dev/usb2/core/usb2_hub.c#20 integrate
.. //depot/projects/usb/src/sys/dev/usb2/core/usb2_request.c#21 integrate
.. //depot/projects/usb/src/sys/dev/usb2/core/usb2_sw_transfer.c#7 integrate
.. //depot/projects/usb/src/sys/dev/usb2/core/usb2_transfer.c#31 integrate
.. //depot/projects/usb/src/sys/dev/usb2/core/usb2_transfer.h#9 integrate
.. //depot/projects/usb/src/sys/dev/usb2/include/usb2_devid.h#11 integrate
.. //depot/projects/usb/src/sys/dev/usb2/include/usb2_devtable.h#11 integrate
.. //depot/projects/usb/src/sys/dev/usb2/serial/uark2.c#10 integrate
.. //depot/projects/usb/src/sys/dev/usb2/serial/ubsa2.c#14 integrate
.. //depot/projects/usb/src/sys/dev/usb2/serial/ubser2.c#10 integrate
.. //depot/projects/usb/src/sys/dev/usb2/serial/uchcom2.c#11 integrate
.. //depot/projects/usb/src/sys/dev/usb2/serial/ucycom2.c#11 integrate
.. //depot/projects/usb/src/sys/dev/usb2/serial/ufoma2.c#13 integrate
.. //depot/projects/usb/src/sys/dev/usb2/serial/uftdi2.c#11 integrate
.. //depot/projects/usb/src/sys/dev/usb2/serial/ugensa2.c#14 integrate
.. //depot/projects/usb/src/sys/dev/usb2/serial/uipaq2.c#12 integrate
.. //depot/projects/usb/src/sys/dev/usb2/serial/umct2.c#10 integrate
.. //depot/projects/usb/src/sys/dev/usb2/serial/umodem2.c#13 integrate
.. //depot/projects/usb/src/sys/dev/usb2/serial/umoscom2.c#11 integrate
.. //depot/projects/usb/src/sys/dev/usb2/serial/uplcom2.c#12 integrate
.. //depot/projects/usb/src/sys/dev/usb2/serial/usb2_serial.c#17 integrate
.. //depot/projects/usb/src/sys/dev/usb2/serial/uvisor2.c#11 integrate
.. //depot/projects/usb/src/sys/dev/usb2/serial/uvscom2.c#11 integrate
.. //depot/projects/usb/src/sys/dev/usb2/storage/ata-usb2.c#10 integrate
.. //depot/projects/usb/src/sys/dev/usb2/wlan/if_zyd2.c#21 integrate
.. //depot/projects/usb/src/sys/fs/procfs/procfs.c#5 integrate
.. //depot/projects/usb/src/sys/fs/procfs/procfs_map.c#5 integrate
.. //depot/projects/usb/src/sys/fs/unionfs/union_vfsops.c#8 integrate
.. //depot/projects/usb/src/sys/geom/part/g_part_gpt.c#9 integrate
.. //depot/projects/usb/src/sys/i386/include/pmc_mdep.h#5 integrate
.. //depot/projects/usb/src/sys/i386/linux/linux_machdep.c#9 integrate
.. //depot/projects/usb/src/sys/i386/linux/linux_proto.h#8 integrate
.. //depot/projects/usb/src/sys/i386/linux/linux_syscall.h#8 integrate
.. //depot/projects/usb/src/sys/i386/linux/linux_sysent.c#8 integrate
.. //depot/projects/usb/src/sys/i386/linux/syscalls.master#8 integrate
.. //depot/projects/usb/src/sys/kern/init_sysent.c#10 integrate
.. //depot/projects/usb/src/sys/kern/kern_descrip.c#14 integrate
.. //depot/projects/usb/src/sys/kern/kern_exec.c#12 integrate
.. //depot/projects/usb/src/sys/kern/kern_mbuf.c#8 integrate
.. //depot/projects/usb/src/sys/kern/kern_proc.c#12 integrate
.. //depot/projects/usb/src/sys/kern/kern_sig.c#11 integrate
.. //depot/projects/usb/src/sys/kern/kern_thr.c#9 integrate
.. //depot/projects/usb/src/sys/kern/kern_thread.c#12 integrate
.. //depot/projects/usb/src/sys/kern/kern_xxx.c#8 integrate
.. //depot/projects/usb/src/sys/kern/subr_firmware.c#7 integrate
.. //depot/projects/usb/src/sys/kern/subr_sleepqueue.c#11 integrate
.. //depot/projects/usb/src/sys/kern/sys_pipe.c#9 integrate
.. //depot/projects/usb/src/sys/kern/sys_process.c#9 integrate
.. //depot/projects/usb/src/sys/kern/syscalls.c#10 integrate
.. //depot/projects/usb/src/sys/kern/syscalls.master#10 integrate
.. //depot/projects/usb/src/sys/kern/systrace_args.c#9 integrate
.. //depot/projects/usb/src/sys/kern/tty.c#12 integrate
.. //depot/projects/usb/src/sys/kern/vfs_syscalls.c#12 integrate
.. //depot/projects/usb/src/sys/modules/Makefile#22 integrate
.. //depot/projects/usb/src/sys/modules/hwpmc/Makefile#4 integrate
.. //depot/projects/usb/src/sys/modules/krpc/Makefile#2 integrate
.. //depot/projects/usb/src/sys/modules/nfsserver/Makefile#3 integrate
.. //depot/projects/usb/src/sys/modules/snp/Makefile#2 integrate
.. //depot/projects/usb/src/sys/modules/usb2/Makefile#4 integrate
.. //depot/projects/usb/src/sys/modules/usb2/bluetooth/Makefile#5 integrate
.. //depot/projects/usb/src/sys/modules/usb2/bluetooth_fw/Makefile#2 integrate
.. //depot/projects/usb/src/sys/modules/usb2/bluetooth_ng/Makefile#2 integrate
.. //depot/projects/usb/src/sys/modules/usb2/controller/Makefile#8 integrate
.. //depot/projects/usb/src/sys/modules/usb2/controller_at91dci/Makefile#2 integrate
.. //depot/projects/usb/src/sys/modules/usb2/controller_ehci/Makefile#2 integrate
.. //depot/projects/usb/src/sys/modules/usb2/controller_musb/Makefile#2 integrate
.. //depot/projects/usb/src/sys/modules/usb2/controller_ohci/Makefile#2 integrate
.. //depot/projects/usb/src/sys/modules/usb2/controller_uhci/Makefile#2 integrate
.. //depot/projects/usb/src/sys/modules/usb2/controller_uss820dci/Makefile#2 integrate
.. //depot/projects/usb/src/sys/modules/usb2/core/Makefile#8 integrate
.. //depot/projects/usb/src/sys/modules/usb2/ethernet/Makefile#6 integrate
.. //depot/projects/usb/src/sys/modules/usb2/ethernet_aue/Makefile#2 integrate
.. //depot/projects/usb/src/sys/modules/usb2/ethernet_axe/Makefile#2 integrate
.. //depot/projects/usb/src/sys/modules/usb2/ethernet_cdce/Makefile#2 integrate
.. //depot/projects/usb/src/sys/modules/usb2/ethernet_cue/Makefile#2 integrate
.. //depot/projects/usb/src/sys/modules/usb2/ethernet_dav/Makefile#2 integrate
.. //depot/projects/usb/src/sys/modules/usb2/ethernet_kue/Makefile#2 integrate
.. //depot/projects/usb/src/sys/modules/usb2/ethernet_rue/Makefile#2 integrate
.. //depot/projects/usb/src/sys/modules/usb2/image/Makefile#5 integrate
.. //depot/projects/usb/src/sys/modules/usb2/input/Makefile#6 integrate
.. //depot/projects/usb/src/sys/modules/usb2/input_hid/Makefile#2 integrate
.. //depot/projects/usb/src/sys/modules/usb2/input_kbd/Makefile#2 integrate
.. //depot/projects/usb/src/sys/modules/usb2/input_ms/Makefile#2 integrate
.. //depot/projects/usb/src/sys/modules/usb2/misc/Makefile#5 integrate
.. //depot/projects/usb/src/sys/modules/usb2/misc_dbp/Makefile#2 integrate
.. //depot/projects/usb/src/sys/modules/usb2/misc_fm/Makefile#2 integrate
.. //depot/projects/usb/src/sys/modules/usb2/ndis/Makefile#5 integrate
.. //depot/projects/usb/src/sys/modules/usb2/quirk/Makefile#5 integrate
.. //depot/projects/usb/src/sys/modules/usb2/scanner/Makefile#2 integrate
.. //depot/projects/usb/src/sys/modules/usb2/serial/Makefile#5 integrate
.. //depot/projects/usb/src/sys/modules/usb2/serial_ark/Makefile#2 integrate
.. //depot/projects/usb/src/sys/modules/usb2/serial_bsa/Makefile#2 integrate
.. //depot/projects/usb/src/sys/modules/usb2/serial_bser/Makefile#2 integrate
.. //depot/projects/usb/src/sys/modules/usb2/serial_chcom/Makefile#2 integrate
.. //depot/projects/usb/src/sys/modules/usb2/serial_cycom/Makefile#2 integrate
.. //depot/projects/usb/src/sys/modules/usb2/serial_foma/Makefile#2 integrate
.. //depot/projects/usb/src/sys/modules/usb2/serial_ftdi/Makefile#2 integrate
.. //depot/projects/usb/src/sys/modules/usb2/serial_gensa/Makefile#2 integrate
.. //depot/projects/usb/src/sys/modules/usb2/serial_ipaq/Makefile#2 integrate
.. //depot/projects/usb/src/sys/modules/usb2/serial_lpt/Makefile#2 integrate
.. //depot/projects/usb/src/sys/modules/usb2/serial_mct/Makefile#2 integrate
.. //depot/projects/usb/src/sys/modules/usb2/serial_modem/Makefile#2 integrate
.. //depot/projects/usb/src/sys/modules/usb2/serial_moscom/Makefile#2 integrate
.. //depot/projects/usb/src/sys/modules/usb2/serial_plcom/Makefile#2 integrate
.. //depot/projects/usb/src/sys/modules/usb2/serial_visor/Makefile#2 integrate
.. //depot/projects/usb/src/sys/modules/usb2/serial_vscom/Makefile#2 integrate
.. //depot/projects/usb/src/sys/modules/usb2/sound/Makefile#5 integrate
.. //depot/projects/usb/src/sys/modules/usb2/storage/Makefile#5 integrate
.. //depot/projects/usb/src/sys/modules/usb2/storage_ata/Makefile#2 integrate
.. //depot/projects/usb/src/sys/modules/usb2/storage_fs/Makefile#2 integrate
.. //depot/projects/usb/src/sys/modules/usb2/storage_mass/Makefile#2 integrate
.. //depot/projects/usb/src/sys/modules/usb2/storage_rio/Makefile#2 integrate
.. //depot/projects/usb/src/sys/modules/usb2/template/Makefile#5 integrate
.. //depot/projects/usb/src/sys/modules/usb2/wlan/Makefile#6 integrate
.. //depot/projects/usb/src/sys/modules/usb2/wlan_ral/Makefile#2 integrate
.. //depot/projects/usb/src/sys/modules/usb2/wlan_rum/Makefile#2 integrate
.. //depot/projects/usb/src/sys/modules/usb2/wlan_zyd/Makefile#2 integrate
.. //depot/projects/usb/src/sys/modules/zfs/Makefile#5 integrate
.. //depot/projects/usb/src/sys/net/if.c#12 integrate
.. //depot/projects/usb/src/sys/net/if_arcsubr.c#3 integrate
.. //depot/projects/usb/src/sys/net/if_fddisubr.c#6 integrate
.. //depot/projects/usb/src/sys/net/if_fwsubr.c#9 integrate
.. //depot/projects/usb/src/sys/net/if_gif.c#9 integrate
.. //depot/projects/usb/src/sys/net/if_iso88025subr.c#8 integrate
.. //depot/projects/usb/src/sys/net/if_spppsubr.c#7 integrate
.. //depot/projects/usb/src/sys/net/if_tun.c#8 integrate
.. //depot/projects/usb/src/sys/net/radix_mpath.c#3 integrate
.. //depot/projects/usb/src/sys/netgraph/ng_tty.c#4 integrate
.. //depot/projects/usb/src/sys/netgraph/ng_tty.h#3 integrate
.. //depot/projects/usb/src/sys/netinet/ip_fw2.c#14 integrate
.. //depot/projects/usb/src/sys/netinet/tcp_input.c#15 integrate
.. //depot/projects/usb/src/sys/netinet/tcp_subr.c#13 integrate
.. //depot/projects/usb/src/sys/netinet/tcp_var.h#11 integrate
.. //depot/projects/usb/src/sys/nfsserver/nfs_fha.c#2 integrate
.. //depot/projects/usb/src/sys/nfsserver/nfs_srvkrpc.c#2 integrate
.. //depot/projects/usb/src/sys/nfsserver/nfs_srvsubs.c#10 integrate
.. //depot/projects/usb/src/sys/security/audit/audit_arg.c#10 integrate
.. //depot/projects/usb/src/sys/security/audit/audit_bsm_klib.c#11 integrate
.. //depot/projects/usb/src/sys/security/audit/audit_worker.c#11 integrate
.. //depot/projects/usb/src/sys/sys/cfictl.h#2 integrate
.. //depot/projects/usb/src/sys/sys/pmc.h#4 integrate
.. //depot/projects/usb/src/sys/sys/priv.h#9 integrate
.. //depot/projects/usb/src/sys/sys/proc.h#13 integrate
.. //depot/projects/usb/src/sys/sys/syscall.h#10 integrate
.. //depot/projects/usb/src/sys/sys/syscall.mk#10 integrate
.. //depot/projects/usb/src/sys/sys/syscallsubr.h#7 integrate
.. //depot/projects/usb/src/sys/sys/sysent.h#9 integrate
.. //depot/projects/usb/src/sys/sys/sysproto.h#10 integrate
.. //depot/projects/usb/src/sys/sys/ttydefaults.h#4 integrate
.. //depot/projects/usb/src/sys/ufs/ufs/ufs_dirhash.c#5 integrate
.. //depot/projects/usb/src/sys/vm/vm_page.c#12 integrate
.. //depot/projects/usb/src/sys/xdr/xdr_mbuf.c#3 integrate

Differences ...

==== //depot/projects/usb/src/sys/amd64/include/pmc_mdep.h#5 (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/include/pmc_mdep.h,v 1.6 2008/09/15 06:47:52 jkoshy Exp $
+ * $FreeBSD: src/sys/amd64/include/pmc_mdep.h,v 1.7 2008/11/09 17:37:54 jkoshy Exp $
  */
 
 /* Machine dependent interfaces */
@@ -35,9 +35,35 @@
 #ifndef _MACHINE_PMC_MDEP_H
 #define	_MACHINE_PMC_MDEP_H 1
 
+#ifdef	_KERNEL
+struct pmc_mdep;
+#endif
+
 #include <dev/hwpmc/hwpmc_amd.h>
 #include <dev/hwpmc/hwpmc_piv.h>
+#include <dev/hwpmc/hwpmc_tsc.h>
 
+/*
+ * Intel processors implementing V2 and later of the Intel performance
+ * measurement architecture have PMCs of the following classes: TSC,
+ * IAF and IAP.
+ */
+#define	PMC_MDEP_CLASS_INDEX_TSC	0
+#define	PMC_MDEP_CLASS_INDEX_K8		1
+#define	PMC_MDEP_CLASS_INDEX_P4		1
+#define	PMC_MDEP_CLASS_INDEX_IAF	1
+#define	PMC_MDEP_CLASS_INDEX_IAP	2
+
+/*
+ * On the amd64 platform we support the following PMCs.
+ *
+ * TSC		The timestamp counter
+ * K8		AMD Athlon64 and Opteron PMCs in 64 bit mode.
+ * PIV		Intel P4/HTT and P4/EMT64
+ * IAP		Intel Core/Core2/Atom CPUs in 64 bits mode.
+ * IAF		Intel fixed-function PMCs in Core2 and later CPUs.
+ */
+
 union pmc_md_op_pmcallocate  {
 	struct pmc_md_amd_op_pmcallocate	pm_amd;
 	struct pmc_md_p4_op_pmcallocate		pm_p4;
@@ -55,8 +81,6 @@
 	struct pmc_md_p4_pmc	pm_p4;
 };
 
-struct pmc;
-
 #define	PMC_TRAPFRAME_TO_PC(TF)	((TF)->tf_rip)
 #define	PMC_TRAPFRAME_TO_FP(TF)	((TF)->tf_rbp)
 #define	PMC_TRAPFRAME_TO_USER_SP(TF)	((TF)->tf_rsp)
@@ -88,5 +112,10 @@
 void	start_exceptions(void), end_exceptions(void);
 void	pmc_x86_lapic_enable_pmc_interrupt(void);
 
-#endif
+struct pmc_mdep *pmc_amd_initialize(void);
+void	pmc_amd_finalize(struct pmc_mdep *_md);
+struct pmc_mdep *pmc_intel_initialize(void);
+void	pmc_intel_finalize(struct pmc_mdep *_md);
+
+#endif /* _KERNEL */
 #endif /* _MACHINE_PMC_MDEP_H */

==== //depot/projects/usb/src/sys/amd64/linux32/linux32_machdep.c#10 (text+ko) ====

@@ -29,7 +29,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_machdep.c,v 1.49 2008/09/08 09:59:05 kib Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_machdep.c,v 1.50 2008/11/11 14:55:59 ed Exp $");
 
 #include <sys/param.h>
 #include <sys/kernel.h>
@@ -977,33 +977,20 @@
 int
 linux_pipe(struct thread *td, struct linux_pipe_args *args)
 {
-	int pip[2];
 	int error;
-	register_t reg_rdx;
+	int fildes[2];
 
 #ifdef DEBUG
 	if (ldebug(pipe))
 		printf(ARGS(pipe, "*"));
 #endif
 
-	reg_rdx = td->td_retval[1];
-	error = pipe(td, 0);
-	if (error) {
-		td->td_retval[1] = reg_rdx;
+	error = kern_pipe(td, fildes);
+	if (error)
 		return (error);
-	}
 
-	pip[0] = td->td_retval[0];
-	pip[1] = td->td_retval[1];
-	error = copyout(pip, args->pipefds, 2 * sizeof(int));
-	if (error) {
-		td->td_retval[1] = reg_rdx;
-		return (error);
-	}
-
-	td->td_retval[1] = reg_rdx;
-	td->td_retval[0] = 0;
-	return (0);
+	/* XXX: Close descriptors on error. */
+	return (copyout(fildes, args->pipefds, sizeof fildes));
 }
 
 int

==== //depot/projects/usb/src/sys/amd64/linux32/linux32_proto.h#8 (text+ko) ====

@@ -2,8 +2,8 @@
  * System call prototypes.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/amd64/linux32/linux32_proto.h,v 1.37 2008/05/13 20:02:25 rdivacky Exp $
- * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.34 2008/05/13 20:01:26 rdivacky Exp 
+ * $FreeBSD: src/sys/amd64/linux32/linux32_proto.h,v 1.38 2008/11/09 10:48:06 ed Exp $
+ * created from FreeBSD: head/sys/amd64/linux32/syscalls.master 184789 2008-11-09 10:45:13Z ed 
  */
 
 #ifndef _LINUX_SYSPROTO_H_
@@ -378,6 +378,10 @@
 	char dummy_l_[PADL_(int)]; int dummy; char dummy_r_[PADR_(int)];
 	char child_tidptr_l_[PADL_(void *)]; void * child_tidptr; char child_tidptr_r_[PADR_(void *)];
 };
+struct linux_setdomainname_args {
+	char name_l_[PADL_(char *)]; char * name; char name_r_[PADR_(char *)];
+	char len_l_[PADL_(int)]; int len; char len_r_[PADR_(int)];
+};
 struct linux_newuname_args {
 	char buf_l_[PADL_(struct l_new_utsname *)]; struct l_new_utsname * buf; char buf_r_[PADR_(struct l_new_utsname *)];
 };
@@ -1077,6 +1081,7 @@
 int	linux_ipc(struct thread *, struct linux_ipc_args *);
 int	linux_sigreturn(struct thread *, struct linux_sigreturn_args *);
 int	linux_clone(struct thread *, struct linux_clone_args *);
+int	linux_setdomainname(struct thread *, struct linux_setdomainname_args *);
 int	linux_newuname(struct thread *, struct linux_newuname_args *);
 int	linux_adjtimex(struct thread *, struct linux_adjtimex_args *);
 int	linux_mprotect(struct thread *, struct linux_mprotect_args *);
@@ -1339,6 +1344,7 @@
 #define	LINUX_SYS_AUE_linux_ipc	AUE_NULL
 #define	LINUX_SYS_AUE_linux_sigreturn	AUE_SIGRETURN
 #define	LINUX_SYS_AUE_linux_clone	AUE_RFORK
+#define	LINUX_SYS_AUE_linux_setdomainname	AUE_SYSCTL
 #define	LINUX_SYS_AUE_linux_newuname	AUE_NULL
 #define	LINUX_SYS_AUE_linux_adjtimex	AUE_ADJTIME
 #define	LINUX_SYS_AUE_linux_mprotect	AUE_MPROTECT

==== //depot/projects/usb/src/sys/amd64/linux32/linux32_syscall.h#8 (text+ko) ====

@@ -2,8 +2,8 @@
  * System call numbers.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/amd64/linux32/linux32_syscall.h,v 1.37 2008/05/13 20:02:25 rdivacky Exp $
- * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.34 2008/05/13 20:01:26 rdivacky Exp 
+ * $FreeBSD: src/sys/amd64/linux32/linux32_syscall.h,v 1.38 2008/11/09 10:48:06 ed Exp $
+ * created from FreeBSD: head/sys/amd64/linux32/syscalls.master 184789 2008-11-09 10:45:13Z ed 
  */
 
 #define	LINUX_SYS_exit	1
@@ -112,7 +112,7 @@
 #define	LINUX_SYS_fsync	118
 #define	LINUX_SYS_linux_sigreturn	119
 #define	LINUX_SYS_linux_clone	120
-#define	LINUX_SYS_setdomainname	121
+#define	LINUX_SYS_linux_setdomainname	121
 #define	LINUX_SYS_linux_newuname	122
 #define	LINUX_SYS_linux_adjtimex	124
 #define	LINUX_SYS_linux_mprotect	125

==== //depot/projects/usb/src/sys/amd64/linux32/linux32_sysent.c#8 (text+ko) ====

@@ -2,8 +2,8 @@
  * System call switch table.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/amd64/linux32/linux32_sysent.c,v 1.37 2008/05/13 20:02:25 rdivacky Exp $
- * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.34 2008/05/13 20:01:26 rdivacky Exp 
+ * $FreeBSD: src/sys/amd64/linux32/linux32_sysent.c,v 1.38 2008/11/09 10:48:06 ed Exp $
+ * created from FreeBSD: head/sys/amd64/linux32/syscalls.master 184789 2008-11-09 10:45:13Z ed 
  */
 
 #include "opt_compat.h"
@@ -140,7 +140,7 @@
 	{ AS(fsync_args), (sy_call_t *)fsync, AUE_FSYNC, NULL, 0, 0 },	/* 118 = fsync */
 	{ AS(linux_sigreturn_args), (sy_call_t *)linux_sigreturn, AUE_SIGRETURN, NULL, 0, 0 },	/* 119 = linux_sigreturn */
 	{ AS(linux_clone_args), (sy_call_t *)linux_clone, AUE_RFORK, NULL, 0, 0 },	/* 120 = linux_clone */
-	{ AS(setdomainname_args), (sy_call_t *)setdomainname, AUE_SYSCTL, NULL, 0, 0 },	/* 121 = setdomainname */
+	{ AS(linux_setdomainname_args), (sy_call_t *)linux_setdomainname, AUE_SYSCTL, NULL, 0, 0 },	/* 121 = linux_setdomainname */
 	{ AS(linux_newuname_args), (sy_call_t *)linux_newuname, AUE_NULL, NULL, 0, 0 },	/* 122 = linux_newuname */
 	{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 },			/* 123 = modify_ldt */
 	{ 0, (sy_call_t *)linux_adjtimex, AUE_ADJTIME, NULL, 0, 0 },	/* 124 = linux_adjtimex */

==== //depot/projects/usb/src/sys/amd64/linux32/syscalls.master#8 (text+ko) ====

@@ -1,4 +1,4 @@
- $FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.34 2008/05/13 20:01:26 rdivacky Exp $
+ $FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.35 2008/11/09 10:45:13 ed Exp $
 
 ;	@(#)syscalls.master	8.1 (Berkeley) 7/19/93
 ; System call name/number master file (or rather, slave, from LINUX).
@@ -216,7 +216,7 @@
 ; linux uses some strange calling convention here so we have to use the dummy arg
 120	AUE_RFORK	STD	{ int linux_clone(l_int flags, void *stack, \
 				    void *parent_tidptr, int dummy, void * child_tidptr); }
-121	AUE_SYSCTL	NOPROTO	{ int setdomainname(char *name, \
+121	AUE_SYSCTL	STD	{ int linux_setdomainname(char *name, \
 				    int len); }
 122	AUE_NULL	STD	{ int linux_newuname( \
 				    struct l_new_utsname *buf); }

==== //depot/projects/usb/src/sys/arm/arm/dump_machdep.c#5 (text+ko) ====

@@ -25,12 +25,13 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/dump_machdep.c,v 1.5 2008/10/01 22:08:53 peter Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/dump_machdep.c,v 1.6 2008/11/06 16:20:27 raj Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/conf.h>
 #include <sys/cons.h>
+#include <sys/sysctl.h>
 #include <sys/kernel.h>
 #include <sys/proc.h>
 #include <sys/kerneldump.h>
@@ -44,6 +45,11 @@
 
 CTASSERT(sizeof(struct kerneldumpheader) == 512);
 
+int do_minidump = 1;
+TUNABLE_INT("debug.minidump", &do_minidump);
+SYSCTL_INT(_debug, OID_AUTO, minidump, CTLFLAG_RW, &do_minidump, 0,
+    "Enable mini crash dumps");
+
 /*
  * Don't touch the first SIZEOF_METADATA bytes on the dump device. This
  * is to protect us from metadata and to protect metadata from us.
@@ -155,11 +161,10 @@
 	vm_offset_t va;
 	uint32_t pgs;
 	size_t counter, sz, chunk;
-	int c, error, twiddle;
+	int c, error;
 
 	error = 0;	/* catch case in which chunk size is 0 */
-	counter = 0;	/* Update twiddle every 16MB */
-	twiddle = 0;
+	counter = 0;
 	va = 0;
 	pgs = mdp->md_size / PAGE_SIZE;
 	pa = mdp->md_start;
@@ -264,7 +269,12 @@
 	off_t hdrgap;
 	size_t hdrsz;
 	int error;
-	
+
+	if (do_minidump) {
+		minidumpsys(di);
+		return;
+	}
+
 	bzero(&ehdr, sizeof(ehdr));
 	ehdr.e_ident[EI_MAG0] = ELFMAG0;
 	ehdr.e_ident[EI_MAG1] = ELFMAG1;

==== //depot/projects/usb/src/sys/arm/arm/pmap.c#12 (text+ko) ====

@@ -147,7 +147,7 @@
 #include "opt_vm.h"
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.104 2008/10/13 18:59:59 raj Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.106 2008/11/06 16:28:28 raj Exp $");
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/kernel.h>
@@ -270,6 +270,11 @@
 
 struct msgbuf *msgbufp = 0;
 
+/*
+ * Crashdump maps.
+ */
+static caddr_t crashdumpmap;
+
 extern void bcopy_page(vm_offset_t, vm_offset_t);
 extern void bzero_page(vm_offset_t);
 
@@ -1209,7 +1214,7 @@
 		CTR4(KTR_PMAP, "pmap_l2cache_wbinv_range: pmap %p is_kernel %d "
 		    "va 0x%08x len 0x%x ", pm, pm == pmap_kernel(), va, rest);
 		if (pmap_get_pde_pte(pm, va, &pde, &ptep) && l2pte_valid(*ptep))
-		    cpu_l2cache_wb_range(va, rest);
+			cpu_l2cache_wb_range(va, rest);
 
 		len -= rest;
 		va += rest;
@@ -1241,7 +1246,7 @@
 		CTR4(KTR_PMAP, "pmap_l2cache_wb_range: pmap %p is_kernel %d "
 		    "va 0x%08x len 0x%x ", pm, pm == pmap_kernel(), va, rest);
 		if (pmap_get_pde_pte(pm, va, &pde, &ptep) && l2pte_valid(*ptep))
-		    cpu_l2cache_wb_range(va, rest);
+			cpu_l2cache_wb_range(va, rest);
 
 		len -= rest;
 		va += rest;
@@ -1276,6 +1281,7 @@
 pmap_dcache_wb_range(pmap_t pm, vm_offset_t va, vm_size_t len, boolean_t do_inv,
     boolean_t rd_only)
 {
+
 	CTR4(KTR_PMAP, "pmap_dcache_wb_range: pmap %p is_kernel %d va 0x%08x "
 	    "len 0x%x ", pm, pm == pmap_kernel(), va, len);
 	CTR2(KTR_PMAP, " do_inv %d rd_only %d", do_inv, rd_only);
@@ -1290,8 +1296,7 @@
 				cpu_dcache_wbinv_range(va, len);
 				pmap_l2cache_wbinv_range(pm, va, len);
 			}
-		} else
-		if (!rd_only) {
+		} else if (!rd_only) {
 			cpu_dcache_wb_range(va, len);
 			pmap_l2cache_wb_range(pm, va, len);
 		}
@@ -2455,6 +2460,8 @@
 
 	pmap_alloc_specials(&virtual_avail,
 	    1, (vm_offset_t*)&_tmppt, NULL);
+	pmap_alloc_specials(&virtual_avail,
+	    MAXDUMPPGS, (vm_offset_t *)&crashdumpmap, NULL);
 	SLIST_INIT(&l1_list);
 	TAILQ_INIT(&l1_lru_list);
 	mtx_init(&l1_lru_lock, "l1 list lock", NULL, MTX_DEF);
@@ -2793,6 +2800,20 @@
 }
 
 /*
+ * Make a temporary mapping for a physical address.  This is only intended
+ * to be used for panic dumps.
+ */
+void *
+pmap_kenter_temp(vm_paddr_t pa, int i)
+{
+	vm_offset_t va;
+
+	va = (vm_offset_t)crashdumpmap + (i * PAGE_SIZE);
+	pmap_kenter(va, pa);
+	return ((void *)crashdumpmap);
+}
+
+/*
  * add a wired page to the kva
  * note that in order for the mapping to take effect -- you
  * should do a invltlb after doing the pmap_kenter...
@@ -3958,7 +3979,7 @@
 	 * Hook in the page, zero it, invalidate the TLB as needed.
 	 *
 	 * Note the temporary zero-page mapping must be a non-cached page in
-	 * ordert to work without corruption when write-allocate is enabled.
+	 * order to work without corruption when write-allocate is enabled.
 	 */
 	*cdst_pte = L2_S_PROTO | phys | L2_S_PROT(PTE_KERNEL, VM_PROT_WRITE);
 	cpu_tlb_flushD_SE(cdstp);

==== //depot/projects/usb/src/sys/arm/include/md_var.h#3 (text+ko) ====

@@ -27,7 +27,7 @@
  * SUCH DAMAGE.
  *
  *	from: FreeBSD: src/sys/i386/include/md_var.h,v 1.40 2001/07/12
- * $FreeBSD: src/sys/arm/include/md_var.h,v 1.4 2007/01/17 00:53:05 cognet Exp $
+ * $FreeBSD: src/sys/arm/include/md_var.h,v 1.5 2008/11/06 16:20:27 raj Exp $
  */
 
 #ifndef	_MACHINE_MD_VAR_H_
@@ -35,6 +35,8 @@
 
 extern char sigcode[];
 extern int szsigcode;
+extern uint32_t *vm_page_dump;
+extern int vm_page_dump_size;
 
 extern int (*_arm_memcpy)(void *, void *, int, int);
 extern int (*_arm_bzero)(void *, int, int);
@@ -46,7 +48,11 @@
 #define SRC_IS_USER	0x2
 #define IS_PHYSICAL	0x4
 
+struct dumperinfo;
 extern int busdma_swi_pending;
 void busdma_swi(void);
+void dump_add_page(vm_paddr_t);
+void dump_drop_page(vm_paddr_t);
+void minidumpsys(struct dumperinfo *);
 
 #endif /* !_MACHINE_MD_VAR_H_ */

==== //depot/projects/usb/src/sys/arm/include/pmap.h#8 (text+ko) ====

@@ -44,7 +44,7 @@
  *      from: @(#)pmap.h        7.4 (Berkeley) 5/12/91
  * 	from: FreeBSD: src/sys/i386/include/pmap.h,v 1.70 2000/11/30
  *
- * $FreeBSD: src/sys/arm/include/pmap.h,v 1.29 2008/03/06 21:59:47 cognet Exp $
+ * $FreeBSD: src/sys/arm/include/pmap.h,v 1.30 2008/11/06 16:20:27 raj Exp $
  */
 
 #ifndef _MACHINE_PMAP_H_
@@ -206,6 +206,7 @@
 void	pmap_bootstrap(vm_offset_t, vm_offset_t, struct pv_addr *);
 void	pmap_kenter(vm_offset_t va, vm_paddr_t pa);
 void	pmap_kenter_nocache(vm_offset_t va, vm_paddr_t pa);
+void	*pmap_kenter_temp(vm_paddr_t pa, int i);
 void 	pmap_kenter_user(vm_offset_t va, vm_paddr_t pa);
 void	pmap_kremove(vm_offset_t);
 void	*pmap_mapdev(vm_offset_t, vm_size_t);

==== //depot/projects/usb/src/sys/arm/mv/mv_machdep.c#2 (text+ko) ====

@@ -39,7 +39,7 @@
 #include "opt_ddb.h"
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/mv/mv_machdep.c,v 1.1 2008/10/13 20:07:13 raj Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/mv/mv_machdep.c,v 1.2 2008/11/06 16:25:12 raj Exp $");
 
 #define _ARM32_BUS_DMA_PRIVATE
 #include <sys/param.h>
@@ -93,9 +93,6 @@
 #define debugf(fmt, args...)
 #endif
 
-#define KERNEL_PT_SYS	0	/* Page table for mapping proc0 zero page */
-#define KERNEL_PT_KERN	1
-
 /*
  * This is the number of L2 page tables required for covering max
  * (hypothetical) memsize of 4GB and all kernel mappings (vectors, msgbuf,
@@ -366,7 +363,7 @@
 	struct bi_mem_region *mr;
 	void *kmdp;
 	u_int l1pagetable;
-	int i = 0;
+	int i = 0, j = 0;
 
 	kmdp = NULL;
 	lastaddr = 0;
@@ -465,13 +462,14 @@
 		if (!(i % (PAGE_SIZE / L2_TABLE_SIZE_REAL))) {
 			valloc_pages(kernel_pt_table[i],
 			    L2_TABLE_SIZE / PAGE_SIZE);
+			j = i;
 		} else {
-			kernel_pt_table[i].pv_va = freemempos -
-			    (i % (PAGE_SIZE / L2_TABLE_SIZE_REAL)) *
-			    L2_TABLE_SIZE_REAL;
+			kernel_pt_table[i].pv_va = kernel_pt_table[j].pv_va +
+			    L2_TABLE_SIZE_REAL * (i - j);
 			kernel_pt_table[i].pv_pa =
 			    kernel_pt_table[i].pv_va - KERNVIRTADDR +
 			    KERNPHYSADDR;
+
 		}
 	}
 	/*
@@ -506,7 +504,7 @@
 	l2_start = lastaddr & ~(L1_S_OFFSET);
 	for (i = 0 ; i < l2size - 1; i++)
 		pmap_link_l2pt(l1pagetable, l2_start + i * L1_S_SIZE,
-		    &kernel_pt_table[KERNEL_PT_KERN + i]);
+		    &kernel_pt_table[i]);
 
 	pmap_curmaxkvaddr = l2_start + (l2size - 1) * L1_S_SIZE;
 	
@@ -532,7 +530,7 @@
 
 	/* Link and map the vector page */
 	pmap_link_l2pt(l1pagetable, ARM_VECTORS_HIGH,
-	    &kernel_pt_table[KERNEL_PT_SYS]);
+	    &kernel_pt_table[l2size - 1]);
 	pmap_map_entry(l1pagetable, ARM_VECTORS_HIGH, systempage.pv_pa,
 	    VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE);
 
@@ -603,8 +601,8 @@
 
 	arm_vector_init(ARM_VECTORS_HIGH, ARM_VEC_ALL);
 
-	dump_avail[0] = KERNPHYSADDR;
-	dump_avail[1] = KERNPHYSADDR + memsize;
+	dump_avail[0] = 0;
+	dump_avail[1] = memsize;
 	dump_avail[2] = 0;
 	dump_avail[3] = 0;
 

==== //depot/projects/usb/src/sys/cddl/compat/opensolaris/kern/opensolaris_kmem.c#3 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/cddl/compat/opensolaris/kern/opensolaris_kmem.c,v 1.5 2008/05/24 19:30:38 bz Exp $");
+__FBSDID("$FreeBSD: src/sys/cddl/compat/opensolaris/kern/opensolaris_kmem.c,v 1.7 2008/11/05 20:32:13 rodrigc Exp $");
 
 #include <sys/param.h>
 #include <sys/kernel.h>
@@ -93,6 +93,10 @@
 zfs_kmem_free(void *buf, size_t size __unused)
 {
 #ifdef KMEM_DEBUG
+	if (buf == NULL) {
+		printf("%s: attempt to free NULL\n",__func__);
+		return;
+	}
 	struct kmem_item *i;
 
 	buf = (u_char *)buf - sizeof(struct kmem_item);
@@ -236,7 +240,8 @@
 }
 
 #ifdef KMEM_DEBUG
-static void
+void kmem_show(void *);
+void
 kmem_show(void *dummy __unused)
 {
 	struct kmem_item *i;
@@ -248,12 +253,10 @@
 		printf("KMEM_DEBUG: Leaked elements:\n\n");
 		LIST_FOREACH(i, &kmem_items, next) {
 			printf("address=%p\n", i);
-			stack_print(&i->stack);
-			printf("\n");
 		}
 	}
 	mtx_unlock(&kmem_items_mtx);
 }
 
-SYSUNINIT(sol_kmem, SI_SUB_DRIVERS, SI_ORDER_FIRST, kmem_show, NULL);
+SYSUNINIT(sol_kmem, SI_SUB_CPU, SI_ORDER_FIRST, kmem_show, NULL);
 #endif	/* KMEM_DEBUG */

==== //depot/projects/usb/src/sys/cddl/compat/opensolaris/sys/types.h#2 (text+ko) ====

@@ -23,7 +23,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/cddl/compat/opensolaris/sys/types.h,v 1.4 2008/03/28 22:16:06 jb Exp $
+ * $FreeBSD: src/sys/cddl/compat/opensolaris/sys/types.h,v 1.5 2008/11/05 19:39:11 rodrigc Exp $
  */
 
 #ifndef _OPENSOLARIS_SYS_TYPES_H_
@@ -64,12 +64,13 @@
 typedef	int64_t		rlim64_t;
 
 #else
-
+#ifdef NEED_SOLARIS_BOOLEAN
 #if defined(__XOPEN_OR_POSIX)
 typedef enum { _B_FALSE, _B_TRUE }	boolean_t;
 #else
 typedef enum { B_FALSE, B_TRUE }	boolean_t;
 #endif /* defined(__XOPEN_OR_POSIX) */
+#endif
 
 typedef	longlong_t	offset_t;
 typedef	u_longlong_t	u_offset_t;

==== //depot/projects/usb/src/sys/cddl/compat/opensolaris/sys/uio.h#2 (text+ko) ====

@@ -23,7 +23,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/cddl/compat/opensolaris/sys/uio.h,v 1.2 2008/03/28 22:16:06 jb Exp $
+ * $FreeBSD: src/sys/cddl/compat/opensolaris/sys/uio.h,v 1.3 2008/11/05 19:39:11 rodrigc Exp $
  */
 
 #ifndef _OPENSOLARIS_SYS_UIO_H_
@@ -51,6 +51,7 @@
 
 #define	uio_loffset	uio_offset
 
+#ifdef BUILDING_ZFS
 static __inline int
 zfs_uiomove(void *cp, size_t n, enum uio_rw dir, uio_t *uio)
 {
@@ -59,5 +60,6 @@
 	return (uiomove(cp, (int)n, uio));
 }
 #define	uiomove(cp, n, dir, uio)	zfs_uiomove((cp), (n), (dir), (uio))
+#endif
 
 #endif	/* !_OPENSOLARIS_SYS_UIO_H_ */

==== //depot/projects/usb/src/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c#5 (text+ko) ====

@@ -18,7 +18,7 @@
  *
  * CDDL HEADER END
  *
- * $FreeBSD: src/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c,v 1.8 2008/09/27 17:52:48 jb Exp $
+ * $FreeBSD: src/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c,v 1.9 2008/11/05 19:39:11 rodrigc Exp $
  */
 
 /*
@@ -3007,6 +3007,9 @@
 	case DIF_VAR_EXECARGS: {
 		struct pargs *p_args = curthread->td_proc->p_args;
 
+		if (p_args == NULL)
+			return(0);
+
 		return (dtrace_dif_varstrz(
 		    (uintptr_t) p_args->ar_args, p_args->ar_length, state, mstate));
 	}
@@ -10598,7 +10601,6 @@
 		/*
 		 * If there is already a buffer allocated for this CPU, it
 		 * is only possible that this is a DR event.  In this case,
-		 * the buffer size must match our specified size.
 		 */
 		if (buf->dtb_tomax != NULL) {
 			ASSERT(buf->dtb_size == size);
@@ -12815,11 +12817,7 @@
 	state = ddi_get_soft_state(dtrace_softstate, minor);
 #else
 	if (dev != NULL) {
-		/*
-		 * Disable this until we have the ability to set user
-		 * credentials for DTrace.
-		 * cr = dev->si_cred;
-		 */
+		cr = dev->si_cred;
 		m = dev2unit(dev);
 		}
 
@@ -15241,6 +15239,15 @@
 }
 #endif
 
+#if !defined(sun)
+#if __FreeBSD_version >= 800039
+static void
+dtrace_dtr(void *data __unused)
+{
+}
+#endif
+#endif
+
 /*ARGSUSED*/
 static int
 #if defined(sun)
@@ -15266,6 +15273,7 @@
 #else
 	cred_t *cred_p = NULL;
 
+#if __FreeBSD_version < 800039
 	/*
 	 * The first minor device is the one that is cloned so there is
 	 * nothing more to do here.
@@ -15281,6 +15289,7 @@
 	 */
 	if (dev->si_drv1 != NULL)
 		return (EBUSY);
+#endif
 
 	cred_p = dev->si_cred;
 #endif
@@ -15292,9 +15301,11 @@
 	dtrace_cred2priv(cred_p, &priv, &uid, &zoneid);
 	if (priv == DTRACE_PRIV_NONE) {
 #if !defined(sun)
+#if __FreeBSD_version < 800039
 		/* Destroy the cloned device. */
                 destroy_dev(dev);
 #endif
+#endif
 
 		return (EACCES);
 	}
@@ -15326,7 +15337,11 @@
 	state = dtrace_state_create(devp, cred_p);
 #else
 	state = dtrace_state_create(dev);
+#if __FreeBSD_version < 800039
 	dev->si_drv1 = state;
+#else
+	devfs_set_cdevpriv(state, dtrace_dtr);
+#endif
 #endif
 
 	mutex_exit(&cpu_lock);
@@ -15340,9 +15355,11 @@
 #endif
 		mutex_exit(&dtrace_lock);
 #if !defined(sun)
+#if __FreeBSD_version < 800039
 		/* Destroy the cloned device. */
                 destroy_dev(dev);
 #endif
+#endif
 		return (EAGAIN);
 	}
 
@@ -15368,11 +15385,16 @@
 
 	state = ddi_get_soft_state(dtrace_softstate, minor);
 #else
+#if __FreeBSD_version < 800039
 	dtrace_state_t *state = dev->si_drv1;
 
 	/* Check if this is not a cloned device. */
 	if (dev2unit(dev) == 0)
 		return (0);
+#else
+	dtrace_state_t *state;
+	devfs_get_cdevpriv((void **) &state);
+#endif
 
 #endif
 
@@ -15392,7 +15414,11 @@
 
 #if !defined(sun)
 		kmem_free(state, 0);
+#if __FreeBSD_version < 800039
 		dev->si_drv1 = NULL;
+#else
+		devfs_clear_cdevpriv();
+#endif
 #endif
 	}
 
@@ -15407,8 +15433,10 @@
 	mutex_exit(&dtrace_lock);
 	mutex_exit(&cpu_lock);
 

>>> TRUNCATED FOR MAIL (1000 lines) <<<


More information about the p4-projects mailing list