Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/vt/vt_core.c
Show First 20 Lines • Show All 2,399 Lines • ▼ Show 20 Lines | if (drv->vd_priority <= main_vd->vd_driver->vd_priority) { | ||||
printf("VT: Driver priority %d too low. Current %d\n ", | printf("VT: Driver priority %d too low. Current %d\n ", | ||||
drv->vd_priority, main_vd->vd_driver->vd_priority); | drv->vd_priority, main_vd->vd_driver->vd_priority); | ||||
return; | return; | ||||
} | } | ||||
printf("VT: Replacing driver \"%s\" with new \"%s\".\n", | printf("VT: Replacing driver \"%s\" with new \"%s\".\n", | ||||
main_vd->vd_driver->vd_name, drv->vd_name); | main_vd->vd_driver->vd_name, drv->vd_name); | ||||
} | } | ||||
vd = main_vd; | vd = main_vd; | ||||
VT_LOCK(vd); | |||||
if (vd->vd_flags & VDF_ASYNC) { | if (vd->vd_flags & VDF_ASYNC) { | ||||
/* Stop vt_flush periodic task. */ | /* Stop vt_flush periodic task. */ | ||||
vt_suspend_flush_timer(vd); | vt_suspend_flush_timer(vd); | ||||
/* | /* | ||||
* Mute current terminal until we done. vt_change_font (called | * Mute current terminal until we done. vt_change_font (called | ||||
* from vt_resize) will unmute it. | * from vt_resize) will unmute it. | ||||
*/ | */ | ||||
terminal_mute(vd->vd_curwindow->vw_terminal, 1); | terminal_mute(vd->vd_curwindow->vw_terminal, 1); | ||||
} | } | ||||
/* | /* | ||||
* Reset VDF_TEXTMODE flag, driver who require that flag (vt_vga) will | * Reset VDF_TEXTMODE flag, driver who require that flag (vt_vga) will | ||||
* set it. | * set it. | ||||
*/ | */ | ||||
VT_LOCK(vd); | |||||
vd->vd_flags &= ~VDF_TEXTMODE; | vd->vd_flags &= ~VDF_TEXTMODE; | ||||
vd->vd_driver = drv; | vd->vd_driver = drv; | ||||
vd->vd_softc = softc; | vd->vd_softc = softc; | ||||
vd->vd_driver->vd_init(vd); | vd->vd_driver->vd_init(vd); | ||||
VT_UNLOCK(vd); | VT_UNLOCK(vd); | ||||
/* Update windows sizes and initialize last items. */ | /* Update windows sizes and initialize last items. */ | ||||
▲ Show 20 Lines • Show All 44 Lines • Show Last 20 Lines |