l4io_request_iomem() destroyes ioStream

ba_f ba_f at rbg.informatik.tu-darmstadt.de
Mon Jan 5 12:38:50 CET 2015

Hello L4-Hackers,

i noticed some wiered behavior when using l4io_request_iomem().

Have a look at this simplified code:

> Server::dispatch(l4_umword_t, L4::Ipc::Iostream &ios){
>   ios >> v1;
>   ios >> v2;
>   l4io_request_iomem(ADDR, 4, L4IO_MEM_NONCACHED, &baseaddr);
>   ios >> v3;
>   ios >> v4;
> }

When using l4io_request_iomem(), it kind of destroys the ioStream so 
that v3 and v4 get wrong values.
v1 and v2 are correct and of course, i checked that v3 and v4 are 
correct when l4io_request_iomem() is not there.

It's ok for me, since i just rearrange my code.

But how does this behavior come? is it a bug, maybe?

Using: l4re-snapshot-2014022818.


More information about the l4-hackers mailing list