1 |
/* |
2 |
* Cisco router simulation platform. |
3 |
* 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 |
#define DEBUG_MTS_MAP_VIRT 1 |
22 |
#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 |
#define DEBUG_MTS_STATS 1 /* MTS cache performance */ |
27 |
#define DEBUG_INSN_PERF_CNT 0 /* Instruction performance counter */ |
28 |
#define DEBUG_BLOCK_PERF_CNT 0 /* Block performance counter */ |
29 |
#define DEBUG_DEV_PERF_CNT 1 /* Device performance counter */ |
30 |
#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 |
#define MEMLOG_ENABLE 0 /* Memlogger (fast memop must be off) */ |
37 |
#define BREAKPOINT_ENABLE 1 /* Virtual Breakpoints */ |
38 |
#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 |
/* Software version specific tag */ |
56 |
extern const char *sw_version_tag; |
57 |
|
58 |
/* Delete all objects */ |
59 |
void dynamips_reset(void); |
60 |
|
61 |
#endif |