Rev 3742 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3742 | Rev 3745 | ||
---|---|---|---|
Line 104... | Line 104... | ||
104 | static void clrscr(void) |
104 | static void clrscr(void) |
105 | { |
105 | { |
106 | async_msg_0(fb_info.phone, FB_CLEAR); |
106 | async_msg_0(fb_info.phone, FB_CLEAR); |
107 | } |
107 | } |
108 | 108 | ||
109 | static void curs_visibility(int v) |
109 | static void curs_visibility(bool visible) |
110 | { |
110 | { |
111 | async_msg_1(fb_info.phone, FB_CURSOR_VISIBILITY, v); |
111 | async_msg_1(fb_info.phone, FB_CURSOR_VISIBILITY, visible); |
- | 112 | } |
|
- | 113 | ||
- | 114 | static void curs_hide_sync(void) |
|
- | 115 | { |
|
- | 116 | ipc_call_sync_1_0(fb_info.phone, FB_CURSOR_VISIBILITY, false); |
|
112 | } |
117 | } |
113 | 118 | ||
114 | static void curs_goto(int row, int col) |
119 | static void curs_goto(int row, int col) |
115 | { |
120 | { |
116 | async_msg_2(fb_info.phone, FB_CURSOR_GOTO, row, col); |
121 | async_msg_2(fb_info.phone, FB_CURSOR_GOTO, row, col); |
Line 195... | Line 200... | ||
195 | if (newcons == active_console) |
200 | if (newcons == active_console) |
196 | return; |
201 | return; |
197 | 202 | ||
198 | if (newcons == KERNEL_CONSOLE) { |
203 | if (newcons == KERNEL_CONSOLE) { |
199 | async_serialize_start(); |
204 | async_serialize_start(); |
200 | curs_visibility(0); |
205 | curs_hide_sync(); |
201 | gcons_in_kernel(); |
206 | gcons_in_kernel(); |
202 | async_serialize_end(); |
207 | async_serialize_end(); |
203 | 208 | ||
204 | if (__SYSCALL0(SYS_DEBUG_ENABLE_CONSOLE)) |
209 | if (__SYSCALL0(SYS_DEBUG_ENABLE_CONSOLE)) |
205 | active_console = KERNEL_CONSOLE; |
210 | active_console = KERNEL_CONSOLE; |
206 | else |
211 | else |
207 | newcons == active_console; |
212 | newcons = active_console; |
208 | } |
213 | } |
209 | 214 | ||
210 | if (newcons != KERNEL_CONSOLE) { |
215 | if (newcons != KERNEL_CONSOLE) { |
211 | async_serialize_start(); |
216 | async_serialize_start(); |
212 | 217 | ||
Line 216... | Line 221... | ||
216 | active_console = newcons; |
221 | active_console = newcons; |
217 | gcons_change_console(newcons); |
222 | gcons_change_console(newcons); |
218 | conn = &connections[active_console]; |
223 | conn = &connections[active_console]; |
219 | 224 | ||
220 | set_style(&conn->screenbuffer.style); |
225 | set_style(&conn->screenbuffer.style); |
221 | curs_visibility(0); |
226 | curs_visibility(false); |
222 | if (interbuffer) { |
227 | if (interbuffer) { |
223 | for (i = 0; i < conn->screenbuffer.size_x; i++) |
228 | for (i = 0; i < conn->screenbuffer.size_x; i++) |
224 | for (j = 0; j < conn->screenbuffer.size_y; j++) { |
229 | for (j = 0; j < conn->screenbuffer.size_y; j++) { |
225 | unsigned int size_x; |
230 | unsigned int size_x; |
226 | 231 |