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