Deleted Added
full compact
28c28
< __FBSDID("$FreeBSD: head/lib/libpmc/libpmc.c 202157 2010-01-12 17:03:55Z jkoshy $");
---
> __FBSDID("$FreeBSD: head/lib/libpmc/libpmc.c 204635 2010-03-03 15:05:58Z gnn $");
76a77,82
> #if defined(__mips__)
> static int mips24k_allocate_pmc(enum pmc_event _pe, char* ctrspec,
> struct pmc_op_pmcallocate *_pmc_config);
> #endif /* __mips__ */
>
>
139a146
> PMC_CLASSDEP_TABLE(mips24k, MIPS24K);
184a192
> PMC_MDEP_TABLE(mips24k, MIPS24K, PMC_CLASS_MIPS24K);
228a237,240
> #if defined(__mips__)
> PMC_CLASS_TABLE_DESC(mips24k, MIPS24K, mips24k, mips24k);
> #endif /* __mips__ */
>
2042a2055,2093
> #if defined(__mips__)
>
> static struct pmc_event_alias mips24k_aliases[] = {
> EV_ALIAS("instructions", "INSTR_EXECUTED"),
> EV_ALIAS("branches", "BRANCH_COMPLETED"),
> EV_ALIAS("branch-mispredicts", "BRANCH_MISPRED"),
> EV_ALIAS(NULL, NULL)
> };
>
> #define MIPS24K_KW_OS "os"
> #define MIPS24K_KW_USR "usr"
> #define MIPS24K_KW_ANYTHREAD "anythread"
>
> static int
> mips24k_allocate_pmc(enum pmc_event pe, char *ctrspec __unused,
> struct pmc_op_pmcallocate *pmc_config __unused)
> {
> char *p;
>
> (void) pe;
>
> pmc_config->pm_caps |= (PMC_CAP_READ | PMC_CAP_WRITE);
>
> while ((p = strsep(&ctrspec, ",")) != NULL) {
> if (KWMATCH(p, MIPS24K_KW_OS))
> pmc_config->pm_caps |= PMC_CAP_SYSTEM;
> else if (KWMATCH(p, MIPS24K_KW_USR))
> pmc_config->pm_caps |= PMC_CAP_USER;
> else if (KWMATCH(p, MIPS24K_KW_ANYTHREAD))
> pmc_config->pm_caps |= (PMC_CAP_USER | PMC_CAP_SYSTEM);
> else
> return (-1);
> }
>
> return (0);
> }
> #endif /* __mips__ */
>
>
2373a2425,2428
> case PMC_CLASS_MIPS24K:
> ev = mips24k_event_table;
> count = PMC_EVENT_TABLE_SIZE(mips24k);
> break;
2566,2567c2621,2626
<
<
---
> #if defined(__mips__)
> case PMC_CPU_MIPS_24K:
> PMC_MDEP_INIT(mips24k);
> pmc_class_table[n] = &mips24k_class_table_descr;
> break;
> #endif /* __mips__ */
2683a2743,2746
> } else if (pe >= PMC_EV_MIPS24K_FIRST && pe <= PMC_EV_MIPS24K_LAST) {
> ev = mips24k_event_table;
> evfence = mips24k_event_table + PMC_EVENT_TABLE_SIZE(mips24k
> );