|
From: Petr V. <VAN...@vc...> - 2002-07-22 17:35:21
|
On 22 Jul 02 at 19:23, Sven LUTHER wrote:
> Petr wrote :
> > your drivers's init
> > --> look and init devices
> > --> call register_framebuffer
> > --> VGACON reads contents of VGA buffer
> > --> call to fbdev setvar
> > --> upper layer restores screen
> > ...
>
> Mmm, i did manage to override the vga save_screen function, and copy the
> good values into vc_sceenbuf, but to no avail.
>
> What frustrates me is that i cannot find any reference to some piece of
> code using the data in vc_sceenbuf to write to the screen again.
>
> How exactly does the upper layer restore the screen ?
I thought that:
take_over_console -> update_screen(x) -> redraw_screen(x,0) ->
(1) set vc_origin to vc_screenbuf in set_origin()
(2) paint picture through do_update_region() -> con_getxy, con_putcs
vc_screenbuf is accessed through screenbuf macro from console_macros.h.
It is very hard to find anything in console.c. I use simple rule:
all X variables you see in function are vc_X members of vt struct unless
you see definition of X on your screen.
Petr Vandrovec
|