#ifndef PMC_SYS_H
#define PMC_SYS_H

/*----------------------------------------------------------------------------*/

/*
 * Performance-Monitoring Counters Library, for Intel/AMD Processors and Linux
 * Author:  Don Heller, dheller@scl.ameslab.gov
 * Last revised:  5 October 2001
 */

/*----------------------------------------------------------------------------*/

/* This file should be included only in
 *    pmc_lib.c
 *    pmc_dev.c
 *    pmc_test.c
 */

/*----------------------------------------------------------------------------*/

#include <pmc_arch.h>

/*----------------------------------------------------------------------------*/

const char * pmc_cpu[] =
{
  /* 0 */ "Pentium",
  /* 1 */ "Pentium/MMX",
  /* 2 */ "Pentium Pro",
  /* 3 */ "Pentium II",
  /* 4 */ "Pentium III",
  /* 5 */ "Pentium 4",
  /* 6 */ "Athlon"
};

/*----------------------------------------------------------------------------*/

#if defined(PMC_P5)
# if defined(PMC_MMX)
    const int pmc_device_hardware_type = 1;		/* Pentium/MMX */
# else
    const int pmc_device_hardware_type = 0;		/* Pentium */
# endif
#endif	/* PMC_P5 */

/*----------------------------------------------------------------------------*/

#if defined(PMC_P6)
# if defined(PMC_SSE2)
    const int pmc_device_hardware_type = 5;		/* Pentium 4 */
# elif defined(PMC_SSE)
    const int pmc_device_hardware_type = 4;		/* Pentium III */
# elif defined(PMC_MMX)
    const int pmc_device_hardware_type = 3;		/* Pentium II */
# else
    const int pmc_device_hardware_type = 2;		/* Pentium Pro */
# endif
#endif	/* PMC_P6 */

/*----------------------------------------------------------------------------*/

#if defined(PMC_P15)
    const int pmc_device_hardware_type = 5;		/* Pentium 4 */
#endif	/* PMC_P15 */

/*----------------------------------------------------------------------------*/

#if defined(PMC_K7)
    const int pmc_device_hardware_type = 6;		/* Athlon */
#endif	/* PMC_K7 */

/*----------------------------------------------------------------------------*/

#endif	/* PMC_SYS_H */
