Module Name:    src
Committed By:   maxv
Date:           Tue Jul 24 09:47:36 UTC 2018

Modified Files:
        src/distrib/sets/lists/modules: md.amd64 md.i386
        src/sys/dev/tprof: tprof_x86_amd.c tprof_x86_intel.c
        src/sys/modules: Makefile
Added Files:
        src/sys/dev/tprof: tprof_x86.c
        src/sys/modules/tprof_x86: Makefile
Removed Files:
        src/sys/modules/tprof_amdpmi: Makefile
        src/sys/modules/tprof_pmi: Makefile

Log Message:
Merge the tprof_pmi and tprof_amdpmi modules into a single tprof_x86
module.


To generate a diff of this commit:
cvs rdiff -u -r1.75 -r1.76 src/distrib/sets/lists/modules/md.amd64
cvs rdiff -u -r1.79 -r1.80 src/distrib/sets/lists/modules/md.i386
cvs rdiff -u -r0 -r1.1 src/sys/dev/tprof/tprof_x86.c
cvs rdiff -u -r1.1 -r1.2 src/sys/dev/tprof/tprof_x86_amd.c \
    src/sys/dev/tprof/tprof_x86_intel.c
cvs rdiff -u -r1.206 -r1.207 src/sys/modules/Makefile
cvs rdiff -u -r1.2 -r0 src/sys/modules/tprof_amdpmi/Makefile
cvs rdiff -u -r1.2 -r0 src/sys/modules/tprof_pmi/Makefile
cvs rdiff -u -r0 -r1.1 src/sys/modules/tprof_x86/Makefile

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/distrib/sets/lists/modules/md.amd64
diff -u src/distrib/sets/lists/modules/md.amd64:1.75 src/distrib/sets/lists/modules/md.amd64:1.76
--- src/distrib/sets/lists/modules/md.amd64:1.75	Mon Feb 26 07:30:17 2018
+++ src/distrib/sets/lists/modules/md.amd64	Tue Jul 24 09:47:35 2018
@@ -1,4 +1,4 @@
-# $NetBSD: md.amd64,v 1.75 2018/02/26 07:30:17 pgoyette Exp $
+# $NetBSD: md.amd64,v 1.76 2018/07/24 09:47:35 maxv Exp $
 #
 # NOTE that there are two sets of files here:
 # @MODULEDIR@ and amd64-xen
@@ -157,10 +157,12 @@
 ./@MODULEDIR@/tco/tco.kmod			base-kernel-modules	kmod
 ./@MODULEDIR@/thinkpad				base-kernel-modules	kmod
 ./@MODULEDIR@/thinkpad/thinkpad.kmod		base-kernel-modules	kmod
-./@MODULEDIR@/tprof_amdpmi			base-kernel-modules	kmod
-./@MODULEDIR@/tprof_amdpmi/tprof_amdpmi.kmod	base-kernel-modules	kmod
-./@MODULEDIR@/tprof_pmi				base-kernel-modules	kmod
-./@MODULEDIR@/tprof_pmi/tprof_pmi.kmod		base-kernel-modules	kmod
+./@MODULEDIR@/tprof_amdpmi			base-obsolete		obsolete
+./@MODULEDIR@/tprof_amdpmi/tprof_amdpmi.kmod	base-obsolete		obsolete
+./@MODULEDIR@/tprof_pmi				base-obsolete		obsolete
+./@MODULEDIR@/tprof_pmi/tprof_pmi.kmod		base-obsolete		obsolete
+./@MODULEDIR@/tprof_x86				base-kernel-modules	kmod
+./@MODULEDIR@/tprof_x86/tprof_x86.kmod		base-kernel-modules	kmod
 ./@MODULEDIR@/tvpll				base-kernel-modules	kmod
 ./@MODULEDIR@/tvpll/tvpll.kmod			base-kernel-modules	kmod
 ./@MODULEDIR@/ubsec				base-kernel-modules	kmod

Index: src/distrib/sets/lists/modules/md.i386
diff -u src/distrib/sets/lists/modules/md.i386:1.79 src/distrib/sets/lists/modules/md.i386:1.80
--- src/distrib/sets/lists/modules/md.i386:1.79	Tue Jul 10 17:01:42 2018
+++ src/distrib/sets/lists/modules/md.i386	Tue Jul 24 09:47:35 2018
@@ -1,4 +1,4 @@
-# $NetBSD: md.i386,v 1.79 2018/07/10 17:01:42 maya Exp $
+# $NetBSD: md.i386,v 1.80 2018/07/24 09:47:35 maxv Exp $
 #
 # NOTE that there are three sets of files here:
 # @MODULEDIR@, i386-xen, and i386pae-xen
@@ -172,10 +172,12 @@
 ./@MODULEDIR@/tdfxdrm/tdfxdrm.kmod		base-kernel-modules	kmod
 ./@MODULEDIR@/thinkpad				base-kernel-modules	kmod
 ./@MODULEDIR@/thinkpad/thinkpad.kmod		base-kernel-modules	kmod
-./@MODULEDIR@/tprof_amdpmi			base-kernel-modules	kmod
-./@MODULEDIR@/tprof_amdpmi/tprof_amdpmi.kmod	base-kernel-modules	kmod
-./@MODULEDIR@/tprof_pmi				base-kernel-modules	kmod
-./@MODULEDIR@/tprof_pmi/tprof_pmi.kmod		base-kernel-modules	kmod
+./@MODULEDIR@/tprof_amdpmi			base-obsolete		obsolete
+./@MODULEDIR@/tprof_amdpmi/tprof_amdpmi.kmod	base-obsolete		obsolete
+./@MODULEDIR@/tprof_pmi				base-obsolete		obsolete
+./@MODULEDIR@/tprof_pmi/tprof_pmi.kmod		base-obsolete		obsolete
+./@MODULEDIR@/tprof_x86				base-kernel-modules	kmod
+./@MODULEDIR@/tprof_x86/tprof_x86.kmod		base-kernel-modules	kmod
 ./@MODULEDIR@/tvpll				base-kernel-modules	kmod
 ./@MODULEDIR@/tvpll/tvpll.kmod			base-kernel-modules	kmod
 ./@MODULEDIR@/ubsec				base-kernel-modules	kmod

Index: src/sys/dev/tprof/tprof_x86_amd.c
diff -u src/sys/dev/tprof/tprof_x86_amd.c:1.1 src/sys/dev/tprof/tprof_x86_amd.c:1.2
--- src/sys/dev/tprof/tprof_x86_amd.c:1.1	Mon Jul 16 06:18:31 2018
+++ src/sys/dev/tprof/tprof_x86_amd.c	Tue Jul 24 09:47:35 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: tprof_x86_amd.c,v 1.1 2018/07/16 06:18:31 maxv Exp $	*/
+/*	$NetBSD: tprof_x86_amd.c,v 1.2 2018/07/24 09:47:35 maxv Exp $	*/
 
 /*
  * Copyright (c) 2018 The NetBSD Foundation, Inc.
@@ -56,7 +56,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: tprof_x86_amd.c,v 1.1 2018/07/16 06:18:31 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tprof_x86_amd.c,v 1.2 2018/07/24 09:47:35 maxv Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -245,28 +245,9 @@ tprof_amd_stop(const tprof_param_t *para
 	amd_nmi_handle = NULL;
 }
 
-static const tprof_backend_ops_t tprof_amd_ops = {
+const tprof_backend_ops_t tprof_amd_ops = {
 	.tbo_estimate_freq = tprof_amd_estimate_freq,
 	.tbo_ident = tprof_amd_ident,
 	.tbo_start = tprof_amd_start,
 	.tbo_stop = tprof_amd_stop,
 };
-
-MODULE(MODULE_CLASS_DRIVER, tprof_amdpmi, "tprof");
-
-static int
-tprof_amdpmi_modcmd(modcmd_t cmd, void *arg)
-{
-
-	switch (cmd) {
-	case MODULE_CMD_INIT:
-		return tprof_backend_register("tprof_amd", &tprof_amd_ops,
-		    TPROF_BACKEND_VERSION);
-
-	case MODULE_CMD_FINI:
-		return tprof_backend_unregister("tprof_amd");
-
-	default:
-		return ENOTTY;
-	}
-}
Index: src/sys/dev/tprof/tprof_x86_intel.c
diff -u src/sys/dev/tprof/tprof_x86_intel.c:1.1 src/sys/dev/tprof/tprof_x86_intel.c:1.2
--- src/sys/dev/tprof/tprof_x86_intel.c:1.1	Mon Jul 16 06:18:31 2018
+++ src/sys/dev/tprof/tprof_x86_intel.c	Tue Jul 24 09:47:35 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: tprof_x86_intel.c,v 1.1 2018/07/16 06:18:31 maxv Exp $	*/
+/*	$NetBSD: tprof_x86_intel.c,v 1.2 2018/07/24 09:47:35 maxv Exp $	*/
 
 /*
  * Copyright (c) 2018 The NetBSD Foundation, Inc.
@@ -56,7 +56,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: tprof_x86_intel.c,v 1.1 2018/07/16 06:18:31 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tprof_x86_intel.c,v 1.2 2018/07/24 09:47:35 maxv Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -241,28 +241,9 @@ tprof_intel_stop(const tprof_param_t *pa
 	intel_nmi_handle = NULL;
 }
 
-static const tprof_backend_ops_t tprof_intel_ops = {
+const tprof_backend_ops_t tprof_intel_ops = {
 	.tbo_estimate_freq = tprof_intel_estimate_freq,
 	.tbo_ident = tprof_intel_ident,
 	.tbo_start = tprof_intel_start,
 	.tbo_stop = tprof_intel_stop,
 };
-
-MODULE(MODULE_CLASS_DRIVER, tprof_pmi, "tprof");
-
-static int
-tprof_pmi_modcmd(modcmd_t cmd, void *arg)
-{
-
-	switch (cmd) {
-	case MODULE_CMD_INIT:
-		return tprof_backend_register("tprof_pmi", &tprof_intel_ops,
-		    TPROF_BACKEND_VERSION);
-
-	case MODULE_CMD_FINI:
-		return tprof_backend_unregister("tprof_pmi");
-
-	default:
-		return ENOTTY;
-	}
-}

Index: src/sys/modules/Makefile
diff -u src/sys/modules/Makefile:1.206 src/sys/modules/Makefile:1.207
--- src/sys/modules/Makefile:1.206	Tue Jul 10 17:01:43 2018
+++ src/sys/modules/Makefile	Tue Jul 24 09:47:35 2018
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.206 2018/07/10 17:01:43 maya Exp $
+#	$NetBSD: Makefile,v 1.207 2018/07/24 09:47:35 maxv Exp $
 
 .include <bsd.own.mk>
 
@@ -197,8 +197,7 @@ SUBDIR+=	ichsmb
 SUBDIR+=	odcm
 SUBDIR+=	powernow
 SUBDIR+=	tco
-SUBDIR+=	tprof_pmi
-SUBDIR+=	tprof_amdpmi
+SUBDIR+=	tprof_x86
 SUBDIR+=	vmt
 .endif
 

Added files:

Index: src/sys/dev/tprof/tprof_x86.c
diff -u /dev/null src/sys/dev/tprof/tprof_x86.c:1.1
--- /dev/null	Tue Jul 24 09:47:36 2018
+++ src/sys/dev/tprof/tprof_x86.c	Tue Jul 24 09:47:35 2018
@@ -0,0 +1,93 @@
+/*	$NetBSD: tprof_x86.c,v 1.1 2018/07/24 09:47:35 maxv Exp $	*/
+
+/*
+ * Copyright (c) 2018 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to The NetBSD Foundation
+ * by Maxime Villard.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <sys/cdefs.h>
+__KERNEL_RCSID(0, "$NetBSD: tprof_x86.c,v 1.1 2018/07/24 09:47:35 maxv Exp $");
+
+#include <sys/param.h>
+#include <sys/systm.h>
+#include <sys/device.h>
+#include <sys/kernel.h>
+#include <sys/module.h>
+
+#include <sys/cpu.h>
+
+#include <dev/tprof/tprof.h>
+
+#include <machine/cpufunc.h>
+#include <machine/cputypes.h>	/* CPUVENDOR_* */
+#include <machine/cpuvar.h>	/* cpu_vendor */
+
+MODULE(MODULE_CLASS_DRIVER, tprof_x86, "tprof");
+
+extern const tprof_backend_ops_t tprof_amd_ops;
+extern const tprof_backend_ops_t tprof_intel_ops;
+
+static int
+tprof_x86_init(void)
+{
+	switch (cpu_vendor) {
+	case CPUVENDOR_AMD:
+		return tprof_backend_register("tprof_amd", &tprof_amd_ops,
+		    TPROF_BACKEND_VERSION);
+	case CPUVENDOR_INTEL:
+		return tprof_backend_register("tprof_intel", &tprof_intel_ops,
+		    TPROF_BACKEND_VERSION);
+	default:
+		return ENOTSUP;
+	}
+}
+
+static int
+tprof_x86_fini(void)
+{
+	switch (cpu_vendor) {
+	case CPUVENDOR_AMD:
+		return tprof_backend_unregister("tprof_amd");
+	case CPUVENDOR_INTEL:
+		return tprof_backend_unregister("tprof_intel");
+	default:
+		return ENOTSUP;
+	}
+}
+
+static int
+tprof_x86_modcmd(modcmd_t cmd, void *arg)
+{
+	switch (cmd) {
+	case MODULE_CMD_INIT:
+		return tprof_x86_init();
+	case MODULE_CMD_FINI:
+		return tprof_x86_fini();
+	default:
+		return ENOTTY;
+	}
+}

Index: src/sys/modules/tprof_x86/Makefile
diff -u /dev/null src/sys/modules/tprof_x86/Makefile:1.1
--- /dev/null	Tue Jul 24 09:47:36 2018
+++ src/sys/modules/tprof_x86/Makefile	Tue Jul 24 09:47:36 2018
@@ -0,0 +1,12 @@
+#	$NetBSD: Makefile,v 1.1 2018/07/24 09:47:36 maxv Exp $
+
+.include "../Makefile.inc"
+
+CPPFLAGS+=
+
+.PATH:	${S}/dev/tprof
+
+KMOD=	tprof_x86
+SRCS=	tprof_x86.c tprof_x86_amd.c tprof_x86_intel.c
+
+.include <bsd.kmodule.mk>

Reply via email to