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