If the kernel_args::cons_line field is not maintained (ie. is zero), the
console driver now clears the screen when it's initialized. This improves the first impression of the standard boot process when booting in text mode (which currently happens when you press "escape" in the early boot stage). git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8939 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
2ef444519e
commit
81f2f81c21
@ -85,6 +85,19 @@ scrup(void)
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
clear_screen(void)
|
||||
{
|
||||
uint16 *base = (uint16 *)origin;
|
||||
uint32 i;
|
||||
|
||||
for (i = 0; i < COLUMNS * LINES; i++)
|
||||
base[i] = 0xf20;
|
||||
|
||||
pos = origin;
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
lf(void)
|
||||
{
|
||||
@ -306,6 +319,7 @@ console_dev_init(kernel_args *ka)
|
||||
dprintf("con_init: mapping vid mem\n");
|
||||
vm_map_physical_memory(vm_get_kernel_aspace_id(), "vid_mem", (void *)&origin, B_ANY_KERNEL_ADDRESS,
|
||||
SCREEN_END - SCREEN_START, B_KERNEL_READ_AREA | B_KERNEL_WRITE_AREA, SCREEN_START);
|
||||
|
||||
dprintf("con_init: mapped vid mem to virtual address 0x%x\n", origin);
|
||||
|
||||
pos = origin;
|
||||
@ -316,7 +330,10 @@ console_dev_init(kernel_args *ka)
|
||||
* access to this information. We probably need to find a
|
||||
* better way of doing this.
|
||||
*/
|
||||
gotoxy(0, ka->cons_line);
|
||||
if (ka->cons_line != 0)
|
||||
gotoxy(0, ka->cons_line);
|
||||
else
|
||||
clear_screen();
|
||||
update_cursor(x, y);
|
||||
|
||||
mutex_init(&console_lock, "console_lock");
|
||||
|
Loading…
x
Reference in New Issue
Block a user