diff options
Diffstat (limited to 'include/uapi/linux')
| -rw-r--r-- | include/uapi/linux/Kbuild | 3 | ||||
| -rw-r--r-- | include/uapi/linux/hab_ioctl.h | 101 | ||||
| -rw-r--r-- | include/uapi/linux/habmm.h | 177 | ||||
| -rw-r--r-- | include/uapi/linux/habmmid.h | 60 |
4 files changed, 163 insertions, 178 deletions
diff --git a/include/uapi/linux/Kbuild b/include/uapi/linux/Kbuild index a9a804bdd7a1..2604d3f387ba 100644 --- a/include/uapi/linux/Kbuild +++ b/include/uapi/linux/Kbuild @@ -529,4 +529,5 @@ header-y += ipa_qmi_service_v01.h header-y += rmnet_ipa_fd_ioctl.h header-y += msm_ipa.h header-y += smcinvoke.h -header-y += habmm.h +header-y += habmmid.h +header-y += hab_ioctl.h diff --git a/include/uapi/linux/hab_ioctl.h b/include/uapi/linux/hab_ioctl.h new file mode 100644 index 000000000000..83b5da236888 --- /dev/null +++ b/include/uapi/linux/hab_ioctl.h @@ -0,0 +1,101 @@ +#ifndef _HAB_IOCTL_H +#define _HAB_IOCTL_H + +#include <linux/types.h> + +struct hab_send { + __u64 data; + __s32 vcid; + __u32 sizebytes; + __u32 flags; +}; + +struct hab_recv { + __u64 data; + __s32 vcid; + __u32 sizebytes; + __u32 flags; +}; + +struct hab_open { + __s32 vcid; + __u32 mmid; + __u32 timeout; + __u32 flags; +}; + +struct hab_close { + __s32 vcid; + __u32 flags; +}; + +struct hab_export { + __u64 buffer; + __s32 vcid; + __u32 sizebytes; + __u32 exportid; + __u32 flags; +}; + +struct hab_import { + __u64 index; + __u64 kva; + __s32 vcid; + __u32 sizebytes; + __u32 exportid; + __u32 flags; +}; + +struct hab_unexport { + __s32 vcid; + __u32 exportid; + __u32 flags; +}; + + +struct hab_unimport { + __s32 vcid; + __u32 exportid; + __u64 kva; + __u32 flags; +}; + +struct hab_info { + __s32 vcid; + __u64 ids; /* high part remote; low part local */ + __u64 names; + __u32 namesize; /* single name length */ + __u32 flags; +}; + +#define HAB_IOC_TYPE 0x0A +#define HAB_MAX_MSG_SIZEBYTES 0x1000 + +#define IOCTL_HAB_SEND \ + _IOW(HAB_IOC_TYPE, 0x2, struct hab_send) + +#define IOCTL_HAB_RECV \ + _IOWR(HAB_IOC_TYPE, 0x3, struct hab_recv) + +#define IOCTL_HAB_VC_OPEN \ + _IOWR(HAB_IOC_TYPE, 0x4, struct hab_open) + +#define IOCTL_HAB_VC_CLOSE \ + _IOW(HAB_IOC_TYPE, 0x5, struct hab_close) + +#define IOCTL_HAB_VC_EXPORT \ + _IOWR(HAB_IOC_TYPE, 0x6, struct hab_export) + +#define IOCTL_HAB_VC_IMPORT \ + _IOWR(HAB_IOC_TYPE, 0x7, struct hab_import) + +#define IOCTL_HAB_VC_UNEXPORT \ + _IOW(HAB_IOC_TYPE, 0x8, struct hab_unexport) + +#define IOCTL_HAB_VC_UNIMPORT \ + _IOW(HAB_IOC_TYPE, 0x9, struct hab_unimport) + +#define IOCTL_HAB_VC_QUERY \ + _IOWR(HAB_IOC_TYPE, 0xA, struct hab_info) + +#endif /* _HAB_IOCTL_H */ diff --git a/include/uapi/linux/habmm.h b/include/uapi/linux/habmm.h deleted file mode 100644 index b1b6561f2552..000000000000 --- a/include/uapi/linux/habmm.h +++ /dev/null @@ -1,177 +0,0 @@ -#ifndef HABMM_H -#define HABMM_H - -#include <linux/types.h> - -struct hab_send { - __u64 data; - __s32 vcid; - __u32 sizebytes; - __u32 flags; -}; - -struct hab_recv { - __u64 data; - __s32 vcid; - __u32 sizebytes; - __u32 flags; -}; - -struct hab_open { - __s32 vcid; - __u32 mmid; - __u32 timeout; - __u32 flags; -}; - -struct hab_close { - __s32 vcid; - __u32 flags; -}; - -struct hab_export { - __u64 buffer; - __s32 vcid; - __u32 sizebytes; - __u32 exportid; - __u32 flags; -}; - -struct hab_import { - __u64 index; - __u64 kva; - __s32 vcid; - __u32 sizebytes; - __u32 exportid; - __u32 flags; -}; - -struct hab_unexport { - __s32 vcid; - __u32 exportid; - __u32 flags; -}; - -struct hab_unimport { - __s32 vcid; - __u32 exportid; - __u64 kva; - __u32 flags; -}; - -struct hab_info { - __s32 vcid; - __u64 ids; /* high part remote; low part local */ - __u64 names; - __u32 namesize; /* single name length */ - __u32 flags; -}; - -#define HAB_IOC_TYPE 0x0A -#define HAB_MAX_MSG_SIZEBYTES 0x1000 -#define HAB_MAX_EXPORT_SIZE 0x8000000 - -#define HAB_MMID_CREATE(major, minor) ((major&0xFFFF) | ((minor&0xFF)<<16)) - -#define MM_AUD_START 100 -#define MM_AUD_1 101 -#define MM_AUD_2 102 -#define MM_AUD_3 103 -#define MM_AUD_4 104 -#define MM_AUD_END 105 - -#define MM_CAM_START 200 -#define MM_CAM_1 201 -#define MM_CAM_2 202 -#define MM_CAM_END 203 - -#define MM_DISP_START 300 -#define MM_DISP_1 301 -#define MM_DISP_2 302 -#define MM_DISP_3 303 -#define MM_DISP_4 304 -#define MM_DISP_5 305 -#define MM_DISP_END 306 - -#define MM_GFX_START 400 -#define MM_GFX 401 -#define MM_GFX_END 402 - -#define MM_VID_START 500 -#define MM_VID 501 -#define MM_VID_END 502 - -#define MM_MISC_START 600 -#define MM_MISC 601 -#define MM_MISC_END 602 - -#define MM_QCPE_START 700 -#define MM_QCPE_VM1 701 -#define MM_QCPE_VM2 702 -#define MM_QCPE_VM3 703 -#define MM_QCPE_VM4 704 -#define MM_QCPE_END 705 - -#define MM_CLK_START 800 -#define MM_CLK_VM1 801 -#define MM_CLK_VM2 802 -#define MM_CLK_END 803 - -#define MM_FDE_START 900 -#define MM_FDE_1 901 -#define MM_FDE_END 902 - -#define MM_BUFFERQ_START 1000 -#define MM_BUFFERQ_1 1001 -#define MM_BUFFERQ_END 1002 - -#define MM_ID_MAX 1003 - -#define HABMM_SOCKET_OPEN_FLAGS_SINGLE_BE_SINGLE_FE 0x00000000 -#define HABMM_SOCKET_OPEN_FLAGS_SINGLE_BE_SINGLE_DOMU 0x00000001 -#define HABMM_SOCKET_OPEN_FLAGS_SINGLE_BE_MULTI_DOMUS 0x00000002 - -#define HABMM_SOCKET_SEND_FLAGS_NON_BLOCKING 0x00000001 - -/* - * Collect cross-VM stats: client provides stat-buffer large enough to allow 2 - * ets of a 2-uint64_t pair to collect seconds and nano-seconds at the - * beginning of the stat-buffer. Stats are collected when the stat-buffer leaves - * VM1, then enters VM2 - */ -#define HABMM_SOCKET_SEND_FLAGS_XING_VM_STAT 0x00000002 - -#define HABMM_SOCKET_RECV_FLAGS_NON_BLOCKING 0x00000001 - -#define HABMM_EXP_MEM_TYPE_DMA 0x00000001 - -#define HABMM_IMPORT_FLAGS_CACHED 0x00000001 - -#define IOCTL_HAB_SEND \ - _IOW(HAB_IOC_TYPE, 0x2, struct hab_send) - -#define IOCTL_HAB_RECV \ - _IOWR(HAB_IOC_TYPE, 0x3, struct hab_recv) - -#define IOCTL_HAB_VC_OPEN \ - _IOWR(HAB_IOC_TYPE, 0x4, struct hab_open) - -#define IOCTL_HAB_VC_CLOSE \ - _IOW(HAB_IOC_TYPE, 0x5, struct hab_close) - -#define IOCTL_HAB_VC_EXPORT \ - _IOWR(HAB_IOC_TYPE, 0x6, struct hab_export) - -#define IOCTL_HAB_VC_IMPORT \ - _IOWR(HAB_IOC_TYPE, 0x7, struct hab_import) - -#define IOCTL_HAB_VC_UNEXPORT \ - _IOW(HAB_IOC_TYPE, 0x8, struct hab_unexport) - -#define IOCTL_HAB_VC_UNIMPORT \ - _IOW(HAB_IOC_TYPE, 0x9, struct hab_unimport) - -#define IOCTL_HAB_VC_QUERY \ - _IOWR(HAB_IOC_TYPE, 0xA, struct hab_info) - -#endif /* HABMM_H */ diff --git a/include/uapi/linux/habmmid.h b/include/uapi/linux/habmmid.h new file mode 100644 index 000000000000..4f79506dd971 --- /dev/null +++ b/include/uapi/linux/habmmid.h @@ -0,0 +1,60 @@ +#ifndef HABMMID_H +#define HABMMID_H + +#define HAB_MMID_CREATE(major, minor) ((major&0xFFFF) | ((minor&0xFF)<<16)) + +#define MM_AUD_START 100 +#define MM_AUD_1 101 +#define MM_AUD_2 102 +#define MM_AUD_3 103 +#define MM_AUD_4 104 +#define MM_AUD_END 105 + +#define MM_CAM_START 200 +#define MM_CAM_1 201 +#define MM_CAM_2 202 +#define MM_CAM_END 203 + +#define MM_DISP_START 300 +#define MM_DISP_1 301 +#define MM_DISP_2 302 +#define MM_DISP_3 303 +#define MM_DISP_4 304 +#define MM_DISP_5 305 +#define MM_DISP_END 306 + +#define MM_GFX_START 400 +#define MM_GFX 401 +#define MM_GFX_END 402 + +#define MM_VID_START 500 +#define MM_VID 501 +#define MM_VID_END 502 + +#define MM_MISC_START 600 +#define MM_MISC 601 +#define MM_MISC_END 602 + +#define MM_QCPE_START 700 +#define MM_QCPE_VM1 701 +#define MM_QCPE_VM2 702 +#define MM_QCPE_VM3 703 +#define MM_QCPE_VM4 704 +#define MM_QCPE_END 705 + +#define MM_CLK_START 800 +#define MM_CLK_VM1 801 +#define MM_CLK_VM2 802 +#define MM_CLK_END 803 + +#define MM_FDE_START 900 +#define MM_FDE_1 901 +#define MM_FDE_END 902 + +#define MM_BUFFERQ_START 1000 +#define MM_BUFFERQ_1 1001 +#define MM_BUFFERQ_END 1002 + +#define MM_ID_MAX 1003 + +#endif /* HABMMID_H */ |
