On Sun, 24 Jan 2010 17:10:46 +0100 Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@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@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