Blame src/freebsd.h

Packit Service a1973e
/****************************/
Packit Service a1973e
/* THIS IS OPEN SOURCE CODE */
Packit Service a1973e
/****************************/
Packit Service a1973e
/* 
Packit Service a1973e
* File:    freebsd-libpmc.c
Packit Service a1973e
* Author:  Kevin London
Packit Service a1973e
*          london@cs.utk.edu
Packit Service a1973e
* Mods:    Harald Servat
Packit Service a1973e
*          redcrash@gmail.com
Packit Service a1973e
*/
Packit Service a1973e
Packit Service a1973e
#ifndef _PAPI_FreeBSD_H
Packit Service a1973e
#define _PAPI_FreeBSD_H
Packit Service a1973e
Packit Service a1973e
#include <stdio.h>
Packit Service a1973e
#include <stdlib.h>
Packit Service a1973e
#include <stdarg.h>
Packit Service a1973e
#include <sys/types.h>
Packit Service a1973e
#include <sys/time.h>
Packit Service a1973e
#include <sys/times.h>
Packit Service a1973e
#include <unistd.h>
Packit Service a1973e
#include <string.h>
Packit Service a1973e
#include <errno.h>
Packit Service a1973e
#include <assert.h>
Packit Service a1973e
Packit Service a1973e
#include "papi.h"
Packit Service a1973e
#include <pmc.h>
Packit Service a1973e
Packit Service a1973e
#include "freebsd-config.h"
Packit Service a1973e
Packit Service a1973e
#define MAX_COUNTERS		HWPMC_NUM_COUNTERS
Packit Service a1973e
#define MAX_COUNTER_TERMS	MAX_COUNTERS
Packit Service a1973e
Packit Service a1973e
#undef hwd_siginfo_t
Packit Service a1973e
#undef hwd_register_t
Packit Service a1973e
#undef hwd_reg_alloc_t
Packit Service a1973e
#undef hwd_control_state_t
Packit Service a1973e
#undef hwd_context_t
Packit Service a1973e
#undef hwd_libpmc_context_t
Packit Service a1973e
Packit Service a1973e
typedef struct hwd_siginfo {
Packit Service a1973e
	int placeholder;
Packit Service a1973e
} hwd_siginfo_t;
Packit Service a1973e
Packit Service a1973e
typedef struct hwd_register {
Packit Service a1973e
	int placeholder;
Packit Service a1973e
} hwd_register_t;
Packit Service a1973e
Packit Service a1973e
typedef struct hwd_reg_alloc {
Packit Service a1973e
	int placeholder;
Packit Service a1973e
} hwd_reg_alloc_t;
Packit Service a1973e
Packit Service a1973e
typedef struct hwd_control_state {
Packit Service a1973e
	int n_counters;      /* Number of counters */
Packit Service a1973e
	int hwc_domain;      /* HWC domain {user|kernel} */
Packit Service a1973e
	unsigned *caps;      /* Capabilities for each counter */
Packit Service a1973e
	pmc_id_t *pmcs;      /* PMC identifiers */
Packit Service a1973e
	pmc_value_t *values; /* Stored values for each counter */
Packit Service a1973e
	char **counters;     /* Name of each counter (with mode) */
Packit Service a1973e
} hwd_control_state_t;
Packit Service a1973e
Packit Service a1973e
typedef struct hwd_context {
Packit Service a1973e
	int placeholder; 
Packit Service a1973e
} hwd_context_t;
Packit Service a1973e
Packit Service a1973e
#include "freebsd-context.h"
Packit Service a1973e
Packit Service a1973e
typedef struct hwd_libpmc_context {
Packit Service a1973e
	int CPUtype;
Packit Service a1973e
	int use_rdtsc;
Packit Service a1973e
} hwd_libpmc_context_t;
Packit Service a1973e
Packit Service a1973e
#define _papi_hwd_lock_init() { ; }
Packit Service a1973e
Packit Service a1973e
#endif /* _PAPI_FreeBSD_H */