aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMitchell Horne <mhorne@FreeBSD.org>2023-05-05 21:59:41 +0000
committerMitchell Horne <mhorne@FreeBSD.org>2023-06-09 19:48:06 +0000
commit406f97fa59d73cd8242100fcfa79f35e5b494c1d (patch)
tree05125e2bff7be126b6d74ae77a6b1fdb99712e46
parent927a2f62980b69f2bf95c9e3c0424458d06f3886 (diff)
downloadsrc-406f97fa59d73cd8242100fcfa79f35e5b494c1d.tar.gz
src-406f97fa59d73cd8242100fcfa79f35e5b494c1d.zip
hwpmc: remove stub pmd_switch_{in,out} methods
Most platforms (non-x86) don't require these methods and implement stub versions. If we initialize the pmc_mdep structure to always point to the generic versions, then we can purge the duplicate stubs. Reviewed by: jkoshy MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D39913 (cherry picked from commit fa88954fd8f16ef60084a73d446a23e791ed22e5)
-rw-r--r--sys/dev/hwpmc/hwpmc_arm64.c24
-rw-r--r--sys/dev/hwpmc/hwpmc_armv7.c24
-rw-r--r--sys/dev/hwpmc/hwpmc_mod.c7
-rw-r--r--sys/dev/hwpmc/hwpmc_powerpc.c17
4 files changed, 8 insertions, 64 deletions
diff --git a/sys/dev/hwpmc/hwpmc_arm64.c b/sys/dev/hwpmc/hwpmc_arm64.c
index 36524072d50c..049294b43f9c 100644
--- a/sys/dev/hwpmc/hwpmc_arm64.c
+++ b/sys/dev/hwpmc/hwpmc_arm64.c
@@ -442,23 +442,6 @@ arm64_get_config(int cpu, int ri, struct pmc **ppm)
return (0);
}
-/*
- * XXX don't know what we should do here.
- */
-static int
-arm64_switch_in(struct pmc_cpu *pc, struct pmc_process *pp)
-{
-
- return (0);
-}
-
-static int
-arm64_switch_out(struct pmc_cpu *pc, struct pmc_process *pp)
-{
-
- return (0);
-}
-
static int
arm64_pcpu_init(struct pmc_mdep *md, int cpu)
{
@@ -598,11 +581,8 @@ pmc_arm64_initialize(void)
pcd->pcd_stop_pmc = arm64_stop_pmc;
pcd->pcd_write_pmc = arm64_write_pmc;
- pmc_mdep->pmd_intr = arm64_intr;
- pmc_mdep->pmd_switch_in = arm64_switch_in;
- pmc_mdep->pmd_switch_out = arm64_switch_out;
-
- pmc_mdep->pmd_npmc += arm64_npmcs;
+ pmc_mdep->pmd_intr = arm64_intr;
+ pmc_mdep->pmd_npmc += arm64_npmcs;
return (pmc_mdep);
}
diff --git a/sys/dev/hwpmc/hwpmc_armv7.c b/sys/dev/hwpmc/hwpmc_armv7.c
index 052b97f35586..26fa6a88b98f 100644
--- a/sys/dev/hwpmc/hwpmc_armv7.c
+++ b/sys/dev/hwpmc/hwpmc_armv7.c
@@ -407,23 +407,6 @@ armv7_get_config(int cpu, int ri, struct pmc **ppm)
return 0;
}
-/*
- * XXX don't know what we should do here.
- */
-static int
-armv7_switch_in(struct pmc_cpu *pc, struct pmc_process *pp)
-{
-
- return 0;
-}
-
-static int
-armv7_switch_out(struct pmc_cpu *pc, struct pmc_process *pp)
-{
-
- return 0;
-}
-
static int
armv7_pcpu_init(struct pmc_mdep *md, int cpu)
{
@@ -542,11 +525,8 @@ pmc_armv7_initialize(void)
pcd->pcd_stop_pmc = armv7_stop_pmc;
pcd->pcd_write_pmc = armv7_write_pmc;
- pmc_mdep->pmd_intr = armv7_intr;
- pmc_mdep->pmd_switch_in = armv7_switch_in;
- pmc_mdep->pmd_switch_out = armv7_switch_out;
-
- pmc_mdep->pmd_npmc += armv7_npmcs;
+ pmc_mdep->pmd_intr = armv7_intr;
+ pmc_mdep->pmd_npmc += armv7_npmcs;
return (pmc_mdep);
}
diff --git a/sys/dev/hwpmc/hwpmc_mod.c b/sys/dev/hwpmc/hwpmc_mod.c
index 1ff427a1e965..571b403538ed 100644
--- a/sys/dev/hwpmc/hwpmc_mod.c
+++ b/sys/dev/hwpmc/hwpmc_mod.c
@@ -5455,6 +5455,10 @@ pmc_mdep_alloc(int nclasses)
sizeof(struct pmc_classdep), M_PMC, M_WAITOK|M_ZERO);
md->pmd_nclass = n;
+ /* Default methods */
+ md->pmd_switch_in = generic_switch_in;
+ md->pmd_switch_out = generic_switch_out;
+
/* Add base class. */
pmc_soft_initialize(md);
return md;
@@ -5492,9 +5496,6 @@ pmc_generic_cpu_initialize(void)
md->pmd_cputype = PMC_CPU_GENERIC;
- md->pmd_switch_in = generic_switch_in;
- md->pmd_switch_out = generic_switch_out;
-
return (md);
}
diff --git a/sys/dev/hwpmc/hwpmc_powerpc.c b/sys/dev/hwpmc/hwpmc_powerpc.c
index e8f6f536e471..364e66f77870 100644
--- a/sys/dev/hwpmc/hwpmc_powerpc.c
+++ b/sys/dev/hwpmc/hwpmc_powerpc.c
@@ -105,20 +105,6 @@ pmc_save_kernel_callchain(uintptr_t *cc, int maxsamples,
return (frames);
}
-static int
-powerpc_switch_in(struct pmc_cpu *pc, struct pmc_process *pp)
-{
-
- return (0);
-}
-
-static int
-powerpc_switch_out(struct pmc_cpu *pc, struct pmc_process *pp)
-{
-
- return (0);
-}
-
int
powerpc_describe(int cpu, int ri, struct pmc_info *pi, struct pmc **ppmc)
{
@@ -553,9 +539,6 @@ pmc_md_initialize(void)
vers = mfpvr() >> 16;
- pmc_mdep->pmd_switch_in = powerpc_switch_in;
- pmc_mdep->pmd_switch_out = powerpc_switch_out;
-
switch (vers) {
case MPC7447A:
case MPC7448: