Rev 4325 | Rev 4329 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 4325 | Rev 4326 | ||
|---|---|---|---|
| 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_grab(void) |
144 | static void screen_yield(void) |
| 145 | { |
145 | { |
| 146 | ipc_call_sync_0_0(fb_info.phone, FB_SCREEN_GRAB); |
146 | ipc_call_sync_0_0(fb_info.phone, FB_SCREEN_YIELD); |
| 147 | } |
147 | } |
| 148 | 148 | ||
| 149 | static void screen_relinquish(void) |
149 | static void screen_reclaim(void) |
| 150 | { |
150 | { |
| 151 | ipc_call_sync_0_0(fb_info.phone, FB_SCREEN_RELINQUISH); |
151 | ipc_call_sync_0_0(fb_info.phone, FB_SCREEN_RECLAIM); |
| 152 | } |
152 | } |
| 153 | 153 | ||
| 154 | static void set_style(int style) |
154 | static void set_style(int style) |
| 155 | { |
155 | { |
| 156 | async_msg_1(fb_info.phone, FB_SET_STYLE, style); |
156 | async_msg_1(fb_info.phone, FB_SET_STYLE, style); |
| Line 338... | Line 338... | ||
| 338 | 338 | ||
| 339 | if (newcons == KERNEL_CONSOLE) { |
339 | if (newcons == KERNEL_CONSOLE) { |
| 340 | async_serialize_start(); |
340 | async_serialize_start(); |
| 341 | curs_hide_sync(); |
341 | curs_hide_sync(); |
| 342 | gcons_in_kernel(); |
342 | gcons_in_kernel(); |
| 343 | screen_relinquish(); |
343 | screen_yield(); |
| 344 | async_serialize_end(); |
344 | async_serialize_end(); |
| 345 | 345 | ||
| 346 | 346 | ||
| 347 | if (__SYSCALL0(SYS_DEBUG_ENABLE_CONSOLE)) { |
347 | if (__SYSCALL0(SYS_DEBUG_ENABLE_CONSOLE)) { |
| 348 | prev_console = active_console; |
348 | prev_console = active_console; |
| Line 353... | Line 353... | ||
| 353 | 353 | ||
| 354 | if (newcons != KERNEL_CONSOLE) { |
354 | if (newcons != KERNEL_CONSOLE) { |
| 355 | async_serialize_start(); |
355 | async_serialize_start(); |
| 356 | 356 | ||
| 357 | if (active_console == KERNEL_CONSOLE) { |
357 | if (active_console == KERNEL_CONSOLE) { |
| 358 | screen_grab(); |
358 | screen_reclaim(); |
| 359 | gcons_redraw_console(); |
359 | gcons_redraw_console(); |
| 360 | } |
360 | } |
| 361 | 361 | ||
| 362 | active_console = newcons; |
362 | active_console = newcons; |
| 363 | gcons_change_console(newcons); |
363 | gcons_change_console(newcons); |