Any way to map physical address 0xe0000000?

"Alexandre Courbot" <[email protected]>
Newsgroups gmane.comp.micro-kernel.l4.l4ka.general
Message-ID <[email protected]>
Hello everyone,

Still playing with the VESA VBE driver for our Pistachio-based OS... I
am now able to use the BIOS functions with x86emu (thanks to your good
advices), but now I'd need to draw on the screen and further problems
appeared...

Indeed, VBE 2.0 features a linear frame buffer for protected-mode
programs, i.e. all the video memory s mapped to a contiguous area of
the physical address space. This address is fixed and returned by a
dedicated VBE function ; it is then up to the system to correctly map
it to the virtual address space of the driver.

Well, unfortunately the address in question happens to be 0xe0000000
on all the (virtual) machines  I have tried, which is unfortunately
reserved by Pistachio  and appears to be strictly forbidden to access.
I have tried writing the area from Sigma0, and even that is caught by
the L4 kernel with the following message :

sigma0 accessed kernel space @ e0000000, ip=00020438 - deny

I have tried disabling the check that triggered this message in the
kernel, and after that I can successfully draw on the screen from
Sigma0 (which confirms that the address is correct), but as could be
expected the system becomes unusuable shortly afterwards. So now I'm
kind of stuck. Any idea on what I could do here? For performance
reasons, using the real-mode windowing functions is not an option...

Thanks,
Alex.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.