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

Izik Eidus ieidus at redhat.com
Sun Jan 24 17:16:32 CET 2010


On Sun, 24 Jan 2010 17:10:46 +0100
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006 at gmx.net> wrote:

> On 24.01.2010 16:32, Izik Eidus wrote:
> > On Sun, 24 Jan 2010 15:26:55 +0100
> > Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006 at gmx.net> wrote:
> >
> >   
> >>> So we can see that even the acpi spec example mark the LFB region as reserved.
> >>>   
> >>>       
> >> No, the memory hole is marked as reserved. The LFB region is not listed
> >> above.
> >>     
> >
> > But how in case you use vesa with isa, windows will know it cant remap pci devices
> > into that physical address?
> >   
> 
> ISA only supports 24 bit addresses anyway, so you can't map any resource
> of an ISA card above 16 MByte. That means an ISA device will never use
> the region at 0xE0000000.
> 
> http://www.microsoft.com/whdc/connect/pci/isa-bus.mspx implies that the
> ISAPNP interface of the BIOS is available for querying any resources, so
> in case you have an EISA device and if that device can indeed use full
> 32 bit addressing (very unusual for EISA hardware) you can still ask the
> BIOS to retrieve the location of any memory regions.


we are talking here about the framebuffer of the vesa device,
it is hardcoded mapped by the vgabios, for example
qemu will map it to that address (or 0xf000000) if they changed it.

It is sure being used by std vga when not working with pci.

int isa_vga_init(void)
{
    VGACommonState *s;

    s = qemu_mallocz(sizeof(*s));

    vga_common_init(s, VGA_RAM_SIZE);
    vga_init(s);
    vmstate_register(0, &vmstate_vga_common, s);

    s->ds = graphic_console_init(s->update, s->invalidate,
                                 s->screen_dump, s->text_update, s);

#ifdef CONFIG_BOCHS_VBE
    /* XXX: use optimized standard vga accesses */
    cpu_register_physical_memory(VBE_DISPI_LFB_PHYSICAL_ADDRESS,
                                 VGA_RAM_SIZE, s->vram_offset);
#endif
    /* ROM BIOS */
    rom_add_vga(VGABIOS_FILENAME);
    return 0;
}


Thanks.

> 
> Regards,
> Carl-Daniel
> 




More information about the SeaBIOS mailing list