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.