Nova 32 bits on older Pentium 4 computer.

Christian Helmuth christian.helmuth at ...1...
Tue Jan 22 23:59:55 CET 2013


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
-- 
Christian Helmuth
Genode Labs

http://www.genode-labs.com/ · http://genode.org/
https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth




More information about the users mailing list