Index: [thread] [date] [subject] [author]
  From: Geert Uytterhoeven <Geert.Uytterhoeven@cs.kuleuven.ac.be>
  To  : ggi-develop@eskimo.com
  Date: Wed, 12 Aug 1998 22:53:45 +0200 (CEST)

Re: kgicon FAQ

On Wed, 12 Aug 1998, Marcus Sundberg wrote:
> > > Well, vesafb currently needs to run in real mode to set the mode,
> > > so making it a module would also need messing with the vm86*
> > > functions of Linux...
> > 
> > Wrong. Vesafb doesn't call any 16 bit code. The video code is setup by video.S,
> > i.e. before Linux boots. After that you can no longer change the video mode.
> 
> It doesn't?
> This is from the top of vesafb.c:
>   * switching to graphics mode happens at boot time (while
>   * running in real mode, see arch/i386/video.S).
> 
> If it uses 32-bit code to set the mode, how can it run in real mode
> like this comment says?
> If it uses 16-bit code to set the mode, how can you run it as a
> module (= after Linux has booted) without using the vm86 interface?

Vesafb does not set the video mode. The video mode is set by video.S while
still running in 16 bit mode (I can't remember which one is real mode, so I say
16 bit mode), _before_ the real kernel is started. Vesafb just needs to know
(a) where the frame buffer is and (b) what size and color depth it is.

Even if you would make vesafb a module, the video mode will still be set by
video.S.

Greetings,

						Geert

--
Geert Uytterhoeven                     Geert.Uytterhoeven@cs.kuleuven.ac.be
Wavelets, Linux/{m68k~Amiga,PPC~CHRP}  http://www.cs.kuleuven.ac.be/~geert/
Department of Computer Science -- Katholieke Universiteit Leuven -- Belgium

Index: [thread] [date] [subject] [author]