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 |