Rev 4263 | Rev 4581 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 4263 | Rev 4327 | ||
|---|---|---|---|
| Line 139... | Line 139... | ||
| 139 | static void curs_goto(int row, int col) |
139 | static void curs_goto(int row, int col) |
| 140 | { |
140 | { |
| 141 | async_msg_2(fb_info.phone, FB_CURSOR_GOTO, row, col); |
141 | async_msg_2(fb_info.phone, FB_CURSOR_GOTO, row, col); |
| 142 | } |
142 | } |
| 143 | 143 | ||
| - | 144 | static void screen_yield(void) |
|
| - | 145 | { |
|
| - | 146 | ipc_call_sync_0_0(fb_info.phone, FB_SCREEN_YIELD); |
|
| - | 147 | } |
|
| - | 148 | ||
| - | 149 | static void screen_reclaim(void) |
|
| - | 150 | { |
|
| - | 151 | ipc_call_sync_0_0(fb_info.phone, FB_SCREEN_RECLAIM); |
|
| - | 152 | } |
|
| - | 153 | ||
| 144 | static void set_style(int style) |
154 | static void set_style(int style) |
| 145 | { |
155 | { |
| 146 | async_msg_1(fb_info.phone, FB_SET_STYLE, style); |
156 | async_msg_1(fb_info.phone, FB_SET_STYLE, style); |
| 147 | } |
157 | } |
| 148 | 158 | ||
| Line 328... | Line 338... | ||
| 328 | 338 | ||
| 329 | if (newcons == KERNEL_CONSOLE) { |
339 | if (newcons == KERNEL_CONSOLE) { |
| 330 | async_serialize_start(); |
340 | async_serialize_start(); |
| 331 | curs_hide_sync(); |
341 | curs_hide_sync(); |
| 332 | gcons_in_kernel(); |
342 | gcons_in_kernel(); |
| - | 343 | screen_yield(); |
|
| 333 | async_serialize_end(); |
344 | async_serialize_end(); |
| - | 345 | ||
| 334 | 346 | ||
| 335 | if (__SYSCALL0(SYS_DEBUG_ENABLE_CONSOLE)) { |
347 | if (__SYSCALL0(SYS_DEBUG_ENABLE_CONSOLE)) { |
| 336 | prev_console = active_console; |
348 | prev_console = active_console; |
| 337 | active_console = KERNEL_CONSOLE; |
349 | active_console = KERNEL_CONSOLE; |
| 338 | } else |
350 | } else |
| Line 340... | Line 352... | ||
| 340 | } |
352 | } |
| 341 | 353 | ||
| 342 | if (newcons != KERNEL_CONSOLE) { |
354 | if (newcons != KERNEL_CONSOLE) { |
| 343 | async_serialize_start(); |
355 | async_serialize_start(); |
| 344 | 356 | ||
| 345 | if (active_console == KERNEL_CONSOLE) |
357 | if (active_console == KERNEL_CONSOLE) { |
| - | 358 | screen_reclaim(); |
|
| 346 | gcons_redraw_console(); |
359 | gcons_redraw_console(); |
| - | 360 | } |
|
| 347 | 361 | ||
| 348 | active_console = newcons; |
362 | active_console = newcons; |
| 349 | gcons_change_console(newcons); |
363 | gcons_change_console(newcons); |
| 350 | conn = &connections[active_console]; |
364 | conn = &connections[active_console]; |
| 351 | 365 | ||
| Line 510... | Line 524... | ||
| 510 | 524 | ||
| 511 | async_serialize_start(); |
525 | async_serialize_start(); |
| 512 | gcons_notify_connect(consnum); |
526 | gcons_notify_connect(consnum); |
| 513 | conn->client_phone = IPC_GET_ARG5(*icall); |
527 | conn->client_phone = IPC_GET_ARG5(*icall); |
| 514 | screenbuffer_clear(&conn->screenbuffer); |
528 | screenbuffer_clear(&conn->screenbuffer); |
| - | 529 | if (consnum == active_console) |
|
| - | 530 | clrscr(); |
|
| 515 | 531 | ||
| 516 | /* Accept the connection */ |
532 | /* Accept the connection */ |
| 517 | ipc_answer_0(iid, EOK); |
533 | ipc_answer_0(iid, EOK); |
| 518 | 534 | ||
| 519 | while (1) { |
535 | while (1) { |