Line 105: |
Line 105: |
| Webkit applet creates the shared memory with perm = 0 and size 0x300000. | | Webkit applet creates the shared memory with perm = 0 and size 0x300000. |
| | | |
− | == Ioctls ==
| + | = Ioctls = |
| The ioctl number is generated with the following primitive (see Linux kernel): | | The ioctl number is generated with the following primitive (see Linux kernel): |
| | | |
Line 113: |
Line 113: |
| The following table contains known ioctls. | | The following table contains known ioctls. |
| | | |
| + | == /dev/nvhost-ctrl == |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
− | ! Device || Value || Description || Notes | + | ! Value || Description || Notes |
| |- | | |- |
− | | /dev/nvhost-* || 0xC0??0001 || NVHOST_IOCTL_CHANNEL_SUBMIT || ?? == size is variable | + | | 0xC0080014 || NVHOST_IOCTL_CTRL_SYNCPT_READ || |
| |- | | |- |
− | | /dev/nvhost-* || 0xC0080002 || NVHOST_IOCTL_CHANNEL_GET_SYNCPOINT || | + | | 0x40040015 || NVHOST_IOCTL_CTRL_SYNCPT_INCR || |
| |- | | |- |
− | | /dev/nvhost-* || 0xC0080003 || NVHOST_IOCTL_CHANNEL_GET_WAITBASE || | + | | 0xC00C0016 || NVHOST_IOCTL_CTRL_SYNCPT_WAIT || |
| |- | | |- |
− | | /dev/nvhost-* || 0xC0080004 || NVHOST_IOCTL_CHANNEL_SET_TIMEOUT_EX || | + | | 0x40080017 || NVHOST_IOCTL_CTRL_MODULE_MUTEX || |
| |- | | |- |
− | | /dev/nvhost-* || 0x40040007 || || | + | | 0xC0180018 || NVHOST32_IOCTL_CTRL_MODULE_REGRDWR || |
| |- | | |- |
− | | /dev/nvhost-* || 0xC0??0009 || NVHOST_IOCTL_CHANNEL_MAP_BUFFER || ?? == size is variable | + | | 0xC0100019 || NVHOST_IOCTL_CTRL_SYNCPT_WAITEX || |
| |- | | |- |
− | | /dev/nvhost-* || 0xC0??000A || NVHOST_IOCTL_CHANNEL_UNMAP_BUFFER || ?? == size is variable | + | | 0xC008001A || NVHOST_IOCTL_CTRL_SYNCPT_READ_MAX || |
| |- | | |- |
− | | /dev/nvhost-* || 0x00000013 || || | + | | 0xC004001C || || |
| |- | | |- |
− | | /dev/nvhost-ctrl || 0xC0080014 || NVHOST_IOCTL_CTRL_SYNCPT_READ || | + | | 0xC010001D || || NvRmSyncWaitEvent (wait on event?) |
| |- | | |- |
− | | /dev/nvhost-ctrl || 0x40040015 || NVHOST_IOCTL_CTRL_SYNCPT_INCR || | + | | 0xC010001E || || NvRmSyncWaitEvent (wait on event?) |
| |- | | |- |
− | | /dev/nvhost-ctrl || 0xC00C0016 || NVHOST_IOCTL_CTRL_SYNCPT_WAIT || | + | | 0xC004001F || || NvRmSyncWaitEvent (signal event?) |
| |- | | |- |
− | | /dev/nvhost-ctrl || 0x40080017 || NVHOST_IOCTL_CTRL_MODULE_MUTEX || | + | | 0xC0040020 || || NvRmSyncWaitEvent (signal event?) |
| |- | | |- |
− | | /dev/nvhost-ctrl || 0xC0180018 || NVHOST32_IOCTL_CTRL_MODULE_REGRDWR || | + | | 0x40080021 || cancel_wait_event || Cancels all events |
| + | |} |
| + | |
| + | == /dev/nvmap == |
| + | {| class="wikitable" border="1" |
| + | ! Value || Description || Notes |
| |- | | |- |
− | | /dev/nvhost-ctrl || 0xC0100019 || NVHOST_IOCTL_CTRL_SYNCPT_WAITEX || | + | | 0xC0080101 || NVMAP_IOC_CREATE || |
| |- | | |- |
− | | /dev/nvhost-ctrl || 0xC008001A || NVHOST_IOCTL_CTRL_SYNCPT_READ_MAX || | + | | 0x00000102 || NVMAP_IOC_CLAIM || Returns NotSupported |
| |- | | |- |
− | | /dev/nvhost-ctrl || 0xC004001C || || | + | | 0xC0080103 || NVMAP_IOC_FROM_ID || |
| |- | | |- |
− | | /dev/nvhost-ctrl || 0xC010001D || || NvRmSyncWaitEvent (wait on event?) | + | | 0xC0200104 || NVMAP_IOC_ALLOC || |
| |- | | |- |
− | | /dev/nvhost-ctrl || 0xC010001E || || NvRmSyncWaitEvent (wait on event?) | + | | 0xC0180105 || NVMAP_IOC_FREE || |
| |- | | |- |
− | | /dev/nvhost-ctrl || 0xC004001F || || NvRmSyncWaitEvent (signal event?) | + | | 0xC0280106 || NVMAP_IOC_MMAP || Returns NotSupported |
| |- | | |- |
− | | /dev/nvhost-ctrl || 0xC0040020 || || NvRmSyncWaitEvent (signal event?) | + | | 0xC0280107 || NVMAP_IOC_WRITE || Returns NotSupported |
| |- | | |- |
− | | /dev/nvhost-ctrl || 0x40080021 || cancel_wait_event || Cancels all events | + | | 0xC0280108 || NVMAP_IOC_READ || Returns NotSupported |
| |- | | |- |
− | | /dev/nvmap || 0xC0080101 || NVMAP_IOC_CREATE || | + | | 0xC00C0109 || NVMAP_IOC_PARAM || |
| |- | | |- |
− | | /dev/nvmap || 0x00000102 || || Returns NVERROR 0x02 (not supported) | + | | 0xC010010A || NVMAP_IOC_PIN_MULT || Returns NotSupported |
| |- | | |- |
− | | /dev/nvmap || 0xC0080103 || NVMAP_IOC_FROM_ID || | + | | 0xC010010B || NVMAP_IOC_UNPIN_MULT || Returns NotSupported |
| |- | | |- |
− | | /dev/nvmap || 0xC0200104 || NVMAP_IOC_ALLOC || | + | | 0xC008010C || NVMAP_IOC_CACHE || Returns NotSupported |
| |- | | |- |
− | | /dev/nvmap || 0xC0180105 || NVMAP_IOC_FREE || | + | | 0xC004010D || || Returns NotSupported |
| |- | | |- |
− | | /dev/nvmap || 0xC0280106 || NVMAP_IOC_MMAP? || Returns NVERROR 0x02 (not supported) | + | | 0xC008010E || NVMAP_IOC_GET_ID || |
| |- | | |- |
− | | /dev/nvmap || 0xC0280107 || NVMAP_IOC_WRITE? || Returns NVERROR 0x02 (not supported) | + | | 0xC004010F || || Returns NotSupported |
| |- | | |- |
− | | /dev/nvmap || 0xC0280108 || NVMAP_IOC_READ? || Returns NVERROR 0x02 (not supported) | + | | 0x40040110 || || Returns NotSupported |
| |- | | |- |
− | | /dev/nvmap || 0xC00C0109 || NVMAP_IOC_PARAM || | + | | 0x00000111 || || Returns NotSupported |
| + | |} |
| + | |
| + | == Rest == |
| + | {| class="wikitable" border="1" |
| + | ! Device || Value || Description || Notes |
| |- | | |- |
− | | /dev/nvmap || 0xC010010A || NVMAP_IOC_PIN_MULT? || Returns NVERROR 0x02 (not supported) | + | | /dev/nvhost-* || 0xC0??0001 || NVHOST_IOCTL_CHANNEL_SUBMIT || ?? == size is variable |
| |- | | |- |
− | | /dev/nvmap || 0xC010010B || NVMAP_IOC_UNPIN_MULT? || Returns NVERROR 0x02 (not supported) | + | | /dev/nvhost-* || 0xC0080002 || NVHOST_IOCTL_CHANNEL_GET_SYNCPOINT || |
| |- | | |- |
− | | /dev/nvmap || 0xC008010C || NVMAP_IOC_CACHE? || Returns NVERROR 0x02 (not supported) | + | | /dev/nvhost-* || 0xC0080003 || NVHOST_IOCTL_CHANNEL_GET_WAITBASE || |
| |- | | |- |
− | | /dev/nvmap || 0xC004010D || || Returns NVERROR 0x02 (not supported) | + | | /dev/nvhost-* || 0xC0080004 || NVHOST_IOCTL_CHANNEL_SET_TIMEOUT_EX || |
| |- | | |- |
− | | /dev/nvmap || 0xC008010E || NVMAP_IOC_GET_ID || | + | | /dev/nvhost-* || 0x40040007 || || |
| |- | | |- |
− | | /dev/nvmap || 0xC004010F || || Returns NVERROR 0x02 (not supported) | + | | /dev/nvhost-* || 0xC0??0009 || NVHOST_IOCTL_CHANNEL_MAP_BUFFER || ?? == size is variable |
| |- | | |- |
− | | /dev/nvmap || 0x40040110 || || Returns NVERROR 0x02 (not supported) | + | | /dev/nvhost-* || 0xC0??000A || NVHOST_IOCTL_CHANNEL_UNMAP_BUFFER || ?? == size is variable |
| |- | | |- |
− | | /dev/nvmap || 0x00000111 || || Returns NVERROR 0x02 (not supported) | + | | /dev/nvhost-* || 0x00000013 || || |
| |- | | |- |
| | /dev/nvhost-as-gpu || 0x40044101 || NVGPU_AS_IOCTL_BIND_CHANNEL || | | | /dev/nvhost-as-gpu || 0x40044101 || NVGPU_AS_IOCTL_BIND_CHANNEL || |