I/O Memory Mapping failed

Markus Partheymueller mail at ...119...
Mon Jul 23 17:20:08 CEST 2012


Hi,



> Please try to subtract the offset from the initial '_map' call:

That didn't do it, because it still uses the base address with offset
for the io mem connection. What did help was to use _base - _offset()
in the constructor of Io_mem_connection. Now I could successfully boot
genode with USB input devices and launch scout.

But that is of course a very dirty hack to get it running. The
question is, why the creation of io_mem_connection fails, or if the
memory map has some issues.

>
> diff --git a/os/src/drivers/acpi/acpi.cc b/os/src/drivers/acpi/acpi.cc
> index 6f4970e..a8322b2 100644
> --- a/os/src/drivers/acpi/acpi.cc
> +++ b/os/src/drivers/acpi/acpi.cc
> @@ -206,7 +206,7 @@ class Table_wrapper
>          Table_wrapper(addr_t base)
>          : _base(base), _io_mem(0), _table(0)
>          {
> -            _map(0x1000);
> +            _map(0x1000 - _offset());
>
>              /* remap if table size is larger than current size */
>              if (_offset() + _table->size > 0x1000) {
>
> If this should work, we have to make sure that 0x1000 - offset is at
> least 8 Bytes wide.
>
> Sebastian
>
> ------------------------------------------------------------------------------
> Live Security Virtual Conference
> Exclusive live event will cover all the ways today's security and
> threat landscape has changed and how IT managers can respond. Discussions
> will include endpoint security, mobile security and the latest in malware
> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> _______________________________________________
> Genode-main mailing list
> Genode-main at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/genode-main
>




More information about the users mailing list