[SeaBIOS] [PATCH] mark VBE mapping as reserved in e820

Kevin O'Connor kevin at koconnor.net
Sun Jan 24 03:09:56 CET 2010


On Sun, Jan 24, 2010 at 02:18:43AM +0200, Izik Eidus wrote:
> On Sat, 23 Jan 2010 19:03:46 -0500
> "Kevin O'Connor" <kevin at koconnor.net> wrote:
> > On Sun, Jan 24, 2010 at 01:35:21AM +0200, Izik Eidus wrote:
> > > On Sat, 23 Jan 2010 18:10:37 -0500
> > > "Kevin O'Connor" <kevin at koconnor.net> wrote:
> > > > What is special about 0xe0000000 that the OS can't map pci devices
> > > > there?  Normal machines don't treat 0xe0000000 as special, why does
> > > > the VBE device require that?
> > > From the last time I looked on the code 0xe0000000 was the LFB address,
> > > LFB is used by vesa devices as the framebuffer memory area,
> > > this mean that vesa devices (not the case for vga) will try to map this
> > > 0xe000000 physical memory.
> > Okay, but why does the device hardcoded 0xe0000000 - why doesn't it
> > use a PCI bar?  A PCI bar should also be sufficient to stop the OS
> > from mapping two things to the same address, and it has the advantage
> > of not requiring special code in the BIOS.
> 
> VESA standard is unrelated to pci devices,
> and therefore it can be used with isa devices...

VGA shows up as a PCI device under qemu.  Is there a reason why making
the LFB part of a PCI bar of the VGA device will not work?  Doing it
that way seems like a simpler solution.  It's also probably what real
modern machines do.

-Kevin



More information about the SeaBIOS mailing list