]> rtime.felk.cvut.cz Git - l4.git/blob - kernel/fiasco/src/jdb/arm/jdb_trace_set-arm.cpp
update
[l4.git] / kernel / fiasco / src / jdb / arm / jdb_trace_set-arm.cpp
1 IMPLEMENTATION:
2
3 extern "C" void sys_ipc_wrapper (void);
4 extern "C" void sys_ipc_log_wrapper (void);
5 extern "C" void sys_ipc_trace_wrapper (void);
6
7
8 typedef void (*Sys_call)(void);
9 extern "C" Sys_call sys_call_table[];
10
11
12 IMPLEMENT void
13 Jdb_set_trace::next_preiod_tracing(bool /*enable*/)
14 {
15 }
16
17 IMPLEMENT void
18 Jdb_set_trace::page_fault_tracing(bool /*enable*/)
19 {
20 }
21
22 IMPLEMENT void
23 Jdb_set_trace::ipc_tracing(Mode mode)
24 {
25   switch (mode)
26     {
27     case Off:
28       Jdb_ipc_trace::_trace = 0;
29       Jdb_ipc_trace::_log = 0;
30       Jdb_ipc_trace::_cshortcut = 0;
31       Jdb_ipc_trace::_slow_ipc = 0;
32       sys_call_table[2] = sys_ipc_wrapper;
33       break;
34     case Log:
35       Jdb_ipc_trace::_trace = 0;
36       Jdb_ipc_trace::_log = 1;
37       Jdb_ipc_trace::_log_to_buf = 0;
38       Jdb_ipc_trace::_cshortcut = 0;
39       Jdb_ipc_trace::_slow_ipc = 0;
40       sys_call_table[2] = sys_ipc_log_wrapper;
41       break;
42     case Log_to_buf:
43       Jdb_ipc_trace::_trace = 0;
44       Jdb_ipc_trace::_log = 1;
45       Jdb_ipc_trace::_log_to_buf = 1;
46       Jdb_ipc_trace::_cshortcut = 0;
47       Jdb_ipc_trace::_slow_ipc = 0;
48       sys_call_table[2] = sys_ipc_log_wrapper;
49       break;
50     case Trace:
51       Jdb_ipc_trace::_trace = 1;
52       Jdb_ipc_trace::_cshortcut = 0;
53       Jdb_ipc_trace::_log = 0;
54       Jdb_ipc_trace::_slow_ipc = 0;
55       sys_call_table[2] = sys_ipc_trace_wrapper;
56       break;
57     case Use_c_short_cut:
58       break;
59     case Use_slow_path:
60       Jdb_ipc_trace::_slow_ipc = 1;
61       sys_call_table[2] = sys_ipc_wrapper;
62       break;
63     }
64 }
65