svn commit: r197737 - user/rpaulo/armpmc/dev/hwpmc
Rui Paulo
rpaulo at FreeBSD.org
Sat Oct 3 17:49:44 UTC 2009
Author: rpaulo
Date: Sat Oct 3 17:49:44 2009
New Revision: 197737
URL: http://svn.freebsd.org/changeset/base/197737
Log:
Checkpoint code. It no longer panics.
Modified:
user/rpaulo/armpmc/dev/hwpmc/hwpmc_xscale.c
Modified: user/rpaulo/armpmc/dev/hwpmc/hwpmc_xscale.c
==============================================================================
--- user/rpaulo/armpmc/dev/hwpmc/hwpmc_xscale.c Sat Oct 3 16:13:56 2009 (r197736)
+++ user/rpaulo/armpmc/dev/hwpmc/hwpmc_xscale.c Sat Oct 3 17:49:44 2009 (r197737)
@@ -45,47 +45,68 @@ struct xscale_event_code_map {
static int
xscale_read_pmc(int cpu, int ri, pmc_value_t *v)
{
+ return 0;
}
static int
xscale_write_pmc(int cpu, int ri, pmc_value_t v)
{
+ return 0;
}
static int
xscale_config_pmc(int cpu, int ri, struct pmc *pm)
{
+ return 0;
}
static int
xscale_start_pmc(int cpu, int ri)
{
+ return 0;
}
static int
xscale_stop_pmc(int cpu, int ri)
{
+ return 0;
}
static int
xscale_intr(int cpu, struct trapframe *tf)
{
+ return 0;
}
static int
xscale_describe(int cpu, int ri, struct pmc_info *pi, struct pmc **ppmc)
{
+ return 0;
+}
+
+static int
+xscale_pcpu_init(struct pmc_mdep *md, int cpu)
+{
+ return 0;
+}
+
+static int
+xscale_pcpu_fini(struct pmc_mdep *md, int cpu)
+{
+ return 0;
}
struct pmc_mdep *
pmc_xscale_initialize()
{
struct pmc_mdep *pmc_mdep;
+ struct pmc_classdep *pcd;
pmc_mdep = malloc(sizeof(struct pmc_mdep) + sizeof(struct pmc_classdep),
M_PMC, M_WAITOK|M_ZERO);
pmc_mdep->pmd_cputype = PMC_CPU_INTEL_XSCALE;
pmc_mdep->pmd_nclass = 1;
+ pmc_mdep->pmd_npmc = XSCALE_NPMCS;
pcd = &pmc_mdep->pmd_classdep[0];
pcd->pcd_caps = XSCALE_PMC_CAPS;
@@ -93,19 +114,21 @@ pmc_xscale_initialize()
pcd->pcd_ri = pmc_mdep->pmd_npmc;
pcd->pcd_width = 48; /* XXX */
- pcd->pcd_allocate_pmc = xscale_allocate_pmc;
+ //pcd->pcd_allocate_pmc = xscale_allocate_pmc;
pcd->pcd_config_pmc = xscale_config_pmc;
+ pcd->pcd_pcpu_fini = xscale_pcpu_fini;
+ pcd->pcd_pcpu_init = xscale_pcpu_init;
pcd->pcd_describe = xscale_describe;
- pcd->pcd_get_config = xscale_get_config;
+ //pcd->pcd_get_config = xscale_get_config;
pcd->pcd_read_pmc = xscale_read_pmc;
- pcd->pcd_release_pmc = xscale_release_pmc;
+ //pcd->pcd_release_pmc = xscale_release_pmc;
pcd->pcd_start_pmc = xscale_start_pmc;
pcd->pcd_stop_pmc = xscale_stop_pmc;
pcd->pcd_write_pmc = xscale_write_pmc;
pmc_mdep->pmd_intr = xscale_intr;
- pmc_mdep->pmd_switch_in = xscale_switch_in;
- pmc_mdep->pmd_switch_out = xscale_switch_out;
+ //pmc_mdep->pmd_switch_in = xscale_switch_in;
+ //pmc_mdep->pmd_switch_out = xscale_switch_out;
return (pmc_mdep);
}
More information about the svn-src-user
mailing list