[okl4-developer] Re : MR registers corrupted when using L4_Send, L4_Receive
Gabi Voiculescu
boy3dfx2 at yahoo.com
Tue Jan 20 07:54:29 EST 2009
Related to the previous problem, I decided to bypass the L4 inlines and direclty use L4_Ipc.
I still have MR1 corrupted.
Do you somehow pass a clobber list to the compiler when compiling L4_Ipc()?
Thank you,
Gabi Voiculescu
in main ()
......
L4_LoadMR(1, 0x1234); //-gabi this MR is corrupted anyway
L4_LoadMR(2, 0x5678); //-gabi this MR is corrupted anyway
L4_LoadMR(3, 0x9012);
L4_LoadMR(4, 0x3456);
L4_LoadMR(5, 0xdead);
L4_LoadMR(6, 0xbeef);
tag = L4_Make_MsgTag(0x1, 0); //label 0x1, flags send block//L4_MsgTag();
L4_Set_SendBlock(&tag);
// L4_Set_MemoryCopy(&tag);
tag.X.u = 6;
tag = L4_Ipc(thread_l4tid(thread_tid[i]), L4_nilthread, tag, (L4_ThreadId_t *)0);
.......
and in the thread:
L4_MsgLoad(&msg);
// L4_Wait(&from_tid) detailed below:
tag = L4_Niltag;
L4_Set_ReceiveBlock(&tag);
tag = L4_Ipc(L4_nilthread, L4_anythread, tag, &from_tid);
L4_MsgStore(tag, &msg);
label = L4_Label(tag);
Now I only have the first two MR's broken, but I can't explain why MR1 is broken since: I don't have an exception, I don't create a thread, or have a page fault.
Thread: mr[0]=20001
Thread: mr[1]=8002c0b8
Thread: mr[2]=9012 <---from here on I have what I write
Thread: mr[3]=3456
Thread: mr[4]=dead
Thread: mr[5]=beef
msg.tag.X.u = 6
L4_Label(tag) = 1
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.okl4.org/pipermail/developer/attachments/20090119/bd482ed3/attachment.htm
More information about the Developer
mailing list