Re: why is vesafb not a module?

Geert Uytterhoeven (geert@geert.cs.kuleuven.ac.be)
Sat, 23 Jan 1999 13:46:49 +0100 (MET)


On Fri, 22 Jan 1999, Brian Gerst wrote:
> 91b59e21456b337c213e7290c93f43a8@interlinx.bc.ca wrote:
> > Wow, my second posting in two days. As I have not yet subscribed to the
> > list can I as that you CC me (yup to that horrifyingly ugly from
> > address) on any responses.
> >
> > I am wondering why the vesafb (VESA Frame Buffer device) is not a
> > module? I like building stripped down kernels (even to the point of
> > putting my load time devices into an initrd ramdisk) that I can run on a
> > variety of machines. I have some machines that use the Matro frame
> > buffer framebuffer device but others that use the standard VESA frame
> > buffer.
>
> Because the VESA framebuffer uses the VESA 2.0 BIOS, it can only be
> called from real mode. Therefore, it must be done at boot time, before
> the kernel enters protected mode. This means that it cannot be compiled
> as a module (unless somebody wants to hack vm86 support so that it can
> be used _inside_ the kernel).

This is not completely true: it's not vesafb that calls the VESA 2.0 BIOS, but
the very early boot code before the kernel is booted.

So in theory you could make vesafb a module, but then you wouldn't get any
screen output until vesafb is loaded.

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

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/