Blame src/perfctr-2.7.x/usr.lib/x86.h

Packit Service a1973e
/* $Id: x86.h,v 1.3 2005/04/09 10:25:47 mikpe Exp $
Packit Service a1973e
 * x86-specific code for performance counters library.
Packit Service a1973e
 *
Packit Service a1973e
 * Copyright (C) 1999-2004  Mikael Pettersson
Packit Service a1973e
 */
Packit Service a1973e
#ifndef __LIB_PERFCTR_X86_H
Packit Service a1973e
#define __LIB_PERFCTR_X86_H
Packit Service a1973e
Packit Service a1973e
#define rdtscl(low)	\
Packit Service a1973e
	__asm__ __volatile__("rdtsc" : "=a"(low) : : "edx")
Packit Service a1973e
#define rdpmcl(ctr,low)	\
Packit Service a1973e
	__asm__ __volatile__("rdpmc" : "=a"(low) : "c"(ctr) : "edx")
Packit Service a1973e
Packit Service a1973e
#if defined(__x86_64__)
Packit Service a1973e
#define vperfctr_has_rdpmc(vperfctr)	(1)
Packit Service a1973e
#else
Packit Service a1973e
#define vperfctr_has_rdpmc(vperfctr)	((vperfctr)->have_rdpmc)
Packit Service a1973e
#endif
Packit Service a1973e
Packit Service a1973e
extern void perfctr_info_cpu_init(struct perfctr_info*);
Packit Service a1973e
Packit Service a1973e
#endif /* __LIB_PERFCTR_X86_H */