Who uses memory originally from IO device

Adam Lackorzynski adam at os.inf.tu-dresden.de
Wed Jul 9 00:39:17 CEST 2014


Hi,

On Tue Jul 08, 2014 at 11:20:20 +0200, Martin Schröder wrote:
> 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.
> 
> 
> 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.

Aiee, ok...

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

Ok.


Adam
-- 
Adam                 adam at os.inf.tu-dresden.de
  Lackorzynski         http://os.inf.tu-dresden.de/~adam/



More information about the l4-hackers mailing list