mirror of
				https://github.com/espressif/esp-idf.git
				synced 2025-11-04 09:01:40 +01:00 
			
		
		
		
	
		
			
	
	
		
			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_*/
							 | 
						||
| 
								 | 
							
								
							 |