Subversion Repositories HelenOS-doc

Rev

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