Files
m241Neelima/vxworks-6.9/target/h/private/vxdbgUtilLibP.h
T
2026-07-30 11:19:44 +05:30

107 lines
3.1 KiB
C

/* vxdbgUtilLibP.h - VxDBG library utilities header file */
/*
* Copyright (c) 2006-2007, 2010, 2015 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
--------------------
10jul15,vhe enabled single-step using debug registers (F1122)
21sep10,rlp Added usrBreakpointInit() prototype.
29apr10,pad Moved extern C statement after include statements.
27sep07,rlp Modified usrBreakpointSet prototype to add a cache flush
policy (CQ:WIND00104297, CQ:WIND00104323, CQ:WIND00104325).
26oct06,rlp Written
*/
#ifndef __INCvxdbgUtilLibPh
#define __INCvxdbgUtilLibPh
/* includes */
#include <vxWorks.h>
#include <private/vxdbgLibP.h>
#ifdef __cplusplus
extern "C" {
#endif
/* typedefs */
/* For UP systems, VXDBG_LOCAL_FLUSH and VXDBG_FLUSH are equivalent. */
typedef enum vxdbg_cache_policy
{
VXDBG_NO_FLUSH, /* no flush required */
VXDBG_LOCAL_FLUSH, /* flush the local CPU cache only */
VXDBG_FLUSH /* flush cache on all CPUs */
} VXDBG_CACHE_POLICY;
#ifndef _ASMLANGUAGE
/* externs */
#if DBG_NO_SINGLE_STEP || DBG_STEP_AND_BP_SHARED_VEC
/* WDB debug trap handler */
extern BOOL (*_func_wdbTrap) (int level, INSTR * addr, void * pInfo,
REG_SET * pRegisters, void * pDbgRegSet,
BOOL hardware);
/* VxDBG trap handler */
extern BOOL (*_func_vxdbgTrap) (int level, INSTR * addr, void * pInfo,
REG_SET * pRegisters, void * pDbgRegSet,
BOOL hardware);
#else /* DBG_NO_SINGLE_STEP */
/* WDB breakpoint handler */
extern BOOL (*_func_wdbBreakpoint) (int level, void * pInfo,
REG_SET * pRegisters, void * pDbgRegSet,
BOOL hardware);
/* WDB trace handler */
extern BOOL (*_func_wdbTrace) (int level, void * pInfo,
REG_SET * pRegisters);
/* VxDBG breakpoint handler */
extern BOOL (*_func_vxdbgBreakpoint) (int level, void * pInfo,
REG_SET * pRegisters, void * pDbgRegSet,
BOOL hardware);
/* VxDBG trace handler */
extern BOOL (*_func_vxdbgTrace) (int level, void * pInfo,
REG_SET * pRegisters);
#endif /* DBG_NO_SINGLE_STEP */
/* function declarations */
extern STATUS vxdbgBpAddrCheck (RTP_ID memCtx, INSTR * addr, INSTR * val);
#if DBG_NO_SINGLE_STEP || DBG_STEP_AND_BP_SHARED_VEC
extern void wdbDbgTrap (INSTR * addr, REG_SET * pRegisters,
void * pInfo, void * pDbgRegSet,
BOOL hardware);
#else /* DBG_NO_SINGLE_STEP */
extern void wdbDbgBreakpoint (void * pInfo, REG_SET * pRegisters,
void * pDbgRegSet, BOOL hardware);
extern void wdbDbgTrace (void * pInfo, REG_SET * pRegisters);
#endif /* DBG_NO_SINGLE_STEP */
extern void usrBreakpointSet (INSTR * addr, INSTR value,
RTP_ID pid, VXDBG_CACHE_POLICY policy);
extern void usrBreakpointInit (void);
#endif /* _ASMLANGUAGE */
#ifdef __cplusplus
}
#endif
#endif /* __INCvxdbgUtilLibPh */