hi ,in sys_ipc_wrapper, the code first get the current thread's syscall entry frame:
....
Thread *curr=current_thread();
Syscall_frame *f = curr-regs();
...
according to the Syscall_frame's implemention, it can get the Utcb by Syscall_frame::utcb().
but the following code get the Utcb in another way:
Utcb *utcb = curr->utcb().access(true);
what's the difference between those two Utcb?