android: binder: support for scatter-gather.
Previously all data passed over binder needed to be serialized, with the exception of Binder objects and file descriptors. This patchs adds support for scatter-gathering raw memory buffers into a binder transaction, avoiding the need to first serialize them into a Parcel. To remain backwards compatibile with existing binder clients, it introduces two new command ioctls for this purpose - BC_TRANSACTION_SG and BC_REPLY_SG. These commands may only be used with the new binder_transaction_data_sg structure, which adds a field for the total size of the buffers we are scatter-gathering. Because memory buffers may contain pointers to other buffers, we allow callers to specify a parent buffer and an offset into it, to indicate this is a location pointing to the buffer that we are fixing up. The kernel will then take care of fixing up the pointer to that buffer as well. Change-Id: I02417f28cff14688f2e1d6fcb959438fd96566cc Signed-off-by:Martijn Coenen <maco@google.com> Git-commit: 53b170107e71eba71ecc953b6ed681480c1fcf64 Git-repo: https://android.googlesource.com/kernel/common [spathi@codeaurora.org fixed compilation issue] Signed-off-by:
Srinivasarao P <spathi@codeaurora.org>
Loading
Please register or sign in to comment