61 lines
1.7 KiB
C
61 lines
1.7 KiB
C
|
/* Copyright (c) 2004-2006 by Tensilica Inc. ALL RIGHTS RESERVED.
|
||
|
/ These coded instructions, statements, and computer programs are the
|
||
|
/ copyrighted works and confidential proprietary information of Tensilica Inc.
|
||
|
/ They may not be modified, copied, reproduced, distributed, or disclosed to
|
||
|
/ third parties in any manner, medium, or form, in whole or in part, without
|
||
|
/ the prior written consent of Tensilica Inc.
|
||
|
*/
|
||
|
|
||
|
/* sim.h
|
||
|
*
|
||
|
* Definitions and prototypes for specific ISS SIMCALLs
|
||
|
* (ie. outside the standard C library).
|
||
|
*/
|
||
|
|
||
|
#ifndef _INC_SIM_H_
|
||
|
#define _INC_SIM_H_
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
extern "C" {
|
||
|
#endif
|
||
|
|
||
|
/* Shortcuts for enabling/disabling profiling in the Xtensa ISS */
|
||
|
extern void xt_iss_profile_enable(void);
|
||
|
extern void xt_iss_profile_disable(void);
|
||
|
|
||
|
/* Shortcut for setting the trace level in the Xtensa ISS */
|
||
|
extern void xt_iss_trace_level(unsigned level);
|
||
|
|
||
|
/* Generic interface for passing client commands in the Xtensa ISS:
|
||
|
* returns 0 on success, -1 on failure.
|
||
|
*/
|
||
|
extern int xt_iss_client_command(const char *client, const char *command);
|
||
|
|
||
|
/* Interface for switching simulation modes in the Xtensa ISS:
|
||
|
* returns 0 on success, -1 on failure.
|
||
|
*/
|
||
|
#define XT_ISS_CYCLE_ACCURATE 0
|
||
|
#define XT_ISS_FUNCTIONAL 1
|
||
|
extern int xt_iss_switch_mode(int mode);
|
||
|
|
||
|
|
||
|
/* Interface for waiting on a system synchronization event */
|
||
|
extern void xt_iss_event_wait(unsigned event_id);
|
||
|
|
||
|
/* Interface for firing a system synchronization event */
|
||
|
extern void xt_iss_event_fire(unsigned event_id);
|
||
|
|
||
|
/* Interface for invoking a user simcall action,
|
||
|
* which can be registered in XTMP or XTSC.
|
||
|
*/
|
||
|
extern int xt_iss_simcall(int arg1, int arg2, int arg3,
|
||
|
int arg4, int arg5, int arg6);
|
||
|
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
}
|
||
|
#endif
|
||
|
|
||
|
#endif /*_INC_SIM_H_*/
|
||
|
|