Changes

Jump to navigation Jump to search
52 bytes added ,  18:21, 1 November 2016
Line 177: Line 177:  
This kind of translation is enabled by setting bit3 in the translation descriptor. The other two bits of what's documented as the translation type above are used to specify buffer access permissions of the receiving process.
 
This kind of translation is enabled by setting bit3 in the translation descriptor. The other two bits of what's documented as the translation type above are used to specify buffer access permissions of the receiving process.
   −
Buffers will get mapped at virtual address 0x04000000+ in the destination process. When this translation descriptor is submitted to the kernel through svcReplyAndReceive, the given buffer will be unmapped from the sending process. The memory mapped at 0x04000000+ is a copy of the source data, allocated in the BASE memregion. With descriptor 0x0000000C at least, only the first and last pages of the buffer at 0x04000000+ are under BASE, with the rest being mapped to the original buffer physmem. Note that the start address of each buffer for 0x04000000+ normally aren't 0x1000-byte aligned.
+
Buffers will get mapped at virtual address 0x04000000+ in the destination process. When this translation descriptor is submitted to the kernel through svcReplyAndReceive, the given buffer will be unmapped from the sending process. The memory mapped at 0x04000000+ is a copy of the source data, allocated in the BASE memregion. With descriptor 0x0000000C at least, only the first and last pages of the buffer at 0x04000000+ are under BASE, with the rest being mapped to the original buffer physmem. Bitmask 0xFFF(low 12-bits) of the start address of each buffer for 0x04000000+ is the same as bitmask 0xFFF from the source-process buffer address.
    
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"

Navigation menu