this patch fixes some crashes and lockups related to vga screen resize. removed the memimagedraw call from devvga's initdraw command, as it overdraws the screen after we notified the client in the size command. (we clear the screen in screensize instead) properly handle softscreen case in screensize(). the bug was that the old paged vga case set scr->paddr causing it in the vesa resize case to use VGAMEM() as the framebuffer. also free the old softscreen after we finished. scr->useflush was never reset in case you switch drivers from vesa to something else. clear the framebuffer in screensize() instead of in the initdraw command of devvga. add mtrr to vgalinearaddr() so all framebuffers including vesa benefit from it. vgavesa was changed to use /dev/realmode instead of the direct realmode() call so it works with realmode emulator (/n/sources/contrib/cinap_lenrek/realemu.tgz) use normal vgalinearaddr() to map the framebuffer. in case we want to use softscreen, we clear scr->paddr, scr->vaddr adn scr->apsize cause screensize() to allocate the softscreen for us and call our flush routine. flush does nothing if we dont use softscreen.