Files
m241Neelima/vxworks-6.9/target/h/arch/i86/pentiumLib.h
T
2026-07-30 11:19:44 +05:30

177 lines
6.1 KiB
C

/* pentiumLib.h - system dependent routines header */
/*
* Copyright 1997, 2001-2002, 2010-2011 Wind River Systems, Inc.
*
* The right to copy, distribute or otherwise make use of this software
* may be licensed only pursuant to the terms of an applicable Wind River
* license agreement.
*/
/*
modification history
--------------------
01g,21may12,c_t Add pentiumUsDelay.(WIND00338455)
01f,04may11,scm WIND00238999, adjust parameters for 64 bits...
01e,29apr10,pad Moved extern C statement after include statements.
01d,15jun02,hdn added LL_UNION typedef for 36bit MMU support
01c,01nov01,hdn added PENTIUM_MSR, pentiumMsrInit/Show's prototype
01b,21aug01,hdn included regs.h for MTRR_ID.
added P5/P6 PMC routines.
01a,09jul97,hdn written
*/
#ifndef __INCpentiumLibh
#define __INCpentiumLibh
#ifndef _ASMLANGUAGE
#include "regs.h"
#ifdef __cplusplus
extern "C" {
#endif
/* typedefs */
typedef long long int LL_INT;
typedef union llUnion
{
long long int i64; /* 64bit integer */
int i32[2]; /* 32bit integer * 2 */
} LL_UNION;
typedef struct pentiumMsr
{
INT32 addr; /* address of the MSR */
INT8 * name; /* name of the MSR */
} PENTIUM_MSR;
/* function declarations */
#if defined(__STDC__) || defined(__cplusplus)
extern int pentiumCr4Get (void);
extern void pentiumCr4Set (size_t cr4);
extern STATUS pentiumPmcStart (int pmcEvtSel0, int pmcEvtSel1);
extern STATUS pentiumPmcStart0 (int pmcEvtSel0);
extern STATUS pentiumPmcStart1 (int pmcEvtSel1);
extern void pentiumPmcStop (void);
extern void pentiumPmcStop0 (void);
extern void pentiumPmcStop1 (void);
extern void pentiumPmcGet (long long int * pPmc0,
long long int * pPmc1);
extern void pentiumPmcGet0 (long long int * pPmc0);
extern void pentiumPmcGet1 (long long int * pPmc1);
extern void pentiumPmcReset (void);
extern void pentiumPmcReset0 (void);
extern void pentiumPmcReset1 (void);
extern STATUS pentiumP6PmcStart (int pmcEvtSel0, int pmcEvtSel1);
extern void pentiumP6PmcStop (void);
extern void pentiumP6PmcStop1 (void);
extern void pentiumP6PmcGet (long long int * pPmc0,
long long int * pPmc1);
extern void pentiumP6PmcGet0 (long long int * pPmc0);
extern void pentiumP6PmcGet1 (long long int * pPmc1);
extern void pentiumP6PmcReset (void);
extern void pentiumP6PmcReset0 (void);
extern void pentiumP6PmcReset1 (void);
extern STATUS pentiumP5PmcStart0 (int cesr);
extern STATUS pentiumP5PmcStart1 (int cesr);
extern void pentiumP5PmcStop0 (void);
extern void pentiumP5PmcStop1 (void);
extern void pentiumP5PmcGet (long long int * pPmc0,
long long int * pPmc1);
extern void pentiumP5PmcGet0 (long long int * pPmc0);
extern void pentiumP5PmcGet1 (long long int * pPmc1);
extern void pentiumP5PmcReset (void);
extern void pentiumP5PmcReset0 (void);
extern void pentiumP5PmcReset1 (void);
extern void pentiumTscGet64 (long long int * pTsc);
extern UINT32 pentiumTscGet32 (void);
extern void pentiumTscReset (void);
extern void pentiumMsrGet (size_t addr, long long int * pData);
extern void pentiumMsrSet (size_t addr, long long int * pData);
extern void pentiumTlbFlush (void);
extern void pentiumSerialize (void);
extern STATUS pentiumBts (char * pFlag);
extern STATUS pentiumBtc (char * pFlag);
extern void pentiumMtrrEnable (void);
extern void pentiumMtrrDisable (void);
extern STATUS pentiumMtrrGet (MTRR_ID pMtrr);
extern STATUS pentiumMtrrSet (MTRR_ID pMtrr);
extern void pentiumPmcShow (BOOL zap);
extern STATUS pentiumMsrInit (void);
extern void pentiumMsrShow (void);
extern void pentiumMcaEnable (BOOL enable);
extern void pentiumMcaShow (void);
extern void pentiumTSCDelay (int uSec);
#else /* __STDC__ */
extern int pentiumCr4Get ();
extern void pentiumCr4Set ();
extern STATUS pentiumPmcStart ();
extern STATUS pentiumPmcStart0 ();
extern STATUS pentiumPmcStart1 ();
extern void pentiumPmcStop ();
extern void pentiumPmcStop0 ();
extern void pentiumPmcStop1 ();
extern void pentiumPmcGet ();
extern void pentiumPmcGet0 ();
extern void pentiumPmcGet1 ();
extern void pentiumPmcReset ();
extern void pentiumPmcReset0 ();
extern void pentiumPmcReset1 ();
extern STATUS pentiumP6PmcStart ();
extern void pentiumP6PmcStop ();
extern void pentiumP6PmcStop1 ();
extern void pentiumP6PmcGet ();
extern void pentiumP6PmcGet0 ();
extern void pentiumP6PmcGet1 ();
extern void pentiumP6PmcReset ();
extern void pentiumP6PmcReset0 ();
extern void pentiumP6PmcReset1 ();
extern STATUS pentiumP5PmcStart0 ();
extern STATUS pentiumP5PmcStart1 ();
extern void pentiumP5PmcStop0 ();
extern void pentiumP5PmcStop1 ();
extern void pentiumP5PmcGet ();
extern void pentiumP5PmcGet0 ();
extern void pentiumP5PmcGet0 ();
extern void pentiumP5PmcGet1 ();
extern void pentiumP5PmcReset ();
extern void pentiumP5PmcReset0 ();
extern void pentiumTscGet64 ();
extern UINT32 pentiumTscGet32 ();
extern void pentiumTscReset ();
extern void pentiumMsrGet ();
extern void pentiumMsrSet ();
extern void pentiumTlbFlush ();
extern void pentiumSerialize ();
extern STATUS pentiumBts ();
extern STATUS pentiumBtc ();
extern void pentiumMtrrEnable ();
extern void pentiumMtrrDisable ();
extern STATUS pentiumMtrrGet ();
extern STATUS pentiumMtrrSet ();
extern void pentiumPmcShow ();
extern STATUS pentiumMsrInit ();
extern void pentiumMsrShow ();
extern void pentiumMcaEnable ();
extern void pentiumMcaShow ();
extern void pentiumTSCDelay ();
#endif /* __STDC__ */
#endif /* _ASMLANGUAGE */
#ifdef __cplusplus
}
#endif
#endif /* __INCpentiumLibh */