starnix_modules_fastrpc/
lib.rs1#![recursion_limit = "256"]
6
7mod dma_heap;
8mod fastrpc;
9
10pub use fastrpc::fastrpc_device_init;
11use starnix_core::task::CurrentTask;
12use starnix_uapi::user_address::ArchSpecific;
13
14pub fn canonicalize_ioctl_request(current_task: &CurrentTask, request: u32) -> u32 {
15 if current_task.is_arch32() {
16 match request {
17 linux_uapi::arch32::FASTRPC_IOCTL_INVOKE => linux_uapi::FASTRPC_IOCTL_INVOKE,
19 linux_uapi::arch32::FASTRPC_IOCTL_INVOKE_FD => linux_uapi::FASTRPC_IOCTL_INVOKE_FD,
20 linux_uapi::arch32::FASTRPC_IOCTL_GETINFO => linux_uapi::FASTRPC_IOCTL_GETINFO,
21 linux_uapi::arch32::FASTRPC_IOCTL_GET_DSP_INFO => {
22 linux_uapi::FASTRPC_IOCTL_GET_DSP_INFO
23 }
24 linux_uapi::arch32::FASTRPC_IOCTL_INVOKE2 => linux_uapi::FASTRPC_IOCTL_INVOKE2,
25 linux_uapi::arch32::FASTRPC_IOCTL_INIT => linux_uapi::FASTRPC_IOCTL_INIT,
26 linux_uapi::arch32::DMA_HEAP_IOCTL_ALLOC => linux_uapi::DMA_HEAP_IOCTL_ALLOC,
28 linux_uapi::arch32::DMA_BUF_IOCTL_SYNC => linux_uapi::DMA_BUF_IOCTL_SYNC,
29 linux_uapi::arch32::DMA_BUF_SET_NAME_B => linux_uapi::DMA_BUF_SET_NAME_B,
30 _ => request,
31 }
32 } else {
33 request
34 }
35}