Messages in this thread | | | Date | Mon, 29 Nov 2004 13:17:19 -0500 | From | Dave Jones <> | Subject | Re: MTRR vesafb and wrong X performance |
| |
On Mon, Nov 29, 2004 at 06:34:19PM +0100, Gerd Knorr wrote: > > size_total is calculated thus: > > > > size_total = screen_info.lfb_size * 65536; > > That comes almost directly from the BIOS, the screen_info struct is > filled by the real mode boot code (vga.S IIRC).
ah yes, video.S, (sets PARAM_LFB_SIZE), which is why my grep failed.
> > or blacklist if there aren't too many perhaps? > > Hmm, how identify them? Map the BIOS and poke around there? > screen_info gives next to no info here. > > Maybe it works better to walk the PCI device list, find the correct > gfx card using the framebuffer start address, then double-check the > size by looking at the PCI ressources?
Maybe.
Something I toyed with at one point, which only works for AGP cards is.. search the pci config space for an agp header, and then check the amount of prefetchable memory range behind the bridge. Even that wasn't foolproof however, and there were a few quirks to work around still. You see all sorts of strange things there, like onboard gfx with 16MB advertising 64MB prefetchable ranges.
Dave
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |