Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 22 Apr 2006 02:59:23 GMT
From:      John Birrell <jb@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 95855 for review
Message-ID:  <200604220259.k3M2xNB8092992@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=95855

Change 95855 by jb@jb_freebsd2 on 2006/04/22 02:59:14

	Remove 'const' from a few places to satisfy gcc's strict checking 
	options that FreeBSD uses. Sun was passing things around as consts
	and then finally getting to a point where they wanted to drop the
	const. There is no point using consts unless you are prepared to
	obey them in your code.
	
	Fix some prototypes that gcc wanted to know that they really, really
	didn't have any arguments passed to them.
	
	Update a few more ioctl definitions to reflect the data transfer.
	Solaris is oblivious to what passes through ioctl.

Affected files ...

.. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/dtrace.h#5 edit
.. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/dtrace_impl.h#3 edit

Differences ...

==== //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/dtrace.h#5 (text) ====

@@ -55,12 +55,17 @@
 #include <sys/systm.h>
 #else
 #include <opensolaris/compat/sys/processor.h>
+#include <opensolaris/compat/sys/time.h>
 #include <sys/param.h>
 #include <sys/ioccom.h>
 #include <sys/ucred.h>
 typedef struct ucred cred_t;
+typedef struct proc proc_t;
+typedef struct proc kthread_t;
+typedef int model_t;
 struct modctl {
-	int	something;	/* XXX */
+	char		*mod_filename;
+	char		*mod_modname;
 };
 #endif
 #include <sys/ctf_api.h>
@@ -1193,16 +1198,18 @@
 #define	DTRACEIOC_DOFGET	(DTRACEIOC | 17)	/* get DOF */
 #define	DTRACEIOC_REPLICATE	(DTRACEIOC | 18)	/* replicate enab */
 #else
-#define	DTRACEIOC_PROVIDER	_IO('x',1)		/* provider query */
+#define	DTRACEIOC_PROVIDER	_IOWR('x',1,dtrace_providerdesc_t)
+							/* provider query */
 #define	DTRACEIOC_PROBES	_IOWR('x',2,dtrace_probedesc_t)
 							/* probe query */
 #define	DTRACEIOC_BUFSNAP	_IO('x',4)		/* snapshot buffer */
 #define	DTRACEIOC_PROBEMATCH	_IOWR('x',5,dtrace_probedesc_t)
 							/* match probes */
-#define	DTRACEIOC_ENABLE	_IO('x',6)		/* enable probes */
+#define	DTRACEIOC_ENABLE	_IOWR('x',6,void *)	/* enable probes */
 #define	DTRACEIOC_AGGSNAP	_IO('x',7)		/* snapshot agg. */
 #define	DTRACEIOC_EPROBE	_IO('x',8)		/* get eprobe desc. */
-#define	DTRACEIOC_PROBEARG	_IO('x',9)		/* get probe arg */
+#define	DTRACEIOC_PROBEARG	_IOWR('x',9,dtrace_argdesc_t)
+							/* get probe arg */
 #define	DTRACEIOC_CONF		_IOR('x',10,dtrace_conf_t)
 							/* get config. */
 #define	DTRACEIOC_STATUS	_IO('x',11)		/* get status */
@@ -1997,8 +2004,8 @@
 extern int dtrace_unregister(dtrace_provider_id_t);
 extern int dtrace_condense(dtrace_provider_id_t);
 extern void dtrace_invalidate(dtrace_provider_id_t);
-extern dtrace_id_t dtrace_probe_lookup(dtrace_provider_id_t, const char *,
-    const char *, const char *);
+extern dtrace_id_t dtrace_probe_lookup(dtrace_provider_id_t, char *,
+    char *, char *);
 extern dtrace_id_t dtrace_probe_create(dtrace_provider_id_t, const char *,
     const char *, const char *, int, void *);
 extern void *dtrace_probe_arg(dtrace_provider_id_t, dtrace_id_t);
@@ -2171,7 +2178,6 @@
 	DTRACE_VTIME_ACTIVE_TNF		/* DTrace virtual time _and_ TNF */
 } dtrace_vtime_state_t;
 
-#ifdef DOODAD
 extern dtrace_vtime_state_t dtrace_vtime_active;
 extern void dtrace_vtime_switch(kthread_t *next);
 extern void dtrace_vtime_enable_tnf(void);
@@ -2201,16 +2207,16 @@
 extern void (*dtrace_cpu_init)(processorid_t);
 extern void (*dtrace_modload)(struct modctl *);
 extern void (*dtrace_modunload)(struct modctl *);
-extern void (*dtrace_helpers_cleanup)();
+extern void (*dtrace_helpers_cleanup)(void);
 extern void (*dtrace_helpers_fork)(proc_t *parent, proc_t *child);
-extern void (*dtrace_cpustart_init)();
-extern void (*dtrace_cpustart_fini)();
+extern void (*dtrace_cpustart_init)(void);
+extern void (*dtrace_cpustart_fini)(void);
 
-extern void (*dtrace_kreloc_init)();
-extern void (*dtrace_kreloc_fini)();
+extern void (*dtrace_kreloc_init)(void);
+extern void (*dtrace_kreloc_fini)(void);
 
-extern void (*dtrace_debugger_init)();
-extern void (*dtrace_debugger_fini)();
+extern void (*dtrace_debugger_init)(void);
+extern void (*dtrace_debugger_fini)(void);
 extern dtrace_cacheid_t dtrace_predcache_id;
 
 extern hrtime_t dtrace_gethrtime(void);
@@ -2222,13 +2228,10 @@
 
 extern int dtrace_safe_defer_signal(void);
 extern void dtrace_safe_synchronous_signal(void);
-#endif
 
 #if defined(__i386) || defined(__amd64)
 extern int dtrace_instr_size(uchar_t *instr);
-#ifdef DOODAD
 extern int dtrace_instr_size_isa(uchar_t *, model_t, int *);
-#endif
 extern void dtrace_invop_add(int (*)(uintptr_t, uintptr_t *, uintptr_t));
 extern void dtrace_invop_remove(int (*)(uintptr_t, uintptr_t *, uintptr_t));
 extern void dtrace_invop_callsite(void);

==== //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/dtrace_impl.h#3 (text) ====

@@ -50,7 +50,13 @@
 #else
 #include <contrib/opensolaris/uts/common/sys/dtrace.h>
 #include <contrib/opensolaris/compat/sys/time.h>
+#ifdef __sparcv9
+typedef uint32_t		pc_t;
+#else
+typedef uintptr_t		pc_t;
 #endif
+typedef	u_int32_t		vmem_t;
+#endif
 
 /*
  * DTrace Implementation Constants and Typedefs
@@ -120,13 +126,13 @@
 typedef int dtrace_probekey_f(const char *, const char *, int);
 
 typedef struct dtrace_probekey {
-	const char *dtpk_prov;			/* provider name to match */
+	char *dtpk_prov;			/* provider name to match */
 	dtrace_probekey_f *dtpk_pmatch;		/* provider matching function */
-	const char *dtpk_mod;			/* module name to match */
+	char *dtpk_mod;				/* module name to match */
 	dtrace_probekey_f *dtpk_mmatch;		/* module matching function */
-	const char *dtpk_func;			/* func name to match */
+	char *dtpk_func;			/* func name to match */
 	dtrace_probekey_f *dtpk_fmatch;		/* func matching function */
-	const char *dtpk_name;			/* name to match */
+	char *dtpk_name;			/* name to match */
 	dtrace_probekey_f *dtpk_nmatch;		/* name matching function */
 	dtrace_id_t dtpk_id;			/* identifier to match */
 } dtrace_probekey_t;
@@ -1109,9 +1115,7 @@
 	int dts_nspeculations;			/* number of speculations */
 	int dts_naggregations;			/* number of aggregations */
 	dtrace_aggregation_t **dts_aggregations; /* aggregation array */
-#ifdef DOODAD
 	vmem_t *dts_aggid_arena;		/* arena for aggregation IDs */
-#endif
 	uint64_t dts_errors;			/* total number of errors */
 	uint32_t dts_speculations_busy;		/* number of spec. busy */
 	uint32_t dts_speculations_unavail;	/* number of spec unavail */
@@ -1245,8 +1249,8 @@
 extern void dtrace_copyinstr(uintptr_t, uintptr_t, size_t);
 extern void dtrace_copyout(uintptr_t, uintptr_t, size_t);
 extern void dtrace_copyoutstr(uintptr_t, uintptr_t, size_t);
+extern void dtrace_getpcstack(pc_t *, int, int, uint32_t *);
 #ifdef DOODAD
-extern void dtrace_getpcstack(pc_t *, int, int, uint32_t *);
 extern ulong_t dtrace_getreg(struct regs *, uint_t);
 #endif
 extern int dtrace_getstackdepth(int);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200604220259.k3M2xNB8092992>