1 |
dpavlin |
1 |
/* |
2 |
dpavlin |
7 |
* Cisco router simulation platform. |
3 |
dpavlin |
1 |
* Copyright (c) 2005,2006 Christophe Fillot (cf@utc.fr) |
4 |
|
|
*/ |
5 |
|
|
|
6 |
|
|
#ifndef __DYNAMIPS_H__ |
7 |
|
|
#define __DYNAMIPS_H__ |
8 |
|
|
|
9 |
|
|
#include <libelf.h> |
10 |
|
|
|
11 |
|
|
#include "utils.h" |
12 |
|
|
|
13 |
|
|
/* Debugging flags */ |
14 |
|
|
#define DEBUG_BLOCK_SCAN 0 |
15 |
|
|
#define DEBUG_BLOCK_COMPILE 0 |
16 |
|
|
#define DEBUG_BLOCK_PATCH 0 |
17 |
|
|
#define DEBUG_BLOCK_CHUNK 0 |
18 |
|
|
#define DEBUG_BLOCK_TIMESTAMP 0 /* block timestamping (little overhead) */ |
19 |
|
|
#define DEBUG_SYM_TREE 0 /* use symbol tree (slow) */ |
20 |
|
|
#define DEBUG_MTS_MAP_DEV 0 |
21 |
dpavlin |
7 |
#define DEBUG_MTS_MAP_VIRT 1 |
22 |
dpavlin |
1 |
#define DEBUG_MTS_ACC_U 1 /* undefined memory */ |
23 |
|
|
#define DEBUG_MTS_ACC_T 1 /* tlb exception */ |
24 |
|
|
#define DEBUG_MTS_ACC_AE 1 /* address error exception */ |
25 |
|
|
#define DEBUG_MTS_DEV 0 /* debugging for device access */ |
26 |
dpavlin |
7 |
#define DEBUG_MTS_STATS 1 /* MTS cache performance */ |
27 |
dpavlin |
5 |
#define DEBUG_INSN_PERF_CNT 0 /* Instruction performance counter */ |
28 |
|
|
#define DEBUG_BLOCK_PERF_CNT 0 /* Block performance counter */ |
29 |
dpavlin |
8 |
#define DEBUG_DEV_PERF_CNT 1 /* Device performance counter */ |
30 |
dpavlin |
1 |
#define DEBUG_TLB_ACTIVITY 0 |
31 |
|
|
#define DEBUG_SYSCALL 0 |
32 |
|
|
#define DEBUG_CACHE 0 |
33 |
|
|
#define DEBUG_JR0 0 /* Debug register jumps to 0 */ |
34 |
|
|
|
35 |
|
|
/* Feature flags */ |
36 |
dpavlin |
7 |
#define MEMLOG_ENABLE 0 /* Memlogger (fast memop must be off) */ |
37 |
dpavlin |
8 |
#define BREAKPOINT_ENABLE 1 /* Virtual Breakpoints */ |
38 |
dpavlin |
1 |
#define NJM_STATS_ENABLE 1 /* Non-JIT mode stats (little overhead) */ |
39 |
|
|
|
40 |
|
|
/* Symbol */ |
41 |
|
|
struct symbol { |
42 |
|
|
m_uint64_t addr; |
43 |
|
|
char name[0]; |
44 |
|
|
}; |
45 |
|
|
|
46 |
|
|
/* ROM identification tag */ |
47 |
|
|
#define ROM_ID 0x1e94b3df |
48 |
|
|
|
49 |
|
|
/* Global log file */ |
50 |
|
|
extern FILE *log_file; |
51 |
|
|
|
52 |
|
|
/* Software version */ |
53 |
|
|
extern const char *sw_version; |
54 |
|
|
|
55 |
dpavlin |
8 |
/* Software version specific tag */ |
56 |
|
|
extern const char *sw_version_tag; |
57 |
|
|
|
58 |
dpavlin |
1 |
/* Delete all objects */ |
59 |
|
|
void dynamips_reset(void); |
60 |
|
|
|
61 |
|
|
#endif |