92 lines
2.9 KiB
C
92 lines
2.9 KiB
C
/* vxI86Lib.h - header for arch/board dependent routines for the I80X86 */
|
|
|
|
/*
|
|
* Copyright (c) 2001-2003, 2005, 2012 Wind River Systems, Inc.
|
|
*
|
|
* The right to copy, distribute, modify or otherwise make use
|
|
* of this software may be licensed only pursuant to the terms
|
|
* of an applicable Wind River license agreement.
|
|
*/
|
|
|
|
|
|
/*
|
|
modification history
|
|
--------------------
|
|
01i,09may12,j_l WIND00337546 - Add vxGdtrSet() and vxLdtrSet() prototypes.
|
|
Modify vxLdtrGet() prototype.
|
|
Adhere to coding standards more closely
|
|
01h,16feb05,aeg added various function prototypes (SPR #106381).
|
|
01g,24dec03,jb Adding prototype for vxDsGet
|
|
01f,04sep02,hdn added vxIdleHookAdd(), vxIdleShow() prototype.
|
|
01e,11apr02,pai Added vxCpuShow(), vxDrShow(), and vxSseShow() prototypes.
|
|
01d,26mar02,pai Added vxShowInit() prototype (SPR 74103).
|
|
01c,13nov01,ahm Added rudimentary support for power management (SPR#32599)
|
|
01b,26oct01,hdn added vxDr[SG]et(), vxTss[GS]et() prototype.
|
|
01a,22aug01,hdn written.
|
|
*/
|
|
|
|
#ifndef __INCvxI86Libh
|
|
#define __INCvxI86Libh
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
|
|
/* power management mode definitions - used by vxPowerModeSet/Get */
|
|
|
|
#define VX_POWER_MODE_DISABLE (0x1) /* power mgt disable: loop when idle*/
|
|
#define VX_POWER_MODE_AUTOHALT (0x4) /* AutoHalt power management mode */
|
|
|
|
/* function declarations */
|
|
|
|
#ifndef _ASMLANGUAGE
|
|
|
|
extern void vxMemProbeTrap (void);
|
|
extern STATUS vxMemProbeSup (int length, char * adrs, char * pVal);
|
|
extern int vxCr0Get (void);
|
|
extern void vxCr0Set (int cr0);
|
|
extern int vxCr2Get (void);
|
|
extern void vxCr2Set (int cr2);
|
|
extern int vxCr3Get (void);
|
|
extern void vxCr3Set (int cr3);
|
|
extern int vxCr4Get (void);
|
|
extern void vxCr4Set (int cr4);
|
|
extern int vxCsGet (void);
|
|
extern int vxDsGet (void);
|
|
extern int vxSsGet (void);
|
|
extern int vxEflagsGet (void);
|
|
extern void vxEflagsSet (int eflags);
|
|
extern void vxDrGet (int * pDr0, int * pDr1, int * pDr2,
|
|
int * pDr3, int * pDr4, int * pDr5,
|
|
int * pDr6, int * pDr7);
|
|
extern void vxDrSet (int dr0, int dr1, int dr2, int dr3,
|
|
int dr4, int dr5, int dr6, int dr7);
|
|
extern int vxTssGet (void);
|
|
extern void vxTssSet (int value);
|
|
extern void vxGdtrGet (long long int * pGdtr);
|
|
extern void vxGdtrSet (long long int * pGdtr);
|
|
extern void vxIdtrGet (long long int * pIdtr);
|
|
extern void vxLdtrGet (UINT16 * pLdtr);
|
|
extern void vxLdtrSet (UINT16 ldtr);
|
|
IMPORT STATUS vxPowerModeSet (UINT32 mode);
|
|
IMPORT UINT32 vxPowerModeGet (void);
|
|
extern STATUS vxIdleHookAdd (FUNCPTR entHook, FUNCPTR exitHook);
|
|
extern VOID vxIdleEntHookRtn (void);
|
|
extern VOID vxIdleExtHookRtn (void);
|
|
extern UINT32 vxIdleUtilGet (void);
|
|
|
|
extern void vxShowInit (void);
|
|
extern void vxCpuShow (void);
|
|
extern void vxDrShow (void);
|
|
extern void vxSseShow (int);
|
|
extern void vxIdleShow (BOOL debug);
|
|
|
|
#endif /* _ASMLANGUAGE */
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* __INCvxI86Libh */
|