https://bugzilla.novell.com/show_bug.cgi?id=422081
User jbeulich@novell.com added comment
https://bugzilla.novell.com/show_bug.cgi?id=422081#c10
Jan Beulich
All of the physical RAM sitting off the CPU starts at address 0, the CPUs memory controller sees all of it, including the bit reserved for the framebuffer. The BIOS, yes, through E820, just doesn't mention that reserved part (which always sits at the top of this physical ram).
As long as the E820 map reports the range in question as RAM, Xen won't allow you to map it (and Dom0 generally can't even assume it owns it). But I can't see how that scenario would work in a native kernel either. At the example of the E820 map provided (or one you would provide) - could you illustrate where the memory range in question would be located? Note that in my previous reply, I considered MMIO any memory that is not RAM from an E820 perspective - meaning that any such memory (be it, as you name them, from an MMIO BAR or a memory BAR) can be mapped through /dev/mem under Xen.
* Is there an easy way for me, an X driver, to tell that Xen is active, so that i can go and map the PCI BAR instead.
You'd see /proc/xen/ as well as various entries under /sys/hypervisor/.
* Is there a way for me to still map a part of physical memory?
As said above - as long as the memory is not marked as RAM in the E820 map, there should be no problem. But clearly, address 00000000 will always be marked as such on any PC-compatible system (and I continue to not believe that the frame buffer would be sitting there). -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.