Rev 152 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 152 | Rev 154 | ||
|---|---|---|---|
| Line 9... | Line 9... | ||
| 9 | 9 | ||
| 10 | The console driver provides 12 virtual consoles, 11 reserved |
10 | The console driver provides 12 virtual consoles, 11 reserved |
| 11 | for applications, console 12 is reserved for kernel console. Pressing |
11 | for applications, console 12 is reserved for kernel console. Pressing |
| 12 | function keys F1-F12 switches between the consoles. |
12 | function keys F1-F12 switches between the consoles. |
| 13 | 13 | ||
| - | 14 | If the architecture supports framebuffer device larger with |
|
| - | 15 | resolution at least 800x600, nice graphical console is shown. At the top |
|
| - | 16 | of the screen a row of buttons for the virtual console is drawn. If |
|
| - | 17 | the button contains console number, an application is connected to it. |
|
| - | 18 | The red button signifies that there was an activity on the terminal |
|
| - | 19 | since it was last shown to the user. |
|
| - | 20 | ||
| 14 | \section{KConsole} |
21 | \section{KConsole} |
| 15 | KConsole is a kernel thread operating completely in priviledged mode. |
22 | KConsole is a kernel thread operating completely in priviledged mode. |
| 16 | It allows user to interact directly with the kernel and even start directly |
23 | It allows user to interact directly with the kernel and even start directly |
| 17 | functions inside the kernel. |
24 | functions inside the kernel. |
| 18 | 25 | ||
| Line 68... | Line 75... | ||
| 68 | \end{description} |
75 | \end{description} |
| 69 | 76 | ||
| 70 | The mips, ia32 and amd64 platforms provide additional commands regarding |
77 | The mips, ia32 and amd64 platforms provide additional commands regarding |
| 71 | debugging facility - set and clear hardware breakpoints and watchpoints. |
78 | debugging facility - set and clear hardware breakpoints and watchpoints. |
| 72 | 79 | ||
| - | 80 | \section{KConsole Task Control} |
|
| - | 81 | KConsole {\em call} commands can be used to start and kill the tasks. |
|
| - | 82 | To repeatably start the task, the following procedure should be used: |
|
| - | 83 | \begin{verbatim} |
|
| - | 84 | .... kernel boot data .... |
|
| - | 85 | init[8].addr=0x8027b000, init[8].size=86016 |
|
| - | 86 | .... rest of boot data ... |
|
| - | 87 | kconsole> call2 task_run_program 0x8027b000 0 |
|
| - | 88 | Calling f(0x8027b000,0): 0x80119283: generic/src/proc/task.o:task_run_program |
|
| - | 89 | Result: 0x80086500 |
|
| - | 90 | \end{verbatim} |
|
| - | 91 | ||
| - | 92 | To kill a task, the function {\em task\_kill} is appropriate. The {\em taskid} |
|
| - | 93 | parameter is a 64-bit number on all platforms, thus on the 32-bit platforms |
|
| - | 94 | call2 should be used with 2 32-bit parameters instead. |
|
| - | 95 | \begin{verbatim} |
|
| - | 96 | kconsole> call2 task_kill 8 0 |
|
| - | 97 | Calling f(0x8,0x0): 0x801197e8: generic/src/proc/task.o:task_kill |
|
| - | 98 | Result: 0x0 |
|
| - | 99 | \end{verbatim} |
|
| - | 100 | ||
| 73 | \section{Emergency Functions} |
101 | \section{Emergency Functions} |
| 74 | It may happen that the IPC communication dies or that there appear some |
102 | It may happen that the IPC communication dies or that there appear some |
| 75 | problems in the communication chain |
103 | problems in the communication chain |
| 76 | {\em keboard driver} - {\em console} - {\em output driver}. |
104 | {\em keboard driver} - {\em console} - {\em output driver}. |
| 77 | As long that at least the keyboard driver works, pressing Escape key three |
105 | As long that at least the keyboard driver works, pressing Escape key three |
| Line 111... | Line 139... | ||
| 111 | buffer communication between kernel and userspace area is established. |
139 | buffer communication between kernel and userspace area is established. |
| 112 | Non-critical messages are sent to the |
140 | Non-critical messages are sent to the |
| 113 | KLog application. User can see messages about task faults |
141 | KLog application. User can see messages about task faults |
| 114 | and task cleanup completion. |
142 | and task cleanup completion. |
| 115 | 143 | ||
| 116 | \section{IPCC - testing applicatoin} |
144 | \section{IPCC - testing application} |
| 117 | To test thouroughly some aspects of the IPC and task |
145 | To test thouroughly some aspects of the task activities, IPCC application |
| - | 146 | allows user to generate page faults |
|
| 118 | 147 | ||
| 119 | \section{Tetris} |
148 | \section{Tetris} |
| 120 | 149 | ||