Who uses memory originally from IO device

Martin Schröder martin.schroeder at openlimit.com
Tue Jul 8 11:20:20 CEST 2014


Am 07.07.2014 23:54, schrieb Adam Lackorzynski:
>>
>> After some debugging it am convinced that MOE is not using or blocking this
>> OCRAM at address 0x0.
>>
>> But what is the reason that io cannot allocate the requested memory and maps
>> instead something of the same size?
>
> There's some unfortunate behavior of io that could be the cause here.
> Could you add 0xc000 as a third flag to the MMIO specification to mark
> this as a fixed resource? We've changed the behavior internally already.


Hi Adam,
yesterday I tracked this down to

phys_space.cc:25: Phys_space::Phys_space()
{
   _set.insert(Phys_region(4 << 22, Phys_region::Addr(~0)));

Everything below 0x01000000 gets shifted up. After replacing the "4 << 
2" by "0x0" the resource allocation works fine and as expected.

Your suggestion 0xc000 is also working. The only cosmetic defect that io 
reports twice the line
"io      | WARNING: phys mmio resource allocation failed".


Best regards
    Martin




More information about the l4-hackers mailing list