Blame src/perfctr-2.6.x/usr.lib/arm.c

Packit 577717
/* $Id: arm.c,v 1.1.2.1 2007/02/11 20:15:03 mikpe Exp $
Packit 577717
 * ARM-specific perfctr library procedures.
Packit 577717
 *
Packit 577717
 * Copyright (C) 2005-2007  Mikael Pettersson
Packit 577717
 */
Packit 577717
#include <stdio.h>
Packit 577717
#include "libperfctr.h"
Packit 577717
Packit 577717
unsigned int perfctr_info_nrctrs(const struct perfctr_info *info)
Packit 577717
{
Packit 577717
    switch (info->cpu_type) {
Packit 577717
      case PERFCTR_ARM_XSC1:
Packit 577717
	return 2;
Packit 577717
      case PERFCTR_ARM_XSC2:
Packit 577717
	return 4;
Packit 577717
      default:
Packit 577717
	return 0;
Packit 577717
    }
Packit 577717
}
Packit 577717
Packit 577717
const char *perfctr_info_cpu_name(const struct perfctr_info *info)
Packit 577717
{
Packit 577717
    switch (info->cpu_type) {
Packit 577717
      case PERFCTR_ARM_XSC1:
Packit 577717
	return "XScale1";
Packit 577717
      case PERFCTR_ARM_XSC2:
Packit 577717
	return "XScale2";
Packit 577717
      default:
Packit 577717
        return "?";
Packit 577717
    }
Packit 577717
}
Packit 577717
Packit 577717
void perfctr_cpu_control_print(const struct perfctr_cpu_control *control)
Packit 577717
{
Packit 577717
    unsigned int i, nractrs, nrictrs, nrctrs;
Packit 577717
Packit 577717
    nractrs = control->nractrs;
Packit 577717
    nrictrs = control->nrictrs;
Packit 577717
    nrctrs = control->nractrs + nrictrs;
Packit 577717
Packit 577717
    printf("tsc_on\t\t\t%u\n", control->tsc_on);
Packit 577717
    printf("nractrs\t\t\t%u\n", nractrs);
Packit 577717
    if (nrictrs)
Packit 577717
	printf("nrictrs\t\t\t%u\n", nrictrs);
Packit 577717
    for(i = 0; i < nrctrs; ++i) {
Packit 577717
	printf("pmc_map[%u]\t\t%u\n", i, control->pmc_map[i]);
Packit 577717
        printf("evntsel[%u]\t\t0x%08X\n", i, control->evntsel[i]);
Packit 577717
	if (i >= nractrs)
Packit 577717
	    printf("ireset[%u]\t\t%d\n", i, control->ireset[i]);
Packit 577717
    }
Packit 577717
}