Loading drivers/misc/qseecom.c +812 −167 File changed.Preview size limit exceeded, changes collapsed. Show changes include/soc/qcom/qseecomi.h +3 −0 Original line number Original line Diff line number Diff line Loading @@ -69,6 +69,9 @@ enum qseecom_qceos_cmd_id { QSEOS_FSM_IKE_REQ_RSP_CMD = 0x204, QSEOS_FSM_IKE_REQ_RSP_CMD = 0x204, QSEOS_FSM_OEM_FUSE_WRITE_ROW = 0x301, QSEOS_FSM_OEM_FUSE_WRITE_ROW = 0x301, QSEOS_FSM_OEM_FUSE_READ_ROW = 0x302, QSEOS_FSM_OEM_FUSE_READ_ROW = 0x302, QSEOS_FSM_ENCFS_REQ_CMD = 0x403, QSEOS_FSM_ENCFS_REQ_RSP_CMD = 0x404, QSEOS_CMD_MAX = 0xEFFFFFFF QSEOS_CMD_MAX = 0xEFFFFFFF }; }; Loading include/uapi/linux/compat_qseecom.h +24 −0 Original line number Original line Diff line number Diff line Loading @@ -207,6 +207,21 @@ struct compat_qseecom_qteec_modfd_req { struct compat_qseecom_ion_fd_info ifd_data[MAX_ION_FD]; struct compat_qseecom_ion_fd_info ifd_data[MAX_ION_FD]; }; }; struct compat_qseecom_ce_pipe_entry { compat_int_t valid; compat_uint_t ce_num; compat_uint_t ce_pipe_pair; }; struct compat_qseecom_ce_info_req { unsigned char handle[MAX_CE_INFO_HANDLE_SIZE]; compat_uint_t usage; compat_uint_t unit_num; compat_uint_t num_ce_pipe_entries; struct compat_qseecom_ce_pipe_entry ce_pipe_entry[MAX_CE_PIPE_PAIR_PER_UNIT]; }; struct file; struct file; extern long compat_qseecom_ioctl(struct file *file, extern long compat_qseecom_ioctl(struct file *file, unsigned int cmd, unsigned long arg); unsigned int cmd, unsigned long arg); Loading Loading @@ -304,6 +319,15 @@ extern long compat_qseecom_ioctl(struct file *file, #define COMPAT_QSEECOM_IOCTL_SEND_MODFD_RESP_64 \ #define COMPAT_QSEECOM_IOCTL_SEND_MODFD_RESP_64 \ _IOWR(QSEECOM_IOC_MAGIC, 36, \ _IOWR(QSEECOM_IOC_MAGIC, 36, \ struct compat_qseecom_send_modfd_listener_resp) struct compat_qseecom_send_modfd_listener_resp) #define COMPAT_QSEECOM_IOCTL_GET_CE_PIPE_INFO \ _IOWR(QSEECOM_IOC_MAGIC, 40, \ struct compat_qseecom_ce_info_req) #define COMPAT_QSEECOM_IOCTL_FREE_CE_PIPE_INFO \ _IOWR(QSEECOM_IOC_MAGIC, 41, \ struct compat_qseecom_ce_info_req) #define COMPAT_QSEECOM_IOCTL_QUERY_CE_PIPE_INFO \ _IOWR(QSEECOM_IOC_MAGIC, 42, \ struct compat_qseecom_ce_info_req) #endif #endif #endif /* _UAPI_COMPAT_QSEECOM_H_ */ #endif /* _UAPI_COMPAT_QSEECOM_H_ */ Loading include/uapi/linux/qseecom.h +31 −0 Original line number Original line Diff line number Diff line Loading @@ -233,6 +233,27 @@ struct qseecom_sg_entry_64bit { uint32_t len; uint32_t len; } __attribute__ ((packed)); } __attribute__ ((packed)); #define MAX_CE_PIPE_PAIR_PER_UNIT 3 #define INVALID_CE_INFO_UNIT_NUM 0xffffffff #define CE_PIPE_PAIR_USE_TYPE_FDE 0 #define CE_PIPE_PAIR_USE_TYPE_PFE 1 struct qseecom_ce_pipe_entry { int valid; unsigned int ce_num; unsigned int ce_pipe_pair; }; #define MAX_CE_INFO_HANDLE_SIZE 32 struct qseecom_ce_info_req { unsigned char handle[MAX_CE_INFO_HANDLE_SIZE]; unsigned int usage; unsigned int unit_num; unsigned int num_ce_pipe_entries; struct qseecom_ce_pipe_entry ce_pipe_entry[MAX_CE_PIPE_PAIR_PER_UNIT]; }; #define SG_ENTRY_SZ sizeof(struct qseecom_sg_entry) #define SG_ENTRY_SZ sizeof(struct qseecom_sg_entry) #define SG_ENTRY_SZ_64BIT sizeof(struct qseecom_sg_entry_64bit) #define SG_ENTRY_SZ_64BIT sizeof(struct qseecom_sg_entry_64bit) Loading Loading @@ -334,4 +355,14 @@ extern long qseecom_ioctl(struct file *file, #define QSEECOM_IOCTL_SEND_MODFD_RESP_64 \ #define QSEECOM_IOCTL_SEND_MODFD_RESP_64 \ _IOWR(QSEECOM_IOC_MAGIC, 36, struct qseecom_send_modfd_listener_resp) _IOWR(QSEECOM_IOC_MAGIC, 36, struct qseecom_send_modfd_listener_resp) #define QSEECOM_IOCTL_GET_CE_PIPE_INFO \ _IOWR(QSEECOM_IOC_MAGIC, 40, struct qseecom_ce_info_req) #define QSEECOM_IOCTL_FREE_CE_PIPE_INFO \ _IOWR(QSEECOM_IOC_MAGIC, 41, struct qseecom_ce_info_req) #define QSEECOM_IOCTL_QUERY_CE_PIPE_INFO \ _IOWR(QSEECOM_IOC_MAGIC, 42, struct qseecom_ce_info_req) #endif /* _UAPI_QSEECOM_H_ */ #endif /* _UAPI_QSEECOM_H_ */ Loading
drivers/misc/qseecom.c +812 −167 File changed.Preview size limit exceeded, changes collapsed. Show changes
include/soc/qcom/qseecomi.h +3 −0 Original line number Original line Diff line number Diff line Loading @@ -69,6 +69,9 @@ enum qseecom_qceos_cmd_id { QSEOS_FSM_IKE_REQ_RSP_CMD = 0x204, QSEOS_FSM_IKE_REQ_RSP_CMD = 0x204, QSEOS_FSM_OEM_FUSE_WRITE_ROW = 0x301, QSEOS_FSM_OEM_FUSE_WRITE_ROW = 0x301, QSEOS_FSM_OEM_FUSE_READ_ROW = 0x302, QSEOS_FSM_OEM_FUSE_READ_ROW = 0x302, QSEOS_FSM_ENCFS_REQ_CMD = 0x403, QSEOS_FSM_ENCFS_REQ_RSP_CMD = 0x404, QSEOS_CMD_MAX = 0xEFFFFFFF QSEOS_CMD_MAX = 0xEFFFFFFF }; }; Loading
include/uapi/linux/compat_qseecom.h +24 −0 Original line number Original line Diff line number Diff line Loading @@ -207,6 +207,21 @@ struct compat_qseecom_qteec_modfd_req { struct compat_qseecom_ion_fd_info ifd_data[MAX_ION_FD]; struct compat_qseecom_ion_fd_info ifd_data[MAX_ION_FD]; }; }; struct compat_qseecom_ce_pipe_entry { compat_int_t valid; compat_uint_t ce_num; compat_uint_t ce_pipe_pair; }; struct compat_qseecom_ce_info_req { unsigned char handle[MAX_CE_INFO_HANDLE_SIZE]; compat_uint_t usage; compat_uint_t unit_num; compat_uint_t num_ce_pipe_entries; struct compat_qseecom_ce_pipe_entry ce_pipe_entry[MAX_CE_PIPE_PAIR_PER_UNIT]; }; struct file; struct file; extern long compat_qseecom_ioctl(struct file *file, extern long compat_qseecom_ioctl(struct file *file, unsigned int cmd, unsigned long arg); unsigned int cmd, unsigned long arg); Loading Loading @@ -304,6 +319,15 @@ extern long compat_qseecom_ioctl(struct file *file, #define COMPAT_QSEECOM_IOCTL_SEND_MODFD_RESP_64 \ #define COMPAT_QSEECOM_IOCTL_SEND_MODFD_RESP_64 \ _IOWR(QSEECOM_IOC_MAGIC, 36, \ _IOWR(QSEECOM_IOC_MAGIC, 36, \ struct compat_qseecom_send_modfd_listener_resp) struct compat_qseecom_send_modfd_listener_resp) #define COMPAT_QSEECOM_IOCTL_GET_CE_PIPE_INFO \ _IOWR(QSEECOM_IOC_MAGIC, 40, \ struct compat_qseecom_ce_info_req) #define COMPAT_QSEECOM_IOCTL_FREE_CE_PIPE_INFO \ _IOWR(QSEECOM_IOC_MAGIC, 41, \ struct compat_qseecom_ce_info_req) #define COMPAT_QSEECOM_IOCTL_QUERY_CE_PIPE_INFO \ _IOWR(QSEECOM_IOC_MAGIC, 42, \ struct compat_qseecom_ce_info_req) #endif #endif #endif /* _UAPI_COMPAT_QSEECOM_H_ */ #endif /* _UAPI_COMPAT_QSEECOM_H_ */ Loading
include/uapi/linux/qseecom.h +31 −0 Original line number Original line Diff line number Diff line Loading @@ -233,6 +233,27 @@ struct qseecom_sg_entry_64bit { uint32_t len; uint32_t len; } __attribute__ ((packed)); } __attribute__ ((packed)); #define MAX_CE_PIPE_PAIR_PER_UNIT 3 #define INVALID_CE_INFO_UNIT_NUM 0xffffffff #define CE_PIPE_PAIR_USE_TYPE_FDE 0 #define CE_PIPE_PAIR_USE_TYPE_PFE 1 struct qseecom_ce_pipe_entry { int valid; unsigned int ce_num; unsigned int ce_pipe_pair; }; #define MAX_CE_INFO_HANDLE_SIZE 32 struct qseecom_ce_info_req { unsigned char handle[MAX_CE_INFO_HANDLE_SIZE]; unsigned int usage; unsigned int unit_num; unsigned int num_ce_pipe_entries; struct qseecom_ce_pipe_entry ce_pipe_entry[MAX_CE_PIPE_PAIR_PER_UNIT]; }; #define SG_ENTRY_SZ sizeof(struct qseecom_sg_entry) #define SG_ENTRY_SZ sizeof(struct qseecom_sg_entry) #define SG_ENTRY_SZ_64BIT sizeof(struct qseecom_sg_entry_64bit) #define SG_ENTRY_SZ_64BIT sizeof(struct qseecom_sg_entry_64bit) Loading Loading @@ -334,4 +355,14 @@ extern long qseecom_ioctl(struct file *file, #define QSEECOM_IOCTL_SEND_MODFD_RESP_64 \ #define QSEECOM_IOCTL_SEND_MODFD_RESP_64 \ _IOWR(QSEECOM_IOC_MAGIC, 36, struct qseecom_send_modfd_listener_resp) _IOWR(QSEECOM_IOC_MAGIC, 36, struct qseecom_send_modfd_listener_resp) #define QSEECOM_IOCTL_GET_CE_PIPE_INFO \ _IOWR(QSEECOM_IOC_MAGIC, 40, struct qseecom_ce_info_req) #define QSEECOM_IOCTL_FREE_CE_PIPE_INFO \ _IOWR(QSEECOM_IOC_MAGIC, 41, struct qseecom_ce_info_req) #define QSEECOM_IOCTL_QUERY_CE_PIPE_INFO \ _IOWR(QSEECOM_IOC_MAGIC, 42, struct qseecom_ce_info_req) #endif /* _UAPI_QSEECOM_H_ */ #endif /* _UAPI_QSEECOM_H_ */