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.
greets, ba_f