Hi Cheng,
chenggh wrote:
Hi: Today I read the DICE Manual 3.1.0 and it talks about something about indirect IPC and direct IPC. According to my understanding it seems like this: indirect IPC: sender - > message buffer -> receiver direct IPC: sender ->sender buffer -> receive buffer ->receiver.
But I think this understanding is wrong and I don't search something helpful by google, too. If somebody knows please tell me.
You should look into the l4 specs, e.g. here:
In short, direct IPC transfers data directly via message registers, indirect IPC, indirectly via pointer / length descriptors in the IPC. All types are synchronous and use no buffers in the kernel. Direct and indirect parts can be mixed in one IPC. In the manuals indirect IPC is called string IPC or string item etc.
Cheers, Martin