Subversion Repositories HelenOS-doc

Rev

Rev 150 | Rev 154 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 150 Rev 152
Line 69... Line 69...
69
 
69
 
70
The mips, ia32 and amd64 platforms provide additional commands regarding
70
The mips, ia32 and amd64 platforms provide additional commands regarding
71
debugging facility - set and clear hardware breakpoints and watchpoints.
71
debugging facility - set and clear hardware breakpoints and watchpoints.
72
 
72
 
73
\section{Emergency Functions}
73
\section{Emergency Functions}
74
It may happen that the IPC communication dies or that there are some
74
It may happen that the IPC communication dies or that there appear some
75
problems in the communication chain
75
problems in the communication chain
76
{\em keboard driver} - {\em console} - {\em output driver}.
76
{\em keboard driver} - {\em console} - {\em output driver}.
77
As long that at least the keyboard driver works, pressing Escape key three
77
As long that at least the keyboard driver works, pressing Escape key three
78
times transfers control to the KConsole immediately. If the screen is not
78
times transfers control to the KConsole immediately. Because the screen is not
79
updated, the user should press Enter to see the kconsole prompt.
79
updated, the user should press Enter to see the kconsole prompt.
80
 
80
 
81
If a kernel panic occurs, the error handling automatially switches control
81
If a kernel panic occurs, the error handling automatially switches control
82
to the KConsole and allows users to inspect the failed kernel online.
82
to the KConsole and allows users to inspect the failed kernel online.
83
On the SMP system the other processors are halted immediately. The kernel
83
On the SMP system the other processors are halted immediately. The kernel
84
contains its symbol table, so you can probably read some useful information
84
contains its symbol table, so you can probably read some useful information
85
about the exact place where the panic occured.
85
about the exact place where the panic occured.
-
 
86
 
-
 
87
\section{How to Do a Kernel Panic}
-
 
88
Kernel panic is extremely rare in HelenOS. However, if the user wishes to
-
 
89
simulate it, KConsole contains proper commands. For example the following
-
 
90
command simulates a write to the unmapped address 0x4:
-
 
91
\begin{verbatim}
-
 
92
kconsole> set4 4 0
-
 
93
\end{verbatim}
-
 
94
 
-
 
95
To test the autodebugging possibilities of the IA32 platform, the following
-
 
96
sequence can be executed:
-
 
97
\begin{verbatim}
-
 
98
kconsole> bkpts
-
 
99
0. 0x80032010 in (NULL)
-
 
100
    Count(0)
-
 
101
kconsole> set4 0x80032010 0
-
 
102
**** Found ZERO on address 0x0 ****
-
 
103
Reached breakpoint 0:0x8011552a(generic/src/console/cmd.o:cmd_set4)
-
 
104
***Type 'exit' to exit kconsole.
-
 
105
debug>
-
 
106
\end{verbatim}
-
 
107
 
-
 
108
 
-
 
109
\section{KLog}
-
 
110
To avoid disturbing the framebuffer driver with kernel messages, a circular
-
 
111
buffer communication between kernel and userspace area is established.
-
 
112
Non-critical messages are sent to the
-
 
113
KLog application. User can see messages about task faults
-
 
114
and task cleanup completion.
-
 
115
 
-
 
116
\section{IPCC - testing applicatoin}
-
 
117
To test thouroughly some aspects of the IPC and task
-
 
118
 
-
 
119
\section{Tetris}
86
 
120