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 |