Hello Paul,
On Tue, Jan 22, 2013 at 11:44:12AM -0500, Paul Dufresne wrote:
Good news 2) I understand much better why make run/demo do not work on this computer Short answer: [init -> pci_drv] PCI driver started I/O memory [0,1000) not available Local MMIO mapping failed! [init -> vesa_drv] C++ runtime: Genode::Parent::Service_denied [init -> vesa_drv] void* abort(): abort called
I guess vesa_drv refused the service to the client because it needed PCI to work.
For me, it looks like your VESA BIOS tries to access physical page 0, which is not available. This fact is also logged in the following lines
:io_mem_alloc: Allocator 16165c dump: Block: [0009f000,00100000) size=00061000 avail=00061000 max_avail=00061000 Block: [00400000,01800000) size=01400000 avail=01400000 max_avail=01400000 Block: [018b6000,01e66000) size=005b0000 avail=005b0000 max_avail=005b0000 Block: [1fcf0000,1fd00000) size=00010000 avail=00010000 max_avail=e0181000 Block: [1fe80000,00001000) size=e0181000 avail=e0181000 max_avail=e0181000 => mem_size=3787071488 (3611 MB) / mem_avail=3787071488 (3611 MB)
The region [0,1000) is missing. I don't know why this happens as base-nova/src/core/platform.cc states in line 360
/* needed as I/O memory by the VESA driver */ _io_mem_alloc.add_range(0, 0x1000); _core_mem_alloc.phys_alloc()->remove_range(0, 0x1000);
Maybe Alexander can shed some light on this?
Greets