Hi, experts Here are the comments I saw in the Hafnium code. /* * Hafnium doesn't support fragmentation of memory retrieve requests * (because it doesn't support caller-specified mappings, so a request * will never be larger than a single page), so this must be part of a * memory send (i.e. donate, lend or share) request. * * We can tell from the handle whether the memory transaction is for the * TEE or not. */ I have a few questions about this description. 1. In the case of Hafnium as SPMC, optee should register memory fragments allocated by linux. What does Hafnium do with these memory fragments since doesn't support fragmentation of memory retrieve requests? 2. How does Hafnium map the page tables of stage-2 in dynamic shared memory for CA/TA, and are these page tables stored in the heap, or where? 3. What does HF_MAILBOX for dynamic shared memory mean? How does it relate to RX/TX buffer? Where can I see the related introduction in detail? Regards, Yuye