diff options
| author | Daniel Vetter <daniel.vetter@ffwll.ch> | 2014-03-18 04:43:56 -0400 |
|---|---|---|
| committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2014-03-18 04:43:56 -0400 |
| commit | e19b9137142988bec5a76c5f8bdf12a77ea802b0 (patch) | |
| tree | b36c83fa93da7f18c1331252fb82a87431697443 /include/uapi | |
| parent | 2fae6a860ca9adb0c881f6dcd633df775c2520e9 (diff) | |
| parent | e40d641099213145a034981e646dc2180a488152 (diff) | |
Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next
Conflicts:
drivers/gpu/drm/i915/Makefile
Makefile cleanup in drm-intel-next conflicts with a build-fix to move
intel_opregion under CONFIG_ACPI.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'include/uapi')
71 files changed, 2059 insertions, 148 deletions
diff --git a/include/uapi/asm-generic/ipcbuf.h b/include/uapi/asm-generic/ipcbuf.h index 76982b2a1b58..3dbcc1e771c0 100644 --- a/include/uapi/asm-generic/ipcbuf.h +++ b/include/uapi/asm-generic/ipcbuf.h | |||
| @@ -27,8 +27,8 @@ struct ipc64_perm { | |||
| 27 | unsigned char __pad1[4 - sizeof(__kernel_mode_t)]; | 27 | unsigned char __pad1[4 - sizeof(__kernel_mode_t)]; |
| 28 | unsigned short seq; | 28 | unsigned short seq; |
| 29 | unsigned short __pad2; | 29 | unsigned short __pad2; |
| 30 | unsigned long __unused1; | 30 | __kernel_ulong_t __unused1; |
| 31 | unsigned long __unused2; | 31 | __kernel_ulong_t __unused2; |
| 32 | }; | 32 | }; |
| 33 | 33 | ||
| 34 | #endif /* __ASM_GENERIC_IPCBUF_H */ | 34 | #endif /* __ASM_GENERIC_IPCBUF_H */ |
diff --git a/include/uapi/asm-generic/msgbuf.h b/include/uapi/asm-generic/msgbuf.h index aec850d9159e..f55ecc43c60f 100644 --- a/include/uapi/asm-generic/msgbuf.h +++ b/include/uapi/asm-generic/msgbuf.h | |||
| @@ -35,13 +35,13 @@ struct msqid64_ds { | |||
| 35 | #if __BITS_PER_LONG != 64 | 35 | #if __BITS_PER_LONG != 64 |
| 36 | unsigned long __unused3; | 36 | unsigned long __unused3; |
| 37 | #endif | 37 | #endif |
| 38 | unsigned long msg_cbytes; /* current number of bytes on queue */ | 38 | __kernel_ulong_t msg_cbytes; /* current number of bytes on queue */ |
| 39 | unsigned long msg_qnum; /* number of messages in queue */ | 39 | __kernel_ulong_t msg_qnum; /* number of messages in queue */ |
| 40 | unsigned long msg_qbytes; /* max number of bytes on queue */ | 40 | __kernel_ulong_t msg_qbytes; /* max number of bytes on queue */ |
| 41 | __kernel_pid_t msg_lspid; /* pid of last msgsnd */ | 41 | __kernel_pid_t msg_lspid; /* pid of last msgsnd */ |
| 42 | __kernel_pid_t msg_lrpid; /* last receive pid */ | 42 | __kernel_pid_t msg_lrpid; /* last receive pid */ |
| 43 | unsigned long __unused4; | 43 | __kernel_ulong_t __unused4; |
| 44 | unsigned long __unused5; | 44 | __kernel_ulong_t __unused5; |
| 45 | }; | 45 | }; |
| 46 | 46 | ||
| 47 | #endif /* __ASM_GENERIC_MSGBUF_H */ | 47 | #endif /* __ASM_GENERIC_MSGBUF_H */ |
diff --git a/include/uapi/asm-generic/shmbuf.h b/include/uapi/asm-generic/shmbuf.h index 5768fa60ac82..7e9fb2f0853b 100644 --- a/include/uapi/asm-generic/shmbuf.h +++ b/include/uapi/asm-generic/shmbuf.h | |||
| @@ -39,21 +39,21 @@ struct shmid64_ds { | |||
| 39 | #endif | 39 | #endif |
| 40 | __kernel_pid_t shm_cpid; /* pid of creator */ | 40 | __kernel_pid_t shm_cpid; /* pid of creator */ |
| 41 | __kernel_pid_t shm_lpid; /* pid of last operator */ | 41 | __kernel_pid_t shm_lpid; /* pid of last operator */ |
| 42 | unsigned long shm_nattch; /* no. of current attaches */ | 42 | __kernel_ulong_t shm_nattch; /* no. of current attaches */ |
| 43 | unsigned long __unused4; | 43 | __kernel_ulong_t __unused4; |
| 44 | unsigned long __unused5; | 44 | __kernel_ulong_t __unused5; |
| 45 | }; | 45 | }; |
| 46 | 46 | ||
| 47 | struct shminfo64 { | 47 | struct shminfo64 { |
| 48 | unsigned long shmmax; | 48 | __kernel_ulong_t shmmax; |
| 49 | unsigned long shmmin; | 49 | __kernel_ulong_t shmmin; |
| 50 | unsigned long shmmni; | 50 | __kernel_ulong_t shmmni; |
| 51 | unsigned long shmseg; | 51 | __kernel_ulong_t shmseg; |
| 52 | unsigned long shmall; | 52 | __kernel_ulong_t shmall; |
| 53 | unsigned long __unused1; | 53 | __kernel_ulong_t __unused1; |
| 54 | unsigned long __unused2; | 54 | __kernel_ulong_t __unused2; |
| 55 | unsigned long __unused3; | 55 | __kernel_ulong_t __unused3; |
| 56 | unsigned long __unused4; | 56 | __kernel_ulong_t __unused4; |
| 57 | }; | 57 | }; |
| 58 | 58 | ||
| 59 | #endif /* __ASM_GENERIC_SHMBUF_H */ | 59 | #endif /* __ASM_GENERIC_SHMBUF_H */ |
diff --git a/include/uapi/asm-generic/socket.h b/include/uapi/asm-generic/socket.h index 38f14d0264c3..ea0796bdcf88 100644 --- a/include/uapi/asm-generic/socket.h +++ b/include/uapi/asm-generic/socket.h | |||
| @@ -80,4 +80,6 @@ | |||
| 80 | 80 | ||
| 81 | #define SO_MAX_PACING_RATE 47 | 81 | #define SO_MAX_PACING_RATE 47 |
| 82 | 82 | ||
| 83 | #define SO_BPF_EXTENSIONS 48 | ||
| 84 | |||
| 83 | #endif /* __ASM_GENERIC_SOCKET_H */ | 85 | #endif /* __ASM_GENERIC_SOCKET_H */ |
diff --git a/include/uapi/asm-generic/statfs.h b/include/uapi/asm-generic/statfs.h index 0999647fca13..cb89cc730f0b 100644 --- a/include/uapi/asm-generic/statfs.h +++ b/include/uapi/asm-generic/statfs.h | |||
| @@ -13,7 +13,7 @@ | |||
| 13 | */ | 13 | */ |
| 14 | #ifndef __statfs_word | 14 | #ifndef __statfs_word |
| 15 | #if __BITS_PER_LONG == 64 | 15 | #if __BITS_PER_LONG == 64 |
| 16 | #define __statfs_word long | 16 | #define __statfs_word __kernel_long_t |
| 17 | #else | 17 | #else |
| 18 | #define __statfs_word __u32 | 18 | #define __statfs_word __u32 |
| 19 | #endif | 19 | #endif |
diff --git a/include/uapi/asm-generic/types.h b/include/uapi/asm-generic/types.h index bd39806013b5..a3877926b0d4 100644 --- a/include/uapi/asm-generic/types.h +++ b/include/uapi/asm-generic/types.h | |||
| @@ -1,8 +1,7 @@ | |||
| 1 | #ifndef _ASM_GENERIC_TYPES_H | 1 | #ifndef _ASM_GENERIC_TYPES_H |
| 2 | #define _ASM_GENERIC_TYPES_H | 2 | #define _ASM_GENERIC_TYPES_H |
| 3 | /* | 3 | /* |
| 4 | * int-ll64 is used practically everywhere now, | 4 | * int-ll64 is used everywhere now. |
| 5 | * so use it as a reasonable default. | ||
| 6 | */ | 5 | */ |
| 7 | #include <asm-generic/int-ll64.h> | 6 | #include <asm-generic/int-ll64.h> |
| 8 | 7 | ||
diff --git a/include/uapi/drm/drm.h b/include/uapi/drm/drm.h index 3c9a833992e8..b06c8ed68707 100644 --- a/include/uapi/drm/drm.h +++ b/include/uapi/drm/drm.h | |||
| @@ -619,6 +619,8 @@ struct drm_gem_open { | |||
| 619 | #define DRM_PRIME_CAP_EXPORT 0x2 | 619 | #define DRM_PRIME_CAP_EXPORT 0x2 |
| 620 | #define DRM_CAP_TIMESTAMP_MONOTONIC 0x6 | 620 | #define DRM_CAP_TIMESTAMP_MONOTONIC 0x6 |
| 621 | #define DRM_CAP_ASYNC_PAGE_FLIP 0x7 | 621 | #define DRM_CAP_ASYNC_PAGE_FLIP 0x7 |
| 622 | #define DRM_CAP_CURSOR_WIDTH 0x8 | ||
| 623 | #define DRM_CAP_CURSOR_HEIGHT 0x9 | ||
| 622 | 624 | ||
| 623 | /** DRM_IOCTL_GET_CAP ioctl argument type */ | 625 | /** DRM_IOCTL_GET_CAP ioctl argument type */ |
| 624 | struct drm_get_cap { | 626 | struct drm_get_cap { |
diff --git a/include/uapi/drm/radeon_drm.h b/include/uapi/drm/radeon_drm.h index d9ea3a73afe2..aefa2f6afa3b 100644 --- a/include/uapi/drm/radeon_drm.h +++ b/include/uapi/drm/radeon_drm.h | |||
| @@ -510,6 +510,7 @@ typedef struct { | |||
| 510 | #define DRM_RADEON_GEM_GET_TILING 0x29 | 510 | #define DRM_RADEON_GEM_GET_TILING 0x29 |
| 511 | #define DRM_RADEON_GEM_BUSY 0x2a | 511 | #define DRM_RADEON_GEM_BUSY 0x2a |
| 512 | #define DRM_RADEON_GEM_VA 0x2b | 512 | #define DRM_RADEON_GEM_VA 0x2b |
| 513 | #define DRM_RADEON_GEM_OP 0x2c | ||
| 513 | 514 | ||
| 514 | #define DRM_IOCTL_RADEON_CP_INIT DRM_IOW( DRM_COMMAND_BASE + DRM_RADEON_CP_INIT, drm_radeon_init_t) | 515 | #define DRM_IOCTL_RADEON_CP_INIT DRM_IOW( DRM_COMMAND_BASE + DRM_RADEON_CP_INIT, drm_radeon_init_t) |
| 515 | #define DRM_IOCTL_RADEON_CP_START DRM_IO( DRM_COMMAND_BASE + DRM_RADEON_CP_START) | 516 | #define DRM_IOCTL_RADEON_CP_START DRM_IO( DRM_COMMAND_BASE + DRM_RADEON_CP_START) |
| @@ -552,6 +553,7 @@ typedef struct { | |||
| 552 | #define DRM_IOCTL_RADEON_GEM_GET_TILING DRM_IOWR(DRM_COMMAND_BASE + DRM_RADEON_GEM_GET_TILING, struct drm_radeon_gem_get_tiling) | 553 | #define DRM_IOCTL_RADEON_GEM_GET_TILING DRM_IOWR(DRM_COMMAND_BASE + DRM_RADEON_GEM_GET_TILING, struct drm_radeon_gem_get_tiling) |
| 553 | #define DRM_IOCTL_RADEON_GEM_BUSY DRM_IOWR(DRM_COMMAND_BASE + DRM_RADEON_GEM_BUSY, struct drm_radeon_gem_busy) | 554 | #define DRM_IOCTL_RADEON_GEM_BUSY DRM_IOWR(DRM_COMMAND_BASE + DRM_RADEON_GEM_BUSY, struct drm_radeon_gem_busy) |
| 554 | #define DRM_IOCTL_RADEON_GEM_VA DRM_IOWR(DRM_COMMAND_BASE + DRM_RADEON_GEM_VA, struct drm_radeon_gem_va) | 555 | #define DRM_IOCTL_RADEON_GEM_VA DRM_IOWR(DRM_COMMAND_BASE + DRM_RADEON_GEM_VA, struct drm_radeon_gem_va) |
| 556 | #define DRM_IOCTL_RADEON_GEM_OP DRM_IOWR(DRM_COMMAND_BASE + DRM_RADEON_GEM_OP, struct drm_radeon_gem_op) | ||
| 555 | 557 | ||
| 556 | typedef struct drm_radeon_init { | 558 | typedef struct drm_radeon_init { |
| 557 | enum { | 559 | enum { |
| @@ -884,6 +886,16 @@ struct drm_radeon_gem_pwrite { | |||
| 884 | uint64_t data_ptr; | 886 | uint64_t data_ptr; |
| 885 | }; | 887 | }; |
| 886 | 888 | ||
| 889 | /* Sets or returns a value associated with a buffer. */ | ||
| 890 | struct drm_radeon_gem_op { | ||
| 891 | uint32_t handle; /* buffer */ | ||
| 892 | uint32_t op; /* RADEON_GEM_OP_* */ | ||
| 893 | uint64_t value; /* input or return value */ | ||
| 894 | }; | ||
| 895 | |||
| 896 | #define RADEON_GEM_OP_GET_INITIAL_DOMAIN 0 | ||
| 897 | #define RADEON_GEM_OP_SET_INITIAL_DOMAIN 1 | ||
| 898 | |||
| 887 | #define RADEON_VA_MAP 1 | 899 | #define RADEON_VA_MAP 1 |
| 888 | #define RADEON_VA_UNMAP 2 | 900 | #define RADEON_VA_UNMAP 2 |
| 889 | 901 | ||
| @@ -919,6 +931,7 @@ struct drm_radeon_gem_va { | |||
| 919 | #define RADEON_CS_RING_COMPUTE 1 | 931 | #define RADEON_CS_RING_COMPUTE 1 |
| 920 | #define RADEON_CS_RING_DMA 2 | 932 | #define RADEON_CS_RING_DMA 2 |
| 921 | #define RADEON_CS_RING_UVD 3 | 933 | #define RADEON_CS_RING_UVD 3 |
| 934 | #define RADEON_CS_RING_VCE 4 | ||
| 922 | /* The third dword of RADEON_CHUNK_ID_FLAGS is a sint32 that sets the priority */ | 935 | /* The third dword of RADEON_CHUNK_ID_FLAGS is a sint32 that sets the priority */ |
| 923 | /* 0 = normal, + = higher priority, - = lower priority */ | 936 | /* 0 = normal, + = higher priority, - = lower priority */ |
| 924 | 937 | ||
| @@ -987,6 +1000,13 @@ struct drm_radeon_cs { | |||
| 987 | #define RADEON_INFO_SI_BACKEND_ENABLED_MASK 0x19 | 1000 | #define RADEON_INFO_SI_BACKEND_ENABLED_MASK 0x19 |
| 988 | /* max engine clock - needed for OpenCL */ | 1001 | /* max engine clock - needed for OpenCL */ |
| 989 | #define RADEON_INFO_MAX_SCLK 0x1a | 1002 | #define RADEON_INFO_MAX_SCLK 0x1a |
| 1003 | /* version of VCE firmware */ | ||
| 1004 | #define RADEON_INFO_VCE_FW_VERSION 0x1b | ||
| 1005 | /* version of VCE feedback */ | ||
| 1006 | #define RADEON_INFO_VCE_FB_VERSION 0x1c | ||
| 1007 | #define RADEON_INFO_NUM_BYTES_MOVED 0x1d | ||
| 1008 | #define RADEON_INFO_VRAM_USAGE 0x1e | ||
| 1009 | #define RADEON_INFO_GTT_USAGE 0x1f | ||
| 990 | 1010 | ||
| 991 | 1011 | ||
| 992 | struct drm_radeon_info { | 1012 | struct drm_radeon_info { |
diff --git a/include/uapi/drm/vmwgfx_drm.h b/include/uapi/drm/vmwgfx_drm.h index 9971c560ed9a..87792a5fee3b 100644 --- a/include/uapi/drm/vmwgfx_drm.h +++ b/include/uapi/drm/vmwgfx_drm.h | |||
| @@ -87,6 +87,7 @@ | |||
| 87 | #define DRM_VMW_PARAM_MAX_SURF_MEMORY 7 | 87 | #define DRM_VMW_PARAM_MAX_SURF_MEMORY 7 |
| 88 | #define DRM_VMW_PARAM_3D_CAPS_SIZE 8 | 88 | #define DRM_VMW_PARAM_3D_CAPS_SIZE 8 |
| 89 | #define DRM_VMW_PARAM_MAX_MOB_MEMORY 9 | 89 | #define DRM_VMW_PARAM_MAX_MOB_MEMORY 9 |
| 90 | #define DRM_VMW_PARAM_MAX_MOB_SIZE 10 | ||
| 90 | 91 | ||
| 91 | /** | 92 | /** |
| 92 | * struct drm_vmw_getparam_arg | 93 | * struct drm_vmw_getparam_arg |
diff --git a/include/uapi/linux/Kbuild b/include/uapi/linux/Kbuild index 33d2b8fe166d..3ce25b5d75a9 100644 --- a/include/uapi/linux/Kbuild +++ b/include/uapi/linux/Kbuild | |||
| @@ -426,3 +426,5 @@ header-y += x25.h | |||
| 426 | header-y += xattr.h | 426 | header-y += xattr.h |
| 427 | header-y += xfrm.h | 427 | header-y += xfrm.h |
| 428 | header-y += hw_breakpoint.h | 428 | header-y += hw_breakpoint.h |
| 429 | header-y += zorro.h | ||
| 430 | header-y += zorro_ids.h | ||
diff --git a/include/uapi/linux/apm_bios.h b/include/uapi/linux/apm_bios.h index 724f409adae0..df79bca1b898 100644 --- a/include/uapi/linux/apm_bios.h +++ b/include/uapi/linux/apm_bios.h | |||
| @@ -67,6 +67,8 @@ struct apm_bios_info { | |||
| 67 | #define APM_USER_SUSPEND 0x000a | 67 | #define APM_USER_SUSPEND 0x000a |
| 68 | #define APM_STANDBY_RESUME 0x000b | 68 | #define APM_STANDBY_RESUME 0x000b |
| 69 | #define APM_CAPABILITY_CHANGE 0x000c | 69 | #define APM_CAPABILITY_CHANGE 0x000c |
| 70 | #define APM_USER_HIBERNATION 0x000d | ||
| 71 | #define APM_HIBERNATION_RESUME 0x000e | ||
| 70 | 72 | ||
| 71 | /* | 73 | /* |
| 72 | * Error codes | 74 | * Error codes |
diff --git a/include/uapi/linux/audit.h b/include/uapi/linux/audit.h index 44b05a09f193..2d48fe1274ca 100644 --- a/include/uapi/linux/audit.h +++ b/include/uapi/linux/audit.h | |||
| @@ -319,6 +319,12 @@ enum { | |||
| 319 | #define AUDIT_STATUS_PID 0x0004 | 319 | #define AUDIT_STATUS_PID 0x0004 |
| 320 | #define AUDIT_STATUS_RATE_LIMIT 0x0008 | 320 | #define AUDIT_STATUS_RATE_LIMIT 0x0008 |
| 321 | #define AUDIT_STATUS_BACKLOG_LIMIT 0x0010 | 321 | #define AUDIT_STATUS_BACKLOG_LIMIT 0x0010 |
| 322 | #define AUDIT_STATUS_BACKLOG_WAIT_TIME 0x0020 | ||
| 323 | |||
| 324 | #define AUDIT_VERSION_BACKLOG_LIMIT 1 | ||
| 325 | #define AUDIT_VERSION_BACKLOG_WAIT_TIME 2 | ||
| 326 | #define AUDIT_VERSION_LATEST AUDIT_VERSION_BACKLOG_WAIT_TIME | ||
| 327 | |||
| 322 | /* Failure-to-log actions */ | 328 | /* Failure-to-log actions */ |
| 323 | #define AUDIT_FAIL_SILENT 0 | 329 | #define AUDIT_FAIL_SILENT 0 |
| 324 | #define AUDIT_FAIL_PRINTK 1 | 330 | #define AUDIT_FAIL_PRINTK 1 |
| @@ -375,6 +381,8 @@ struct audit_status { | |||
| 375 | __u32 backlog_limit; /* waiting messages limit */ | 381 | __u32 backlog_limit; /* waiting messages limit */ |
| 376 | __u32 lost; /* messages lost */ | 382 | __u32 lost; /* messages lost */ |
| 377 | __u32 backlog; /* messages waiting in queue */ | 383 | __u32 backlog; /* messages waiting in queue */ |
| 384 | __u32 version; /* audit api version number */ | ||
| 385 | __u32 backlog_wait_time;/* message queue wait timeout */ | ||
| 378 | }; | 386 | }; |
| 379 | 387 | ||
| 380 | struct audit_features { | 388 | struct audit_features { |
diff --git a/include/uapi/linux/bcache.h b/include/uapi/linux/bcache.h index 164a7e263988..22b6ad31c706 100644 --- a/include/uapi/linux/bcache.h +++ b/include/uapi/linux/bcache.h | |||
| @@ -39,6 +39,7 @@ static inline void SET_##name(struct bkey *k, unsigned i, __u64 v) \ | |||
| 39 | } | 39 | } |
| 40 | 40 | ||
| 41 | #define KEY_SIZE_BITS 16 | 41 | #define KEY_SIZE_BITS 16 |
| 42 | #define KEY_MAX_U64S 8 | ||
| 42 | 43 | ||
| 43 | KEY_FIELD(KEY_PTRS, high, 60, 3) | 44 | KEY_FIELD(KEY_PTRS, high, 60, 3) |
| 44 | KEY_FIELD(HEADER_SIZE, high, 58, 2) | 45 | KEY_FIELD(HEADER_SIZE, high, 58, 2) |
| @@ -118,7 +119,7 @@ static inline struct bkey *bkey_next(const struct bkey *k) | |||
| 118 | return (struct bkey *) (d + bkey_u64s(k)); | 119 | return (struct bkey *) (d + bkey_u64s(k)); |
| 119 | } | 120 | } |
| 120 | 121 | ||
| 121 | static inline struct bkey *bkey_last(const struct bkey *k, unsigned nr_keys) | 122 | static inline struct bkey *bkey_idx(const struct bkey *k, unsigned nr_keys) |
| 122 | { | 123 | { |
| 123 | __u64 *d = (void *) k; | 124 | __u64 *d = (void *) k; |
| 124 | return (struct bkey *) (d + nr_keys); | 125 | return (struct bkey *) (d + nr_keys); |
diff --git a/include/uapi/linux/btrfs.h b/include/uapi/linux/btrfs.h index 45e618921c61..b4d69092fbdb 100644 --- a/include/uapi/linux/btrfs.h +++ b/include/uapi/linux/btrfs.h | |||
| @@ -184,6 +184,12 @@ struct btrfs_ioctl_fs_info_args { | |||
| 184 | __u64 reserved[124]; /* pad to 1k */ | 184 | __u64 reserved[124]; /* pad to 1k */ |
| 185 | }; | 185 | }; |
| 186 | 186 | ||
| 187 | struct btrfs_ioctl_feature_flags { | ||
| 188 | __u64 compat_flags; | ||
| 189 | __u64 compat_ro_flags; | ||
| 190 | __u64 incompat_flags; | ||
| 191 | }; | ||
| 192 | |||
| 187 | /* balance control ioctl modes */ | 193 | /* balance control ioctl modes */ |
| 188 | #define BTRFS_BALANCE_CTL_PAUSE 1 | 194 | #define BTRFS_BALANCE_CTL_PAUSE 1 |
| 189 | #define BTRFS_BALANCE_CTL_CANCEL 2 | 195 | #define BTRFS_BALANCE_CTL_CANCEL 2 |
| @@ -606,5 +612,11 @@ static inline char *btrfs_err_str(enum btrfs_err_code err_code) | |||
| 606 | struct btrfs_ioctl_dev_replace_args) | 612 | struct btrfs_ioctl_dev_replace_args) |
| 607 | #define BTRFS_IOC_FILE_EXTENT_SAME _IOWR(BTRFS_IOCTL_MAGIC, 54, \ | 613 | #define BTRFS_IOC_FILE_EXTENT_SAME _IOWR(BTRFS_IOCTL_MAGIC, 54, \ |
| 608 | struct btrfs_ioctl_same_args) | 614 | struct btrfs_ioctl_same_args) |
| 615 | #define BTRFS_IOC_GET_FEATURES _IOR(BTRFS_IOCTL_MAGIC, 57, \ | ||
| 616 | struct btrfs_ioctl_feature_flags) | ||
| 617 | #define BTRFS_IOC_SET_FEATURES _IOW(BTRFS_IOCTL_MAGIC, 57, \ | ||
| 618 | struct btrfs_ioctl_feature_flags[2]) | ||
| 619 | #define BTRFS_IOC_GET_SUPPORTED_FEATURES _IOR(BTRFS_IOCTL_MAGIC, 57, \ | ||
| 620 | struct btrfs_ioctl_feature_flags[3]) | ||
| 609 | 621 | ||
| 610 | #endif /* _UAPI_LINUX_BTRFS_H */ | 622 | #endif /* _UAPI_LINUX_BTRFS_H */ |
diff --git a/include/uapi/linux/dm-log-userspace.h b/include/uapi/linux/dm-log-userspace.h index 0678c2adc421..0fa0d9ef06a5 100644 --- a/include/uapi/linux/dm-log-userspace.h +++ b/include/uapi/linux/dm-log-userspace.h | |||
| @@ -201,11 +201,18 @@ | |||
| 201 | * int (*flush)(struct dm_dirty_log *log); | 201 | * int (*flush)(struct dm_dirty_log *log); |
| 202 | * | 202 | * |
| 203 | * Payload-to-userspace: | 203 | * Payload-to-userspace: |
| 204 | * None. | 204 | * If the 'integrated_flush' directive is present in the constructor |
| 205 | * table, the payload is as same as DM_ULOG_MARK_REGION: | ||
| 206 | * uint64_t [] - region(s) to mark | ||
| 207 | * else | ||
| 208 | * None | ||
| 205 | * Payload-to-kernel: | 209 | * Payload-to-kernel: |
| 206 | * None. | 210 | * None. |
| 207 | * | 211 | * |
| 208 | * No incoming or outgoing payload. Simply flush log state to disk. | 212 | * If the 'integrated_flush' option was used during the creation of the |
| 213 | * log, mark region requests are carried as payload in the flush request. | ||
| 214 | * Piggybacking the mark requests in this way allows for fewer communications | ||
| 215 | * between kernel and userspace. | ||
| 209 | * | 216 | * |
| 210 | * When the request has been processed, user-space must return the | 217 | * When the request has been processed, user-space must return the |
| 211 | * dm_ulog_request to the kernel - setting the 'error' field and clearing | 218 | * dm_ulog_request to the kernel - setting the 'error' field and clearing |
| @@ -385,8 +392,15 @@ | |||
| 385 | * version 2: DM_ULOG_CTR allowed to return a string containing a | 392 | * version 2: DM_ULOG_CTR allowed to return a string containing a |
| 386 | * device name that is to be registered with DM via | 393 | * device name that is to be registered with DM via |
| 387 | * 'dm_get_device'. | 394 | * 'dm_get_device'. |
| 395 | * version 3: DM_ULOG_FLUSH is capable of carrying payload for marking | ||
| 396 | * regions. This "integrated flush" reduces the number of | ||
| 397 | * requests between the kernel and userspace by effectively | ||
| 398 | * merging 'mark' and 'flush' requests. A constructor table | ||
| 399 | * argument ('integrated_flush') is required to turn this | ||
| 400 | * feature on, so it is backwards compatible with older | ||
| 401 | * userspace versions. | ||
| 388 | */ | 402 | */ |
| 389 | #define DM_ULOG_REQUEST_VERSION 2 | 403 | #define DM_ULOG_REQUEST_VERSION 3 |
| 390 | 404 | ||
| 391 | struct dm_ulog_request { | 405 | struct dm_ulog_request { |
| 392 | /* | 406 | /* |
diff --git a/include/uapi/linux/dn.h b/include/uapi/linux/dn.h index 5fbdd3d49eba..4295c745f342 100644 --- a/include/uapi/linux/dn.h +++ b/include/uapi/linux/dn.h | |||
| @@ -1,6 +1,7 @@ | |||
| 1 | #ifndef _LINUX_DN_H | 1 | #ifndef _LINUX_DN_H |
| 2 | #define _LINUX_DN_H | 2 | #define _LINUX_DN_H |
| 3 | 3 | ||
| 4 | #include <linux/ioctl.h> | ||
| 4 | #include <linux/types.h> | 5 | #include <linux/types.h> |
| 5 | #include <linux/if_ether.h> | 6 | #include <linux/if_ether.h> |
| 6 | 7 | ||
diff --git a/include/uapi/linux/fd.h b/include/uapi/linux/fd.h index f1f3dd5981b2..84c517cbce90 100644 --- a/include/uapi/linux/fd.h +++ b/include/uapi/linux/fd.h | |||
| @@ -185,7 +185,8 @@ enum { | |||
| 185 | * to clear media change status */ | 185 | * to clear media change status */ |
| 186 | FD_UNUSED_BIT, | 186 | FD_UNUSED_BIT, |
| 187 | FD_DISK_CHANGED_BIT, /* disk has been changed since last i/o */ | 187 | FD_DISK_CHANGED_BIT, /* disk has been changed since last i/o */ |
| 188 | FD_DISK_WRITABLE_BIT /* disk is writable */ | 188 | FD_DISK_WRITABLE_BIT, /* disk is writable */ |
| 189 | FD_OPEN_SHOULD_FAIL_BIT | ||
| 189 | }; | 190 | }; |
| 190 | 191 | ||
| 191 | #define FDSETDRVPRM _IOW(2, 0x90, struct floppy_drive_params) | 192 | #define FDSETDRVPRM _IOW(2, 0x90, struct floppy_drive_params) |
diff --git a/include/uapi/linux/genwqe/genwqe_card.h b/include/uapi/linux/genwqe/genwqe_card.h new file mode 100644 index 000000000000..795e957bb840 --- /dev/null +++ b/include/uapi/linux/genwqe/genwqe_card.h | |||
| @@ -0,0 +1,500 @@ | |||
| 1 | #ifndef __GENWQE_CARD_H__ | ||
| 2 | #define __GENWQE_CARD_H__ | ||
| 3 | |||
| 4 | /** | ||
| 5 | * IBM Accelerator Family 'GenWQE' | ||
| 6 | * | ||
| 7 | * (C) Copyright IBM Corp. 2013 | ||
| 8 | * | ||
| 9 | * Author: Frank Haverkamp <haver@linux.vnet.ibm.com> | ||
| 10 | * Author: Joerg-Stephan Vogt <jsvogt@de.ibm.com> | ||
| 11 | * Author: Michael Jung <mijung@de.ibm.com> | ||
| 12 | * Author: Michael Ruettger <michael@ibmra.de> | ||
| 13 | * | ||
| 14 | * This program is free software; you can redistribute it and/or modify | ||
| 15 | * it under the terms of the GNU General Public License (version 2 only) | ||
| 16 | * as published by the Free Software Foundation. | ||
| 17 | * | ||
| 18 | * This program is distributed in the hope that it will be useful, | ||
| 19 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 20 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 21 | * GNU General Public License for more details. | ||
| 22 | */ | ||
| 23 | |||
| 24 | /* | ||
| 25 | * User-space API for the GenWQE card. For debugging and test purposes | ||
| 26 | * the register addresses are included here too. | ||
| 27 | */ | ||
| 28 | |||
| 29 | #include <linux/types.h> | ||
| 30 | #include <linux/ioctl.h> | ||
| 31 | |||
| 32 | /* Basename of sysfs, debugfs and /dev interfaces */ | ||
| 33 | #define GENWQE_DEVNAME "genwqe" | ||
| 34 | |||
| 35 | #define GENWQE_TYPE_ALTERA_230 0x00 /* GenWQE4 Stratix-IV-230 */ | ||
| 36 | #define GENWQE_TYPE_ALTERA_530 0x01 /* GenWQE4 Stratix-IV-530 */ | ||
| 37 | #define GENWQE_TYPE_ALTERA_A4 0x02 /* GenWQE5 A4 Stratix-V-A4 */ | ||
| 38 | #define GENWQE_TYPE_ALTERA_A7 0x03 /* GenWQE5 A7 Stratix-V-A7 */ | ||
| 39 | |||
| 40 | /* MMIO Unit offsets: Each UnitID occupies a defined address range */ | ||
| 41 | #define GENWQE_UID_OFFS(uid) ((uid) << 24) | ||
| 42 | #define GENWQE_SLU_OFFS GENWQE_UID_OFFS(0) | ||
| 43 | #define GENWQE_HSU_OFFS GENWQE_UID_OFFS(1) | ||
| 44 | #define GENWQE_APP_OFFS GENWQE_UID_OFFS(2) | ||
| 45 | #define GENWQE_MAX_UNITS 3 | ||
| 46 | |||
| 47 | /* Common offsets per UnitID */ | ||
| 48 | #define IO_EXTENDED_ERROR_POINTER 0x00000048 | ||
| 49 | #define IO_ERROR_INJECT_SELECTOR 0x00000060 | ||
| 50 | #define IO_EXTENDED_DIAG_SELECTOR 0x00000070 | ||
| 51 | #define IO_EXTENDED_DIAG_READ_MBX 0x00000078 | ||
| 52 | #define IO_EXTENDED_DIAG_MAP(ring) (0x00000500 | ((ring) << 3)) | ||
| 53 | |||
| 54 | #define GENWQE_EXTENDED_DIAG_SELECTOR(ring, trace) (((ring) << 8) | (trace)) | ||
| 55 | |||
| 56 | /* UnitID 0: Service Layer Unit (SLU) */ | ||
| 57 | |||
| 58 | /* SLU: Unit Configuration Register */ | ||
| 59 | #define IO_SLU_UNITCFG 0x00000000 | ||
| 60 | #define IO_SLU_UNITCFG_TYPE_MASK 0x000000000ff00000 /* 27:20 */ | ||
| 61 | |||
| 62 | /* SLU: Fault Isolation Register (FIR) (ac_slu_fir) */ | ||
| 63 | #define IO_SLU_FIR 0x00000008 /* read only, wr direct */ | ||
| 64 | #define IO_SLU_FIR_CLR 0x00000010 /* read and clear */ | ||
| 65 | |||
| 66 | /* SLU: First Error Capture Register (FEC/WOF) */ | ||
| 67 | #define IO_SLU_FEC 0x00000018 | ||
| 68 | |||
| 69 | #define IO_SLU_ERR_ACT_MASK 0x00000020 | ||
| 70 | #define IO_SLU_ERR_ATTN_MASK 0x00000028 | ||
| 71 | #define IO_SLU_FIRX1_ACT_MASK 0x00000030 | ||
| 72 | #define IO_SLU_FIRX0_ACT_MASK 0x00000038 | ||
| 73 | #define IO_SLU_SEC_LEM_DEBUG_OVR 0x00000040 | ||
| 74 | #define IO_SLU_EXTENDED_ERR_PTR 0x00000048 | ||
| 75 | #define IO_SLU_COMMON_CONFIG 0x00000060 | ||
| 76 | |||
| 77 | #define IO_SLU_FLASH_FIR 0x00000108 | ||
| 78 | #define IO_SLU_SLC_FIR 0x00000110 | ||
| 79 | #define IO_SLU_RIU_TRAP 0x00000280 | ||
| 80 | #define IO_SLU_FLASH_FEC 0x00000308 | ||
| 81 | #define IO_SLU_SLC_FEC 0x00000310 | ||
| 82 | |||
| 83 | /* | ||
| 84 | * The Virtual Function's Access is from offset 0x00010000 | ||
| 85 | * The Physical Function's Access is from offset 0x00050000 | ||
| 86 | * Single Shared Registers exists only at offset 0x00060000 | ||
| 87 | * | ||
| 88 | * SLC: Queue Virtual Window Window for accessing into a specific VF | ||
| 89 | * queue. When accessing the 0x10000 space using the 0x50000 address | ||
| 90 | * segment, the value indicated here is used to specify which VF | ||
| 91 | * register is decoded. This register, and the 0x50000 register space | ||
| 92 | * can only be accessed by the PF. Example, if this register is set to | ||
| 93 | * 0x2, then a read from 0x50000 is the same as a read from 0x10000 | ||
| 94 | * from VF=2. | ||
| 95 | */ | ||
| 96 | |||
| 97 | /* SLC: Queue Segment */ | ||
| 98 | #define IO_SLC_QUEUE_SEGMENT 0x00010000 | ||
| 99 | #define IO_SLC_VF_QUEUE_SEGMENT 0x00050000 | ||
| 100 | |||
| 101 | /* SLC: Queue Offset */ | ||
| 102 | #define IO_SLC_QUEUE_OFFSET 0x00010008 | ||
| 103 | #define IO_SLC_VF_QUEUE_OFFSET 0x00050008 | ||
| 104 | |||
| 105 | /* SLC: Queue Configuration */ | ||
| 106 | #define IO_SLC_QUEUE_CONFIG 0x00010010 | ||
| 107 | #define IO_SLC_VF_QUEUE_CONFIG 0x00050010 | ||
| 108 | |||
| 109 | /* SLC: Job Timout/Only accessible for the PF */ | ||
| 110 | #define IO_SLC_APPJOB_TIMEOUT 0x00010018 | ||
| 111 | #define IO_SLC_VF_APPJOB_TIMEOUT 0x00050018 | ||
| 112 | #define TIMEOUT_250MS 0x0000000f | ||
| 113 | #define HEARTBEAT_DISABLE 0x0000ff00 | ||
| 114 | |||
| 115 | /* SLC: Queue InitSequence Register */ | ||
| 116 | #define IO_SLC_QUEUE_INITSQN 0x00010020 | ||
| 117 | #define IO_SLC_VF_QUEUE_INITSQN 0x00050020 | ||
| 118 | |||
| 119 | /* SLC: Queue Wrap */ | ||
| 120 | #define IO_SLC_QUEUE_WRAP 0x00010028 | ||
| 121 | #define IO_SLC_VF_QUEUE_WRAP 0x00050028 | ||
| 122 | |||
| 123 | /* SLC: Queue Status */ | ||
| 124 | #define IO_SLC_QUEUE_STATUS 0x00010100 | ||
| 125 | #define IO_SLC_VF_QUEUE_STATUS 0x00050100 | ||
| 126 | |||
| 127 | /* SLC: Queue Working Time */ | ||
| 128 | #define IO_SLC_QUEUE_WTIME 0x00010030 | ||
| 129 | #define IO_SLC_VF_QUEUE_WTIME 0x00050030 | ||
| 130 | |||
| 131 | /* SLC: Queue Error Counts */ | ||
| 132 | #define IO_SLC_QUEUE_ERRCNTS 0x00010038 | ||
| 133 | #define IO_SLC_VF_QUEUE_ERRCNTS 0x00050038 | ||
| 134 | |||
| 135 | /* SLC: Queue Loast Response Word */ | ||
| 136 | #define IO_SLC_QUEUE_LRW 0x00010040 | ||
| 137 | #define IO_SLC_VF_QUEUE_LRW 0x00050040 | ||
| 138 | |||
| 139 | /* SLC: Freerunning Timer */ | ||
| 140 | #define IO_SLC_FREE_RUNNING_TIMER 0x00010108 | ||
| 141 | #define IO_SLC_VF_FREE_RUNNING_TIMER 0x00050108 | ||
| 142 | |||
| 143 | /* SLC: Queue Virtual Access Region */ | ||
| 144 | #define IO_PF_SLC_VIRTUAL_REGION 0x00050000 | ||
| 145 | |||
| 146 | /* SLC: Queue Virtual Window */ | ||
| 147 | #define IO_PF_SLC_VIRTUAL_WINDOW 0x00060000 | ||
| 148 | |||
| 149 | /* SLC: DDCB Application Job Pending [n] (n=0:63) */ | ||
| 150 | #define IO_PF_SLC_JOBPEND(n) (0x00061000 + 8*(n)) | ||
| 151 | #define IO_SLC_JOBPEND(n) IO_PF_SLC_JOBPEND(n) | ||
| 152 | |||
| 153 | /* SLC: Parser Trap RAM [n] (n=0:31) */ | ||
| 154 | #define IO_SLU_SLC_PARSE_TRAP(n) (0x00011000 + 8*(n)) | ||
| 155 | |||
| 156 | /* SLC: Dispatcher Trap RAM [n] (n=0:31) */ | ||
| 157 | #define IO_SLU_SLC_DISP_TRAP(n) (0x00011200 + 8*(n)) | ||
| 158 | |||
| 159 | /* Global Fault Isolation Register (GFIR) */ | ||
| 160 | #define IO_SLC_CFGREG_GFIR 0x00020000 | ||
| 161 | #define GFIR_ERR_TRIGGER 0x0000ffff | ||
| 162 | |||
| 163 | /* SLU: Soft Reset Register */ | ||
| 164 | #define IO_SLC_CFGREG_SOFTRESET 0x00020018 | ||
| 165 | |||
| 166 | /* SLU: Misc Debug Register */ | ||
| 167 | #define IO_SLC_MISC_DEBUG 0x00020060 | ||
| 168 | #define IO_SLC_MISC_DEBUG_CLR 0x00020068 | ||
| 169 | #define IO_SLC_MISC_DEBUG_SET 0x00020070 | ||
| 170 | |||
| 171 | /* Temperature Sensor Reading */ | ||
| 172 | #define IO_SLU_TEMPERATURE_SENSOR 0x00030000 | ||
| 173 | #define IO_SLU_TEMPERATURE_CONFIG 0x00030008 | ||
| 174 | |||
| 175 | /* Voltage Margining Control */ | ||
| 176 | #define IO_SLU_VOLTAGE_CONTROL 0x00030080 | ||
| 177 | #define IO_SLU_VOLTAGE_NOMINAL 0x00000000 | ||
| 178 | #define IO_SLU_VOLTAGE_DOWN5 0x00000006 | ||
| 179 | #define IO_SLU_VOLTAGE_UP5 0x00000007 | ||
| 180 | |||
| 181 | /* Direct LED Control Register */ | ||
| 182 | #define IO_SLU_LEDCONTROL 0x00030100 | ||
| 183 | |||
| 184 | /* SLU: Flashbus Direct Access -A5 */ | ||
| 185 | #define IO_SLU_FLASH_DIRECTACCESS 0x00040010 | ||
| 186 | |||
| 187 | /* SLU: Flashbus Direct Access2 -A5 */ | ||
| 188 | #define IO_SLU_FLASH_DIRECTACCESS2 0x00040020 | ||
| 189 | |||
| 190 | /* SLU: Flashbus Command Interface -A5 */ | ||
| 191 | #define IO_SLU_FLASH_CMDINTF 0x00040030 | ||
| 192 | |||
| 193 | /* SLU: BitStream Loaded */ | ||
| 194 | #define IO_SLU_BITSTREAM 0x00040040 | ||
| 195 | |||
| 196 | /* This Register has a switch which will change the CAs to UR */ | ||
| 197 | #define IO_HSU_ERR_BEHAVIOR 0x01001010 | ||
| 198 | |||
| 199 | #define IO_SLC2_SQB_TRAP 0x00062000 | ||
| 200 | #define IO_SLC2_QUEUE_MANAGER_TRAP 0x00062008 | ||
| 201 | #define IO_SLC2_FLS_MASTER_TRAP 0x00062010 | ||
| 202 | |||
| 203 | /* UnitID 1: HSU Registers */ | ||
| 204 | #define IO_HSU_UNITCFG 0x01000000 | ||
| 205 | #define IO_HSU_FIR 0x01000008 | ||
| 206 | #define IO_HSU_FIR_CLR 0x01000010 | ||
| 207 | #define IO_HSU_FEC 0x01000018 | ||
| 208 | #define IO_HSU_ERR_ACT_MASK 0x01000020 | ||
| 209 | #define IO_HSU_ERR_ATTN_MASK 0x01000028 | ||
| 210 | #define IO_HSU_FIRX1_ACT_MASK 0x01000030 | ||
| 211 | #define IO_HSU_FIRX0_ACT_MASK 0x01000038 | ||
| 212 | #define IO_HSU_SEC_LEM_DEBUG_OVR 0x01000040 | ||
| 213 | #define IO_HSU_EXTENDED_ERR_PTR 0x01000048 | ||
| 214 | #define IO_HSU_COMMON_CONFIG 0x01000060 | ||
| 215 | |||
| 216 | /* UnitID 2: Application Unit (APP) */ | ||
| 217 | #define IO_APP_UNITCFG 0x02000000 | ||
| 218 | #define IO_APP_FIR 0x02000008 | ||
| 219 | #define IO_APP_FIR_CLR 0x02000010 | ||
| 220 | #define IO_APP_FEC 0x02000018 | ||
| 221 | #define IO_APP_ERR_ACT_MASK 0x02000020 | ||
| 222 | #define IO_APP_ERR_ATTN_MASK 0x02000028 | ||
| 223 | #define IO_APP_FIRX1_ACT_MASK 0x02000030 | ||
| 224 | #define IO_APP_FIRX0_ACT_MASK 0x02000038 | ||
| 225 | #define IO_APP_SEC_LEM_DEBUG_OVR 0x02000040 | ||
| 226 | #define IO_APP_EXTENDED_ERR_PTR 0x02000048 | ||
| 227 | #define IO_APP_COMMON_CONFIG 0x02000060 | ||
| 228 | |||
| 229 | #define IO_APP_DEBUG_REG_01 0x02010000 | ||
| 230 | #define IO_APP_DEBUG_REG_02 0x02010008 | ||
| 231 | #define IO_APP_DEBUG_REG_03 0x02010010 | ||
| 232 | #define IO_APP_DEBUG_REG_04 0x02010018 | ||
| 233 | #define IO_APP_DEBUG_REG_05 0x02010020 | ||
| 234 | #define IO_APP_DEBUG_REG_06 0x02010028 | ||
| 235 | #define IO_APP_DEBUG_REG_07 0x02010030 | ||
| 236 | #define IO_APP_DEBUG_REG_08 0x02010038 | ||
| 237 | #define IO_APP_DEBUG_REG_09 0x02010040 | ||
| 238 | #define IO_APP_DEBUG_REG_10 0x02010048 | ||
| 239 | #define IO_APP_DEBUG_REG_11 0x02010050 | ||
| 240 | #define IO_APP_DEBUG_REG_12 0x02010058 | ||
| 241 | #define IO_APP_DEBUG_REG_13 0x02010060 | ||
| 242 | #define IO_APP_DEBUG_REG_14 0x02010068 | ||
| 243 | #define IO_APP_DEBUG_REG_15 0x02010070 | ||
| 244 | #define IO_APP_DEBUG_REG_16 0x02010078 | ||
| 245 | #define IO_APP_DEBUG_REG_17 0x02010080 | ||
| 246 | #define IO_APP_DEBUG_REG_18 0x02010088 | ||
| 247 | |||
| 248 | /* Read/write from/to registers */ | ||
| 249 | struct genwqe_reg_io { | ||
| 250 | __u64 num; /* register offset/address */ | ||
| 251 | __u64 val64; | ||
| 252 | }; | ||
| 253 | |||
| 254 | /* | ||
| 255 | * All registers of our card will return values not equal this values. | ||
| 256 | * If we see IO_ILLEGAL_VALUE on any of our MMIO register reads, the | ||
| 257 | * card can be considered as unusable. It will need recovery. | ||
| 258 | */ | ||
| 259 | #define IO_ILLEGAL_VALUE 0xffffffffffffffffull | ||
| 260 | |||
| 261 | /* | ||
| 262 | * Generic DDCB execution interface. | ||
| 263 | * | ||
| 264 | * This interface is a first prototype resulting from discussions we | ||
| 265 | * had with other teams which wanted to use the Genwqe card. It allows | ||
| 266 | * to issue a DDCB request in a generic way. The request will block | ||
| 267 | * until it finishes or time out with error. | ||
| 268 | * | ||
| 269 | * Some DDCBs require DMA addresses to be specified in the ASIV | ||
| 270 | * block. The interface provies the capability to let the kernel | ||
| 271 | * driver know where those addresses are by specifying the ATS field, | ||
| 272 | * such that it can replace the user-space addresses with appropriate | ||
| 273 | * DMA addresses or DMA addresses of a scatter gather list which is | ||
| 274 | * dynamically created. | ||
| 275 | * | ||
| 276 | * Our hardware will refuse DDCB execution if the ATS field is not as | ||
| 277 | * expected. That means the DDCB execution engine in the chip knows | ||
| 278 | * where it expects DMA addresses within the ASIV part of the DDCB and | ||
| 279 | * will check that against the ATS field definition. Any invalid or | ||
| 280 | * unknown ATS content will lead to DDCB refusal. | ||
| 281 | */ | ||
| 282 | |||
| 283 | /* Genwqe chip Units */ | ||
| 284 | #define DDCB_ACFUNC_SLU 0x00 /* chip service layer unit */ | ||
| 285 | #define DDCB_ACFUNC_APP 0x01 /* chip application */ | ||
| 286 | |||
| 287 | /* DDCB return codes (RETC) */ | ||
| 288 | #define DDCB_RETC_IDLE 0x0000 /* Unexecuted/DDCB created */ | ||
| 289 | #define DDCB_RETC_PENDING 0x0101 /* Pending Execution */ | ||
| 290 | #define DDCB_RETC_COMPLETE 0x0102 /* Cmd complete. No error */ | ||
| 291 | #define DDCB_RETC_FAULT 0x0104 /* App Err, recoverable */ | ||
| 292 | #define DDCB_RETC_ERROR 0x0108 /* App Err, non-recoverable */ | ||
| 293 | #define DDCB_RETC_FORCED_ERROR 0x01ff /* overwritten by driver */ | ||
| 294 | |||
| 295 | #define DDCB_RETC_UNEXEC 0x0110 /* Unexe/Removed from queue */ | ||
| 296 | #define DDCB_RETC_TERM 0x0120 /* Terminated */ | ||
| 297 | #define DDCB_RETC_RES0 0x0140 /* Reserved */ | ||
| 298 | #define DDCB_RETC_RES1 0x0180 /* Reserved */ | ||
| 299 | |||
| 300 | /* DDCB Command Options (CMDOPT) */ | ||
| 301 | #define DDCB_OPT_ECHO_FORCE_NO 0x0000 /* ECHO DDCB */ | ||
| 302 | #define DDCB_OPT_ECHO_FORCE_102 0x0001 /* force return code */ | ||
| 303 | #define DDCB_OPT_ECHO_FORCE_104 0x0002 | ||
| 304 | #define DDCB_OPT_ECHO_FORCE_108 0x0003 | ||
| 305 | |||
| 306 | #define DDCB_OPT_ECHO_FORCE_110 0x0004 /* only on PF ! */ | ||
| 307 | #define DDCB_OPT_ECHO_FORCE_120 0x0005 | ||
| 308 | #define DDCB_OPT_ECHO_FORCE_140 0x0006 | ||
| 309 | #define DDCB_OPT_ECHO_FORCE_180 0x0007 | ||
| 310 | |||
| 311 | #define DDCB_OPT_ECHO_COPY_NONE (0 << 5) | ||
| 312 | #define DDCB_OPT_ECHO_COPY_ALL (1 << 5) | ||
| 313 | |||
| 314 | /* Definitions of Service Layer Commands */ | ||
| 315 | #define SLCMD_ECHO_SYNC 0x00 /* PF/VF */ | ||
| 316 | #define SLCMD_MOVE_FLASH 0x06 /* PF only */ | ||
| 317 | #define SLCMD_MOVE_FLASH_FLAGS_MODE 0x03 /* bit 0 and 1 used for mode */ | ||
| 318 | #define SLCMD_MOVE_FLASH_FLAGS_DLOAD 0 /* mode: download */ | ||
| 319 | #define SLCMD_MOVE_FLASH_FLAGS_EMUL 1 /* mode: emulation */ | ||
| 320 | #define SLCMD_MOVE_FLASH_FLAGS_UPLOAD 2 /* mode: upload */ | ||
| 321 | #define SLCMD_MOVE_FLASH_FLAGS_VERIFY 3 /* mode: verify */ | ||
| 322 | #define SLCMD_MOVE_FLASH_FLAG_NOTAP (1 << 2)/* just dump DDCB and exit */ | ||
| 323 | #define SLCMD_MOVE_FLASH_FLAG_POLL (1 << 3)/* wait for RETC >= 0102 */ | ||
| 324 | #define SLCMD_MOVE_FLASH_FLAG_PARTITION (1 << 4) | ||
| 325 | #define SLCMD_MOVE_FLASH_FLAG_ERASE (1 << 5) | ||
| 326 | |||
| 327 | enum genwqe_card_state { | ||
| 328 | GENWQE_CARD_UNUSED = 0, | ||
| 329 | GENWQE_CARD_USED = 1, | ||
| 330 | GENWQE_CARD_FATAL_ERROR = 2, | ||
| 331 | GENWQE_CARD_STATE_MAX, | ||
| 332 | }; | ||
| 333 | |||
| 334 | /* common struct for chip image exchange */ | ||
| 335 | struct genwqe_bitstream { | ||
| 336 | __u64 data_addr; /* pointer to image data */ | ||
| 337 | __u32 size; /* size of image file */ | ||
| 338 | __u32 crc; /* crc of this image */ | ||
| 339 | __u64 target_addr; /* starting address in Flash */ | ||
| 340 | __u32 partition; /* '0', '1', or 'v' */ | ||
| 341 | __u32 uid; /* 1=host/x=dram */ | ||
| 342 | |||
| 343 | __u64 slu_id; /* informational/sim: SluID */ | ||
| 344 | __u64 app_id; /* informational/sim: AppID */ | ||
| 345 | |||
| 346 | __u16 retc; /* returned from processing */ | ||
| 347 | __u16 attn; /* attention code from processing */ | ||
| 348 | __u32 progress; /* progress code from processing */ | ||
| 349 | }; | ||
| 350 | |||
| 351 | /* Issuing a specific DDCB command */ | ||
| 352 | #define DDCB_LENGTH 256 /* for debug data */ | ||
| 353 | #define DDCB_ASIV_LENGTH 104 /* len of the DDCB ASIV array */ | ||
| 354 | #define DDCB_ASIV_LENGTH_ATS 96 /* ASIV in ATS architecture */ | ||
| 355 | #define DDCB_ASV_LENGTH 64 /* len of the DDCB ASV array */ | ||
| 356 | #define DDCB_FIXUPS 12 /* maximum number of fixups */ | ||
| 357 | |||
| 358 | struct genwqe_debug_data { | ||
| 359 | char driver_version[64]; | ||
| 360 | __u64 slu_unitcfg; | ||
| 361 | __u64 app_unitcfg; | ||
| 362 | |||
| 363 | __u8 ddcb_before[DDCB_LENGTH]; | ||
| 364 | __u8 ddcb_prev[DDCB_LENGTH]; | ||
| 365 | __u8 ddcb_finished[DDCB_LENGTH]; | ||
| 366 | }; | ||
| 367 | |||
| 368 | /* | ||
| 369 | * Address Translation Specification (ATS) definitions | ||
| 370 | * | ||
| 371 | * Each 4 bit within the ATS 64-bit word specify the required address | ||
| 372 | * translation at the defined offset. | ||
| 373 | * | ||
| 374 | * 63 LSB | ||
| 375 | * 6666.5555.5555.5544.4444.4443.3333.3333 ... 11 | ||
| 376 | * 3210.9876.5432.1098.7654.3210.9876.5432 ... 1098.7654.3210 | ||
| 377 | * | ||
| 378 | * offset: 0x00 0x08 0x10 0x18 0x20 0x28 0x30 0x38 ... 0x68 0x70 0x78 | ||
| 379 | * res res res res ASIV ... | ||
| 380 | * The first 4 entries in the ATS word are reserved. The following nibbles | ||
| 381 | * each describe at an 8 byte offset the format of the required data. | ||
| 382 | */ | ||
| 383 | #define ATS_TYPE_DATA 0x0ull /* data */ | ||
| 384 | #define ATS_TYPE_FLAT_RD 0x4ull /* flat buffer read only */ | ||
| 385 | #define ATS_TYPE_FLAT_RDWR 0x5ull /* flat buffer read/write */ | ||
| 386 | #define ATS_TYPE_SGL_RD 0x6ull /* sgl read only */ | ||
| 387 | #define ATS_TYPE_SGL_RDWR 0x7ull /* sgl read/write */ | ||
| 388 | |||
| 389 | #define ATS_SET_FLAGS(_struct, _field, _flags) \ | ||
| 390 | (((_flags) & 0xf) << (44 - (4 * (offsetof(_struct, _field) / 8)))) | ||
| 391 | |||
| 392 | #define ATS_GET_FLAGS(_ats, _byte_offs) \ | ||
| 393 | (((_ats) >> (44 - (4 * ((_byte_offs) / 8)))) & 0xf) | ||
| 394 | |||
| 395 | /** | ||
| 396 | * struct genwqe_ddcb_cmd - User parameter for generic DDCB commands | ||
| 397 | * | ||
| 398 | * On the way into the kernel the driver will read the whole data | ||
| 399 | * structure. On the way out the driver will not copy the ASIV data | ||
| 400 | * back to user-space. | ||
| 401 | */ | ||
| 402 | struct genwqe_ddcb_cmd { | ||
| 403 | /* START of data copied to/from driver */ | ||
| 404 | __u64 next_addr; /* chaining genwqe_ddcb_cmd */ | ||
| 405 | __u64 flags; /* reserved */ | ||
| 406 | |||
| 407 | __u8 acfunc; /* accelerators functional unit */ | ||
| 408 | __u8 cmd; /* command to execute */ | ||
| 409 | __u8 asiv_length; /* used parameter length */ | ||
| 410 | __u8 asv_length; /* length of valid return values */ | ||
| 411 | __u16 cmdopts; /* command options */ | ||
| 412 | __u16 retc; /* return code from processing */ | ||
| 413 | |||
| 414 | __u16 attn; /* attention code from processing */ | ||
| 415 | __u16 vcrc; /* variant crc16 */ | ||
| 416 | __u32 progress; /* progress code from processing */ | ||
| 417 | |||
| 418 | __u64 deque_ts; /* dequeue time stamp */ | ||
| 419 | __u64 cmplt_ts; /* completion time stamp */ | ||
| 420 | __u64 disp_ts; /* SW processing start */ | ||
| 421 | |||
| 422 | /* move to end and avoid copy-back */ | ||
| 423 | __u64 ddata_addr; /* collect debug data */ | ||
| 424 | |||
| 425 | /* command specific values */ | ||
| 426 | __u8 asv[DDCB_ASV_LENGTH]; | ||
| 427 | |||
| 428 | /* END of data copied from driver */ | ||
| 429 | union { | ||
| 430 | struct { | ||
| 431 | __u64 ats; | ||
| 432 | __u8 asiv[DDCB_ASIV_LENGTH_ATS]; | ||
| 433 | }; | ||
| 434 | /* used for flash update to keep it backward compatible */ | ||
| 435 | __u8 __asiv[DDCB_ASIV_LENGTH]; | ||
| 436 | }; | ||
| 437 | /* END of data copied to driver */ | ||
| 438 | }; | ||
| 439 | |||
| 440 | #define GENWQE_IOC_CODE 0xa5 | ||
| 441 | |||
| 442 | /* Access functions */ | ||
| 443 | #define GENWQE_READ_REG64 _IOR(GENWQE_IOC_CODE, 30, struct genwqe_reg_io) | ||
| 444 | #define GENWQE_WRITE_REG64 _IOW(GENWQE_IOC_CODE, 31, struct genwqe_reg_io) | ||
| 445 | #define GENWQE_READ_REG32 _IOR(GENWQE_IOC_CODE, 32, struct genwqe_reg_io) | ||
| 446 | #define GENWQE_WRITE_REG32 _IOW(GENWQE_IOC_CODE, 33, struct genwqe_reg_io) | ||
| 447 | #define GENWQE_READ_REG16 _IOR(GENWQE_IOC_CODE, 34, struct genwqe_reg_io) | ||
| 448 | #define GENWQE_WRITE_REG16 _IOW(GENWQE_IOC_CODE, 35, struct genwqe_reg_io) | ||
| 449 | |||
| 450 | #define GENWQE_GET_CARD_STATE _IOR(GENWQE_IOC_CODE, 36, enum genwqe_card_state) | ||
| 451 | |||
| 452 | /** | ||
| 453 | * struct genwqe_mem - Memory pinning/unpinning information | ||
| 454 | * @addr: virtual user space address | ||
| 455 | * @size: size of the area pin/dma-map/unmap | ||
| 456 | * direction: 0: read/1: read and write | ||
| 457 | * | ||
| 458 | * Avoid pinning and unpinning of memory pages dynamically. Instead | ||
| 459 | * the idea is to pin the whole buffer space required for DDCB | ||
| 460 | * opertionas in advance. The driver will reuse this pinning and the | ||
| 461 | * memory associated with it to setup the sglists for the DDCB | ||
| 462 | * requests without the need to allocate and free memory or map and | ||
| 463 | * unmap to get the DMA addresses. | ||
| 464 | * | ||
| 465 | * The inverse operation needs to be called after the pinning is not | ||
| 466 | * needed anymore. The pinnings else the pinnings will get removed | ||
| 467 | * after the device is closed. Note that pinnings will required | ||
| 468 | * memory. | ||
| 469 | */ | ||
| 470 | struct genwqe_mem { | ||
| 471 | __u64 addr; | ||
| 472 | __u64 size; | ||
| 473 | __u64 direction; | ||
| 474 | __u64 flags; | ||
| 475 | }; | ||
| 476 | |||
| 477 | #define GENWQE_PIN_MEM _IOWR(GENWQE_IOC_CODE, 40, struct genwqe_mem) | ||
| 478 | #define GENWQE_UNPIN_MEM _IOWR(GENWQE_IOC_CODE, 41, struct genwqe_mem) | ||
| 479 | |||
| 480 | /* | ||
| 481 | * Generic synchronous DDCB execution interface. | ||
| 482 | * Synchronously execute a DDCB. | ||
| 483 | * | ||
| 484 | * Return: 0 on success or negative error code. | ||
| 485 | * -EINVAL: Invalid parameters (ASIV_LEN, ASV_LEN, illegal fixups | ||
| 486 | * no mappings found/could not create mappings | ||
| 487 | * -EFAULT: illegal addresses in fixups, purging failed | ||
| 488 | * -EBADMSG: enqueing failed, retc != DDCB_RETC_COMPLETE | ||
| 489 | */ | ||
| 490 | #define GENWQE_EXECUTE_DDCB \ | ||
| 491 | _IOWR(GENWQE_IOC_CODE, 50, struct genwqe_ddcb_cmd) | ||
| 492 | |||
| 493 | #define GENWQE_EXECUTE_RAW_DDCB \ | ||
| 494 | _IOWR(GENWQE_IOC_CODE, 51, struct genwqe_ddcb_cmd) | ||
| 495 | |||
| 496 | /* Service Layer functions (PF only) */ | ||
| 497 | #define GENWQE_SLU_UPDATE _IOWR(GENWQE_IOC_CODE, 80, struct genwqe_bitstream) | ||
| 498 | #define GENWQE_SLU_READ _IOWR(GENWQE_IOC_CODE, 81, struct genwqe_bitstream) | ||
| 499 | |||
| 500 | #endif /* __GENWQE_CARD_H__ */ | ||
diff --git a/include/uapi/linux/gfs2_ondisk.h b/include/uapi/linux/gfs2_ondisk.h index b2de1f9a88d6..0f24c07aed51 100644 --- a/include/uapi/linux/gfs2_ondisk.h +++ b/include/uapi/linux/gfs2_ondisk.h | |||
| @@ -319,7 +319,16 @@ struct gfs2_leaf { | |||
| 319 | __be32 lf_dirent_format; /* Format of the dirents */ | 319 | __be32 lf_dirent_format; /* Format of the dirents */ |
| 320 | __be64 lf_next; /* Next leaf, if overflow */ | 320 | __be64 lf_next; /* Next leaf, if overflow */ |
| 321 | 321 | ||
| 322 | __u8 lf_reserved[64]; | 322 | union { |
| 323 | __u8 lf_reserved[64]; | ||
| 324 | struct { | ||
| 325 | __be64 lf_inode; /* Dir inode number */ | ||
| 326 | __be32 lf_dist; /* Dist from inode on chain */ | ||
| 327 | __be32 lf_nsec; /* Last ins/del usecs */ | ||
| 328 | __be64 lf_sec; /* Last ins/del in secs */ | ||
| 329 | __u8 lf_reserved2[40]; | ||
| 330 | }; | ||
| 331 | }; | ||
| 323 | }; | 332 | }; |
| 324 | 333 | ||
| 325 | /* | 334 | /* |
diff --git a/include/uapi/linux/if_addr.h b/include/uapi/linux/if_addr.h index 23357ab81a77..dea10a87dfd1 100644 --- a/include/uapi/linux/if_addr.h +++ b/include/uapi/linux/if_addr.h | |||
| @@ -18,6 +18,9 @@ struct ifaddrmsg { | |||
| 18 | * It makes no difference for normally configured broadcast interfaces, | 18 | * It makes no difference for normally configured broadcast interfaces, |
| 19 | * but for point-to-point IFA_ADDRESS is DESTINATION address, | 19 | * but for point-to-point IFA_ADDRESS is DESTINATION address, |
| 20 | * local address is supplied in IFA_LOCAL attribute. | 20 | * local address is supplied in IFA_LOCAL attribute. |
| 21 | * | ||
| 22 | * IFA_FLAGS is a u32 attribute that extends the u8 field ifa_flags. | ||
| 23 | * If present, the value from struct ifaddrmsg will be ignored. | ||
| 21 | */ | 24 | */ |
| 22 | enum { | 25 | enum { |
| 23 | IFA_UNSPEC, | 26 | IFA_UNSPEC, |
| @@ -28,6 +31,7 @@ enum { | |||
| 28 | IFA_ANYCAST, | 31 | IFA_ANYCAST, |
| 29 | IFA_CACHEINFO, | 32 | IFA_CACHEINFO, |
| 30 | IFA_MULTICAST, | 33 | IFA_MULTICAST, |
| 34 | IFA_FLAGS, | ||
| 31 | __IFA_MAX, | 35 | __IFA_MAX, |
| 32 | }; | 36 | }; |
| 33 | 37 | ||
| @@ -44,6 +48,8 @@ enum { | |||
| 44 | #define IFA_F_DEPRECATED 0x20 | 48 | #define IFA_F_DEPRECATED 0x20 |
| 45 | #define IFA_F_TENTATIVE 0x40 | 49 | #define IFA_F_TENTATIVE 0x40 |
| 46 | #define IFA_F_PERMANENT 0x80 | 50 | #define IFA_F_PERMANENT 0x80 |
| 51 | #define IFA_F_MANAGETEMPADDR 0x100 | ||
| 52 | #define IFA_F_NOPREFIXROUTE 0x200 | ||
| 47 | 53 | ||
| 48 | struct ifa_cacheinfo { | 54 | struct ifa_cacheinfo { |
| 49 | __u32 ifa_prefered; | 55 | __u32 ifa_prefered; |
diff --git a/include/uapi/linux/if_arp.h b/include/uapi/linux/if_arp.h index d7fea3496f32..4d024d75d64b 100644 --- a/include/uapi/linux/if_arp.h +++ b/include/uapi/linux/if_arp.h | |||
| @@ -94,6 +94,7 @@ | |||
| 94 | #define ARPHRD_CAIF 822 /* CAIF media type */ | 94 | #define ARPHRD_CAIF 822 /* CAIF media type */ |
| 95 | #define ARPHRD_IP6GRE 823 /* GRE over IPv6 */ | 95 | #define ARPHRD_IP6GRE 823 /* GRE over IPv6 */ |
| 96 | #define ARPHRD_NETLINK 824 /* Netlink header */ | 96 | #define ARPHRD_NETLINK 824 /* Netlink header */ |
| 97 | #define ARPHRD_6LOWPAN 825 /* IPv6 over LoWPAN */ | ||
| 97 | 98 | ||
| 98 | #define ARPHRD_VOID 0xFFFF /* Void type, nothing is known */ | 99 | #define ARPHRD_VOID 0xFFFF /* Void type, nothing is known */ |
| 99 | #define ARPHRD_NONE 0xFFFE /* zero header length */ | 100 | #define ARPHRD_NONE 0xFFFE /* zero header length */ |
diff --git a/include/uapi/linux/if_link.h b/include/uapi/linux/if_link.h index 6db460121f84..16410b6e7819 100644 --- a/include/uapi/linux/if_link.h +++ b/include/uapi/linux/if_link.h | |||
| @@ -240,6 +240,8 @@ enum { | |||
| 240 | IFLA_INFO_KIND, | 240 | IFLA_INFO_KIND, |
| 241 | IFLA_INFO_DATA, | 241 | IFLA_INFO_DATA, |
| 242 | IFLA_INFO_XSTATS, | 242 | IFLA_INFO_XSTATS, |
| 243 | IFLA_INFO_SLAVE_KIND, | ||
| 244 | IFLA_INFO_SLAVE_DATA, | ||
| 243 | __IFLA_INFO_MAX, | 245 | __IFLA_INFO_MAX, |
| 244 | }; | 246 | }; |
| 245 | 247 | ||
| @@ -331,11 +333,57 @@ enum { | |||
| 331 | IFLA_BOND_UNSPEC, | 333 | IFLA_BOND_UNSPEC, |
| 332 | IFLA_BOND_MODE, | 334 | IFLA_BOND_MODE, |
| 333 | IFLA_BOND_ACTIVE_SLAVE, | 335 | IFLA_BOND_ACTIVE_SLAVE, |
| 336 | IFLA_BOND_MIIMON, | ||
| 337 | IFLA_BOND_UPDELAY, | ||
| 338 | IFLA_BOND_DOWNDELAY, | ||
| 339 | IFLA_BOND_USE_CARRIER, | ||
| 340 | IFLA_BOND_ARP_INTERVAL, | ||
| 341 | IFLA_BOND_ARP_IP_TARGET, | ||
| 342 | IFLA_BOND_ARP_VALIDATE, | ||
| 343 | IFLA_BOND_ARP_ALL_TARGETS, | ||
| 344 | IFLA_BOND_PRIMARY, | ||
| 345 | IFLA_BOND_PRIMARY_RESELECT, | ||
| 346 | IFLA_BOND_FAIL_OVER_MAC, | ||
| 347 | IFLA_BOND_XMIT_HASH_POLICY, | ||
| 348 | IFLA_BOND_RESEND_IGMP, | ||
| 349 | IFLA_BOND_NUM_PEER_NOTIF, | ||
| 350 | IFLA_BOND_ALL_SLAVES_ACTIVE, | ||
| 351 | IFLA_BOND_MIN_LINKS, | ||
| 352 | IFLA_BOND_LP_INTERVAL, | ||
| 353 | IFLA_BOND_PACKETS_PER_SLAVE, | ||
| 354 | IFLA_BOND_AD_LACP_RATE, | ||
| 355 | IFLA_BOND_AD_SELECT, | ||
| 356 | IFLA_BOND_AD_INFO, | ||
| 334 | __IFLA_BOND_MAX, | 357 | __IFLA_BOND_MAX, |
| 335 | }; | 358 | }; |
| 336 | 359 | ||
| 337 | #define IFLA_BOND_MAX (__IFLA_BOND_MAX - 1) | 360 | #define IFLA_BOND_MAX (__IFLA_BOND_MAX - 1) |
| 338 | 361 | ||
| 362 | enum { | ||
| 363 | IFLA_BOND_AD_INFO_UNSPEC, | ||
| 364 | IFLA_BOND_AD_INFO_AGGREGATOR, | ||
| 365 | IFLA_BOND_AD_INFO_NUM_PORTS, | ||
| 366 | IFLA_BOND_AD_INFO_ACTOR_KEY, | ||
| 367 | IFLA_BOND_AD_INFO_PARTNER_KEY, | ||
| 368 | IFLA_BOND_AD_INFO_PARTNER_MAC, | ||
| 369 | __IFLA_BOND_AD_INFO_MAX, | ||
| 370 | }; | ||
| 371 | |||
| 372 | #define IFLA_BOND_AD_INFO_MAX (__IFLA_BOND_AD_INFO_MAX - 1) | ||
| 373 | |||
| 374 | enum { | ||
| 375 | IFLA_BOND_SLAVE_UNSPEC, | ||
| 376 | IFLA_BOND_SLAVE_STATE, | ||
| 377 | IFLA_BOND_SLAVE_MII_STATUS, | ||
| 378 | IFLA_BOND_SLAVE_LINK_FAILURE_COUNT, | ||
| 379 | IFLA_BOND_SLAVE_PERM_HWADDR, | ||
| 380 | IFLA_BOND_SLAVE_QUEUE_ID, | ||
| 381 | IFLA_BOND_SLAVE_AD_AGGREGATOR_ID, | ||
| 382 | __IFLA_BOND_SLAVE_MAX, | ||
| 383 | }; | ||
| 384 | |||
| 385 | #define IFLA_BOND_SLAVE_MAX (__IFLA_BOND_SLAVE_MAX - 1) | ||
| 386 | |||
| 339 | /* SR-IOV virtual function management section */ | 387 | /* SR-IOV virtual function management section */ |
| 340 | 388 | ||
| 341 | enum { | 389 | enum { |
diff --git a/include/uapi/linux/if_packet.h b/include/uapi/linux/if_packet.h index dbf06667394b..bac27fa05f5b 100644 --- a/include/uapi/linux/if_packet.h +++ b/include/uapi/linux/if_packet.h | |||
| @@ -26,8 +26,10 @@ struct sockaddr_ll { | |||
| 26 | #define PACKET_MULTICAST 2 /* To group */ | 26 | #define PACKET_MULTICAST 2 /* To group */ |
| 27 | #define PACKET_OTHERHOST 3 /* To someone else */ | 27 | #define PACKET_OTHERHOST 3 /* To someone else */ |
| 28 | #define PACKET_OUTGOING 4 /* Outgoing of any type */ | 28 | #define PACKET_OUTGOING 4 /* Outgoing of any type */ |
| 29 | /* These ones are invisible by user level */ | ||
| 30 | #define PACKET_LOOPBACK 5 /* MC/BRD frame looped back */ | 29 | #define PACKET_LOOPBACK 5 /* MC/BRD frame looped back */ |
| 30 | #define PACKET_USER 6 /* To user space */ | ||
| 31 | #define PACKET_KERNEL 7 /* To kernel space */ | ||
| 32 | /* Unused, PACKET_FASTROUTE and PACKET_LOOPBACK are invisible to user space */ | ||
| 31 | #define PACKET_FASTROUTE 6 /* Fastrouted frame */ | 33 | #define PACKET_FASTROUTE 6 /* Fastrouted frame */ |
| 32 | 34 | ||
| 33 | /* Packet socket options */ | 35 | /* Packet socket options */ |
| @@ -51,12 +53,14 @@ struct sockaddr_ll { | |||
| 51 | #define PACKET_TIMESTAMP 17 | 53 | #define PACKET_TIMESTAMP 17 |
| 52 | #define PACKET_FANOUT 18 | 54 | #define PACKET_FANOUT 18 |
| 53 | #define PACKET_TX_HAS_OFF 19 | 55 | #define PACKET_TX_HAS_OFF 19 |
| 56 | #define PACKET_QDISC_BYPASS 20 | ||
| 54 | 57 | ||
| 55 | #define PACKET_FANOUT_HASH 0 | 58 | #define PACKET_FANOUT_HASH 0 |
| 56 | #define PACKET_FANOUT_LB 1 | 59 | #define PACKET_FANOUT_LB 1 |
| 57 | #define PACKET_FANOUT_CPU 2 | 60 | #define PACKET_FANOUT_CPU 2 |
| 58 | #define PACKET_FANOUT_ROLLOVER 3 | 61 | #define PACKET_FANOUT_ROLLOVER 3 |
| 59 | #define PACKET_FANOUT_RND 4 | 62 | #define PACKET_FANOUT_RND 4 |
| 63 | #define PACKET_FANOUT_QM 5 | ||
| 60 | #define PACKET_FANOUT_FLAG_ROLLOVER 0x1000 | 64 | #define PACKET_FANOUT_FLAG_ROLLOVER 0x1000 |
| 61 | #define PACKET_FANOUT_FLAG_DEFRAG 0x8000 | 65 | #define PACKET_FANOUT_FLAG_DEFRAG 0x8000 |
| 62 | 66 | ||
| @@ -83,17 +87,18 @@ struct tpacket_auxdata { | |||
| 83 | __u16 tp_mac; | 87 | __u16 tp_mac; |
| 84 | __u16 tp_net; | 88 | __u16 tp_net; |
| 85 | __u16 tp_vlan_tci; | 89 | __u16 tp_vlan_tci; |
| 86 | __u16 tp_padding; | 90 | __u16 tp_vlan_tpid; |
| 87 | }; | 91 | }; |
| 88 | 92 | ||
| 89 | /* Rx ring - header status */ | 93 | /* Rx ring - header status */ |
| 90 | #define TP_STATUS_KERNEL 0 | 94 | #define TP_STATUS_KERNEL 0 |
| 91 | #define TP_STATUS_USER (1 << 0) | 95 | #define TP_STATUS_USER (1 << 0) |
| 92 | #define TP_STATUS_COPY (1 << 1) | 96 | #define TP_STATUS_COPY (1 << 1) |
| 93 | #define TP_STATUS_LOSING (1 << 2) | 97 | #define TP_STATUS_LOSING (1 << 2) |
| 94 | #define TP_STATUS_CSUMNOTREADY (1 << 3) | 98 | #define TP_STATUS_CSUMNOTREADY (1 << 3) |
| 95 | #define TP_STATUS_VLAN_VALID (1 << 4) /* auxdata has valid tp_vlan_tci */ | 99 | #define TP_STATUS_VLAN_VALID (1 << 4) /* auxdata has valid tp_vlan_tci */ |
| 96 | #define TP_STATUS_BLK_TMO (1 << 5) | 100 | #define TP_STATUS_BLK_TMO (1 << 5) |
| 101 | #define TP_STATUS_VLAN_TPID_VALID (1 << 6) /* auxdata has valid tp_vlan_tpid */ | ||
| 97 | 102 | ||
| 98 | /* Tx ring - header status */ | 103 | /* Tx ring - header status */ |
| 99 | #define TP_STATUS_AVAILABLE 0 | 104 | #define TP_STATUS_AVAILABLE 0 |
| @@ -132,12 +137,15 @@ struct tpacket2_hdr { | |||
| 132 | __u32 tp_sec; | 137 | __u32 tp_sec; |
| 133 | __u32 tp_nsec; | 138 | __u32 tp_nsec; |
| 134 | __u16 tp_vlan_tci; | 139 | __u16 tp_vlan_tci; |
| 135 | __u16 tp_padding; | 140 | __u16 tp_vlan_tpid; |
| 141 | __u8 tp_padding[4]; | ||
| 136 | }; | 142 | }; |
| 137 | 143 | ||
| 138 | struct tpacket_hdr_variant1 { | 144 | struct tpacket_hdr_variant1 { |
| 139 | __u32 tp_rxhash; | 145 | __u32 tp_rxhash; |
| 140 | __u32 tp_vlan_tci; | 146 | __u32 tp_vlan_tci; |
| 147 | __u16 tp_vlan_tpid; | ||
| 148 | __u16 tp_padding; | ||
| 141 | }; | 149 | }; |
| 142 | 150 | ||
| 143 | struct tpacket3_hdr { | 151 | struct tpacket3_hdr { |
| @@ -153,6 +161,7 @@ struct tpacket3_hdr { | |||
| 153 | union { | 161 | union { |
| 154 | struct tpacket_hdr_variant1 hv1; | 162 | struct tpacket_hdr_variant1 hv1; |
| 155 | }; | 163 | }; |
| 164 | __u8 tp_padding[8]; | ||
| 156 | }; | 165 | }; |
| 157 | 166 | ||
| 158 | struct tpacket_bd_ts { | 167 | struct tpacket_bd_ts { |
diff --git a/include/uapi/linux/in6.h b/include/uapi/linux/in6.h index 440d5c479145..e9a1d2d973b6 100644 --- a/include/uapi/linux/in6.h +++ b/include/uapi/linux/in6.h | |||
| @@ -85,6 +85,8 @@ struct in6_flowlabel_req { | |||
| 85 | 85 | ||
| 86 | #define IPV6_FL_F_CREATE 1 | 86 | #define IPV6_FL_F_CREATE 1 |
| 87 | #define IPV6_FL_F_EXCL 2 | 87 | #define IPV6_FL_F_EXCL 2 |
| 88 | #define IPV6_FL_F_REFLECT 4 | ||
| 89 | #define IPV6_FL_F_REMOTE 8 | ||
| 88 | 90 | ||
| 89 | #define IPV6_FL_S_NONE 0 | 91 | #define IPV6_FL_S_NONE 0 |
| 90 | #define IPV6_FL_S_EXCL 1 | 92 | #define IPV6_FL_S_EXCL 1 |
| @@ -126,22 +128,13 @@ struct in6_flowlabel_req { | |||
| 126 | * IPV6 extension headers | 128 | * IPV6 extension headers |
| 127 | */ | 129 | */ |
| 128 | #if __UAPI_DEF_IPPROTO_V6 | 130 | #if __UAPI_DEF_IPPROTO_V6 |
| 129 | enum { | 131 | #define IPPROTO_HOPOPTS 0 /* IPv6 hop-by-hop options */ |
| 130 | IPPROTO_HOPOPTS = 0, /* IPv6 hop-by-hop options */ | 132 | #define IPPROTO_ROUTING 43 /* IPv6 routing header */ |
| 131 | #define IPPROTO_HOPOPTS IPPROTO_HOPOPTS | 133 | #define IPPROTO_FRAGMENT 44 /* IPv6 fragmentation header */ |
| 132 | IPPROTO_ROUTING = 43, /* IPv6 routing header */ | 134 | #define IPPROTO_ICMPV6 58 /* ICMPv6 */ |
| 133 | #define IPPROTO_ROUTING IPPROTO_ROUTING | 135 | #define IPPROTO_NONE 59 /* IPv6 no next header */ |
| 134 | IPPROTO_FRAGMENT = 44, /* IPv6 fragmentation header */ | 136 | #define IPPROTO_DSTOPTS 60 /* IPv6 destination options */ |
| 135 | #define IPPROTO_FRAGMENT IPPROTO_FRAGMENT | 137 | #define IPPROTO_MH 135 /* IPv6 mobility header */ |
| 136 | IPPROTO_ICMPV6 = 58, /* ICMPv6 */ | ||
| 137 | #define IPPROTO_ICMPV6 IPPROTO_ICMPV6 | ||
| 138 | IPPROTO_NONE = 59, /* IPv6 no next header */ | ||
| 139 | #define IPPROTO_NONE IPPROTO_NONE | ||
| 140 | IPPROTO_DSTOPTS = 60, /* IPv6 destination options */ | ||
| 141 | #define IPPROTO_DSTOPTS IPPROTO_DSTOPTS | ||
| 142 | IPPROTO_MH = 135, /* IPv6 mobility header */ | ||
| 143 | #define IPPROTO_MH IPPROTO_MH | ||
| 144 | }; | ||
| 145 | #endif /* __UAPI_DEF_IPPROTO_V6 */ | 138 | #endif /* __UAPI_DEF_IPPROTO_V6 */ |
| 146 | 139 | ||
| 147 | /* | 140 | /* |
| @@ -188,6 +181,10 @@ enum { | |||
| 188 | #define IPV6_PMTUDISC_WANT 1 | 181 | #define IPV6_PMTUDISC_WANT 1 |
| 189 | #define IPV6_PMTUDISC_DO 2 | 182 | #define IPV6_PMTUDISC_DO 2 |
| 190 | #define IPV6_PMTUDISC_PROBE 3 | 183 | #define IPV6_PMTUDISC_PROBE 3 |
| 184 | /* same as IPV6_PMTUDISC_PROBE, provided for symetry with IPv4 | ||
| 185 | * also see comments on IP_PMTUDISC_INTERFACE | ||
| 186 | */ | ||
| 187 | #define IPV6_PMTUDISC_INTERFACE 4 | ||
| 191 | 188 | ||
| 192 | /* Flowlabel */ | 189 | /* Flowlabel */ |
| 193 | #define IPV6_FLOWLABEL_MGR 32 | 190 | #define IPV6_FLOWLABEL_MGR 32 |
diff --git a/include/uapi/linux/kexec.h b/include/uapi/linux/kexec.h index 104838f65bc1..d6629d49a243 100644 --- a/include/uapi/linux/kexec.h +++ b/include/uapi/linux/kexec.h | |||
| @@ -18,6 +18,7 @@ | |||
| 18 | */ | 18 | */ |
| 19 | #define KEXEC_ARCH_DEFAULT ( 0 << 16) | 19 | #define KEXEC_ARCH_DEFAULT ( 0 << 16) |
| 20 | #define KEXEC_ARCH_386 ( 3 << 16) | 20 | #define KEXEC_ARCH_386 ( 3 << 16) |
| 21 | #define KEXEC_ARCH_68K ( 4 << 16) | ||
| 21 | #define KEXEC_ARCH_X86_64 (62 << 16) | 22 | #define KEXEC_ARCH_X86_64 (62 << 16) |
| 22 | #define KEXEC_ARCH_PPC (20 << 16) | 23 | #define KEXEC_ARCH_PPC (20 << 16) |
| 23 | #define KEXEC_ARCH_PPC64 (21 << 16) | 24 | #define KEXEC_ARCH_PPC64 (21 << 16) |
diff --git a/include/uapi/linux/kvm.h b/include/uapi/linux/kvm.h index 902f12461873..932d7f2637d6 100644 --- a/include/uapi/linux/kvm.h +++ b/include/uapi/linux/kvm.h | |||
| @@ -674,6 +674,7 @@ struct kvm_ppc_smmu_info { | |||
| 674 | #define KVM_CAP_ARM_EL1_32BIT 93 | 674 | #define KVM_CAP_ARM_EL1_32BIT 93 |
| 675 | #define KVM_CAP_SPAPR_MULTITCE 94 | 675 | #define KVM_CAP_SPAPR_MULTITCE 94 |
| 676 | #define KVM_CAP_EXT_EMUL_CPUID 95 | 676 | #define KVM_CAP_EXT_EMUL_CPUID 95 |
| 677 | #define KVM_CAP_HYPERV_TIME 96 | ||
| 677 | 678 | ||
| 678 | #ifdef KVM_CAP_IRQ_ROUTING | 679 | #ifdef KVM_CAP_IRQ_ROUTING |
| 679 | 680 | ||
| @@ -853,6 +854,7 @@ struct kvm_device_attr { | |||
| 853 | #define KVM_DEV_VFIO_GROUP 1 | 854 | #define KVM_DEV_VFIO_GROUP 1 |
| 854 | #define KVM_DEV_VFIO_GROUP_ADD 1 | 855 | #define KVM_DEV_VFIO_GROUP_ADD 1 |
| 855 | #define KVM_DEV_VFIO_GROUP_DEL 2 | 856 | #define KVM_DEV_VFIO_GROUP_DEL 2 |
| 857 | #define KVM_DEV_TYPE_ARM_VGIC_V2 5 | ||
| 856 | 858 | ||
| 857 | /* | 859 | /* |
| 858 | * ioctls for VM fds | 860 | * ioctls for VM fds |
diff --git a/include/uapi/linux/media.h b/include/uapi/linux/media.h index ed49574ad757..d847c760e8f0 100644 --- a/include/uapi/linux/media.h +++ b/include/uapi/linux/media.h | |||
| @@ -98,6 +98,7 @@ struct media_entity_desc { | |||
| 98 | 98 | ||
| 99 | #define MEDIA_PAD_FL_SINK (1 << 0) | 99 | #define MEDIA_PAD_FL_SINK (1 << 0) |
| 100 | #define MEDIA_PAD_FL_SOURCE (1 << 1) | 100 | #define MEDIA_PAD_FL_SOURCE (1 << 1) |
| 101 | #define MEDIA_PAD_FL_MUST_CONNECT (1 << 2) | ||
| 101 | 102 | ||
| 102 | struct media_pad_desc { | 103 | struct media_pad_desc { |
| 103 | __u32 entity; /* entity ID */ | 104 | __u32 entity; /* entity ID */ |
diff --git a/include/uapi/linux/mic_ioctl.h b/include/uapi/linux/mic_ioctl.h index 7fabba5059cf..feb0b4c0814c 100644 --- a/include/uapi/linux/mic_ioctl.h +++ b/include/uapi/linux/mic_ioctl.h | |||
| @@ -39,7 +39,7 @@ struct mic_copy_desc { | |||
| 39 | #else | 39 | #else |
| 40 | struct iovec *iov; | 40 | struct iovec *iov; |
| 41 | #endif | 41 | #endif |
| 42 | int iovcnt; | 42 | __u32 iovcnt; |
| 43 | __u8 vr_idx; | 43 | __u8 vr_idx; |
| 44 | __u8 update_used; | 44 | __u8 update_used; |
| 45 | __u32 out_len; | 45 | __u32 out_len; |
diff --git a/include/uapi/linux/mqueue.h b/include/uapi/linux/mqueue.h index 8b5a79615fbf..d0a2b8e89813 100644 --- a/include/uapi/linux/mqueue.h +++ b/include/uapi/linux/mqueue.h | |||
| @@ -23,11 +23,11 @@ | |||
| 23 | #define MQ_BYTES_MAX 819200 | 23 | #define MQ_BYTES_MAX 819200 |
| 24 | 24 | ||
| 25 | struct mq_attr { | 25 | struct mq_attr { |
| 26 | long mq_flags; /* message queue flags */ | 26 | __kernel_long_t mq_flags; /* message queue flags */ |
| 27 | long mq_maxmsg; /* maximum number of messages */ | 27 | __kernel_long_t mq_maxmsg; /* maximum number of messages */ |
| 28 | long mq_msgsize; /* maximum message size */ | 28 | __kernel_long_t mq_msgsize; /* maximum message size */ |
| 29 | long mq_curmsgs; /* number of messages currently queued */ | 29 | __kernel_long_t mq_curmsgs; /* number of messages currently queued */ |
| 30 | long __reserved[4]; /* ignored for input, zeroed for output */ | 30 | __kernel_long_t __reserved[4]; /* ignored for input, zeroed for output */ |
| 31 | }; | 31 | }; |
| 32 | 32 | ||
| 33 | /* | 33 | /* |
diff --git a/include/uapi/linux/msg.h b/include/uapi/linux/msg.h index 22d95c6854e0..a70375526578 100644 --- a/include/uapi/linux/msg.h +++ b/include/uapi/linux/msg.h | |||
| @@ -34,8 +34,8 @@ struct msqid_ds { | |||
| 34 | 34 | ||
| 35 | /* message buffer for msgsnd and msgrcv calls */ | 35 | /* message buffer for msgsnd and msgrcv calls */ |
| 36 | struct msgbuf { | 36 | struct msgbuf { |
| 37 | long mtype; /* type of message */ | 37 | __kernel_long_t mtype; /* type of message */ |
| 38 | char mtext[1]; /* message text */ | 38 | char mtext[1]; /* message text */ |
| 39 | }; | 39 | }; |
| 40 | 40 | ||
| 41 | /* buffer for msgctl calls IPC_INFO, MSG_INFO */ | 41 | /* buffer for msgctl calls IPC_INFO, MSG_INFO */ |
diff --git a/include/uapi/linux/neighbour.h b/include/uapi/linux/neighbour.h index f175212420ab..d3ef583104e0 100644 --- a/include/uapi/linux/neighbour.h +++ b/include/uapi/linux/neighbour.h | |||
| @@ -58,7 +58,7 @@ enum { | |||
| 58 | 58 | ||
| 59 | /* NUD_NOARP & NUD_PERMANENT are pseudostates, they never change | 59 | /* NUD_NOARP & NUD_PERMANENT are pseudostates, they never change |
| 60 | and make no address resolution or NUD. | 60 | and make no address resolution or NUD. |
| 61 | NUD_PERMANENT is also cannot be deleted by garbage collectors. | 61 | NUD_PERMANENT also cannot be deleted by garbage collectors. |
| 62 | */ | 62 | */ |
| 63 | 63 | ||
| 64 | struct nda_cacheinfo { | 64 | struct nda_cacheinfo { |
diff --git a/include/uapi/linux/net_tstamp.h b/include/uapi/linux/net_tstamp.h index ae5df122e42f..f53879c0f590 100644 --- a/include/uapi/linux/net_tstamp.h +++ b/include/uapi/linux/net_tstamp.h | |||
| @@ -26,17 +26,17 @@ enum { | |||
| 26 | }; | 26 | }; |
| 27 | 27 | ||
| 28 | /** | 28 | /** |
| 29 | * struct hwtstamp_config - %SIOCSHWTSTAMP parameter | 29 | * struct hwtstamp_config - %SIOCGHWTSTAMP and %SIOCSHWTSTAMP parameter |
| 30 | * | 30 | * |
| 31 | * @flags: no flags defined right now, must be zero | 31 | * @flags: no flags defined right now, must be zero for %SIOCSHWTSTAMP |
| 32 | * @tx_type: one of HWTSTAMP_TX_* | 32 | * @tx_type: one of HWTSTAMP_TX_* |
| 33 | * @rx_type: one of one of HWTSTAMP_FILTER_* | 33 | * @rx_filter: one of HWTSTAMP_FILTER_* |
| 34 | * | 34 | * |
| 35 | * %SIOCSHWTSTAMP expects a &struct ifreq with a ifr_data pointer to | 35 | * %SIOCGHWTSTAMP and %SIOCSHWTSTAMP expect a &struct ifreq with a |
| 36 | * this structure. dev_ifsioc() in the kernel takes care of the | 36 | * ifr_data pointer to this structure. For %SIOCSHWTSTAMP, if the |
| 37 | * translation between 32 bit userspace and 64 bit kernel. The | 37 | * driver or hardware does not support the requested @rx_filter value, |
| 38 | * structure is intentionally chosen so that it has the same layout on | 38 | * the driver may use a more general filter mode. In this case |
| 39 | * 32 and 64 bit systems, don't break this! | 39 | * @rx_filter will indicate the actual mode on return. |
| 40 | */ | 40 | */ |
| 41 | struct hwtstamp_config { | 41 | struct hwtstamp_config { |
| 42 | int flags; | 42 | int flags; |
diff --git a/include/uapi/linux/netconf.h b/include/uapi/linux/netconf.h index 64804a798b0c..669a1f0b1d97 100644 --- a/include/uapi/linux/netconf.h +++ b/include/uapi/linux/netconf.h | |||
| @@ -14,6 +14,7 @@ enum { | |||
| 14 | NETCONFA_FORWARDING, | 14 | NETCONFA_FORWARDING, |
| 15 | NETCONFA_RP_FILTER, | 15 | NETCONFA_RP_FILTER, |
| 16 | NETCONFA_MC_FORWARDING, | 16 | NETCONFA_MC_FORWARDING, |
| 17 | NETCONFA_PROXY_NEIGH, | ||
| 17 | __NETCONFA_MAX | 18 | __NETCONFA_MAX |
| 18 | }; | 19 | }; |
| 19 | #define NETCONFA_MAX (__NETCONFA_MAX - 1) | 20 | #define NETCONFA_MAX (__NETCONFA_MAX - 1) |
diff --git a/include/uapi/linux/netfilter.h b/include/uapi/linux/netfilter.h index f7dc0ebeeba5..ef1b1f88ca18 100644 --- a/include/uapi/linux/netfilter.h +++ b/include/uapi/linux/netfilter.h | |||
| @@ -53,6 +53,7 @@ enum nf_inet_hooks { | |||
| 53 | 53 | ||
| 54 | enum { | 54 | enum { |
| 55 | NFPROTO_UNSPEC = 0, | 55 | NFPROTO_UNSPEC = 0, |
| 56 | NFPROTO_INET = 1, | ||
| 56 | NFPROTO_IPV4 = 2, | 57 | NFPROTO_IPV4 = 2, |
| 57 | NFPROTO_ARP = 3, | 58 | NFPROTO_ARP = 3, |
| 58 | NFPROTO_BRIDGE = 7, | 59 | NFPROTO_BRIDGE = 7, |
diff --git a/include/uapi/linux/netfilter/Kbuild b/include/uapi/linux/netfilter/Kbuild index 17c3af2c4bb9..1d973d2ba417 100644 --- a/include/uapi/linux/netfilter/Kbuild +++ b/include/uapi/linux/netfilter/Kbuild | |||
| @@ -39,6 +39,7 @@ header-y += xt_TEE.h | |||
| 39 | header-y += xt_TPROXY.h | 39 | header-y += xt_TPROXY.h |
| 40 | header-y += xt_addrtype.h | 40 | header-y += xt_addrtype.h |
| 41 | header-y += xt_bpf.h | 41 | header-y += xt_bpf.h |
| 42 | header-y += xt_cgroup.h | ||
| 42 | header-y += xt_cluster.h | 43 | header-y += xt_cluster.h |
| 43 | header-y += xt_comment.h | 44 | header-y += xt_comment.h |
| 44 | header-y += xt_connbytes.h | 45 | header-y += xt_connbytes.h |
| @@ -54,8 +55,10 @@ header-y += xt_ecn.h | |||
| 54 | header-y += xt_esp.h | 55 | header-y += xt_esp.h |
| 55 | header-y += xt_hashlimit.h | 56 | header-y += xt_hashlimit.h |
| 56 | header-y += xt_helper.h | 57 | header-y += xt_helper.h |
| 58 | header-y += xt_ipcomp.h | ||
| 57 | header-y += xt_iprange.h | 59 | header-y += xt_iprange.h |
| 58 | header-y += xt_ipvs.h | 60 | header-y += xt_ipvs.h |
| 61 | header-y += xt_l2tp.h | ||
| 59 | header-y += xt_length.h | 62 | header-y += xt_length.h |
| 60 | header-y += xt_limit.h | 63 | header-y += xt_limit.h |
| 61 | header-y += xt_mac.h | 64 | header-y += xt_mac.h |
diff --git a/include/uapi/linux/netfilter/nf_nat.h b/include/uapi/linux/netfilter/nf_nat.h index bf0cc373ffb6..1ad3659102b6 100644 --- a/include/uapi/linux/netfilter/nf_nat.h +++ b/include/uapi/linux/netfilter/nf_nat.h | |||
| @@ -4,10 +4,14 @@ | |||
| 4 | #include <linux/netfilter.h> | 4 | #include <linux/netfilter.h> |
| 5 | #include <linux/netfilter/nf_conntrack_tuple_common.h> | 5 | #include <linux/netfilter/nf_conntrack_tuple_common.h> |
| 6 | 6 | ||
| 7 | #define NF_NAT_RANGE_MAP_IPS 1 | 7 | #define NF_NAT_RANGE_MAP_IPS (1 << 0) |
| 8 | #define NF_NAT_RANGE_PROTO_SPECIFIED 2 | 8 | #define NF_NAT_RANGE_PROTO_SPECIFIED (1 << 1) |
| 9 | #define NF_NAT_RANGE_PROTO_RANDOM 4 | 9 | #define NF_NAT_RANGE_PROTO_RANDOM (1 << 2) |
| 10 | #define NF_NAT_RANGE_PERSISTENT 8 | 10 | #define NF_NAT_RANGE_PERSISTENT (1 << 3) |
| 11 | #define NF_NAT_RANGE_PROTO_RANDOM_FULLY (1 << 4) | ||
| 12 | |||
| 13 | #define NF_NAT_RANGE_PROTO_RANDOM_ALL \ | ||
| 14 | (NF_NAT_RANGE_PROTO_RANDOM | NF_NAT_RANGE_PROTO_RANDOM_FULLY) | ||
| 11 | 15 | ||
| 12 | struct nf_nat_ipv4_range { | 16 | struct nf_nat_ipv4_range { |
| 13 | unsigned int flags; | 17 | unsigned int flags; |
diff --git a/include/uapi/linux/netfilter/nf_tables.h b/include/uapi/linux/netfilter/nf_tables.h index fbfd229a8e99..83c985a6170b 100644 --- a/include/uapi/linux/netfilter/nf_tables.h +++ b/include/uapi/linux/netfilter/nf_tables.h | |||
| @@ -110,11 +110,13 @@ enum nft_table_flags { | |||
| 110 | * | 110 | * |
| 111 | * @NFTA_TABLE_NAME: name of the table (NLA_STRING) | 111 | * @NFTA_TABLE_NAME: name of the table (NLA_STRING) |
| 112 | * @NFTA_TABLE_FLAGS: bitmask of enum nft_table_flags (NLA_U32) | 112 | * @NFTA_TABLE_FLAGS: bitmask of enum nft_table_flags (NLA_U32) |
| 113 | * @NFTA_TABLE_USE: number of chains in this table (NLA_U32) | ||
| 113 | */ | 114 | */ |
| 114 | enum nft_table_attributes { | 115 | enum nft_table_attributes { |
| 115 | NFTA_TABLE_UNSPEC, | 116 | NFTA_TABLE_UNSPEC, |
| 116 | NFTA_TABLE_NAME, | 117 | NFTA_TABLE_NAME, |
| 117 | NFTA_TABLE_FLAGS, | 118 | NFTA_TABLE_FLAGS, |
| 119 | NFTA_TABLE_USE, | ||
| 118 | __NFTA_TABLE_MAX | 120 | __NFTA_TABLE_MAX |
| 119 | }; | 121 | }; |
| 120 | #define NFTA_TABLE_MAX (__NFTA_TABLE_MAX - 1) | 122 | #define NFTA_TABLE_MAX (__NFTA_TABLE_MAX - 1) |
| @@ -529,6 +531,8 @@ enum nft_exthdr_attributes { | |||
| 529 | * @NFT_META_NFTRACE: packet nftrace bit | 531 | * @NFT_META_NFTRACE: packet nftrace bit |
| 530 | * @NFT_META_RTCLASSID: realm value of packet's route (skb->dst->tclassid) | 532 | * @NFT_META_RTCLASSID: realm value of packet's route (skb->dst->tclassid) |
| 531 | * @NFT_META_SECMARK: packet secmark (skb->secmark) | 533 | * @NFT_META_SECMARK: packet secmark (skb->secmark) |
| 534 | * @NFT_META_NFPROTO: netfilter protocol | ||
| 535 | * @NFT_META_L4PROTO: layer 4 protocol number | ||
| 532 | */ | 536 | */ |
| 533 | enum nft_meta_keys { | 537 | enum nft_meta_keys { |
| 534 | NFT_META_LEN, | 538 | NFT_META_LEN, |
| @@ -546,6 +550,8 @@ enum nft_meta_keys { | |||
| 546 | NFT_META_NFTRACE, | 550 | NFT_META_NFTRACE, |
| 547 | NFT_META_RTCLASSID, | 551 | NFT_META_RTCLASSID, |
| 548 | NFT_META_SECMARK, | 552 | NFT_META_SECMARK, |
| 553 | NFT_META_NFPROTO, | ||
| 554 | NFT_META_L4PROTO, | ||
| 549 | }; | 555 | }; |
| 550 | 556 | ||
| 551 | /** | 557 | /** |
| @@ -553,11 +559,13 @@ enum nft_meta_keys { | |||
| 553 | * | 559 | * |
| 554 | * @NFTA_META_DREG: destination register (NLA_U32) | 560 | * @NFTA_META_DREG: destination register (NLA_U32) |
| 555 | * @NFTA_META_KEY: meta data item to load (NLA_U32: nft_meta_keys) | 561 | * @NFTA_META_KEY: meta data item to load (NLA_U32: nft_meta_keys) |
| 562 | * @NFTA_META_SREG: source register (NLA_U32) | ||
| 556 | */ | 563 | */ |
| 557 | enum nft_meta_attributes { | 564 | enum nft_meta_attributes { |
| 558 | NFTA_META_UNSPEC, | 565 | NFTA_META_UNSPEC, |
| 559 | NFTA_META_DREG, | 566 | NFTA_META_DREG, |
| 560 | NFTA_META_KEY, | 567 | NFTA_META_KEY, |
| 568 | NFTA_META_SREG, | ||
| 561 | __NFTA_META_MAX | 569 | __NFTA_META_MAX |
| 562 | }; | 570 | }; |
| 563 | #define NFTA_META_MAX (__NFTA_META_MAX - 1) | 571 | #define NFTA_META_MAX (__NFTA_META_MAX - 1) |
| @@ -601,12 +609,14 @@ enum nft_ct_keys { | |||
| 601 | * @NFTA_CT_DREG: destination register (NLA_U32) | 609 | * @NFTA_CT_DREG: destination register (NLA_U32) |
| 602 | * @NFTA_CT_KEY: conntrack data item to load (NLA_U32: nft_ct_keys) | 610 | * @NFTA_CT_KEY: conntrack data item to load (NLA_U32: nft_ct_keys) |
| 603 | * @NFTA_CT_DIRECTION: direction in case of directional keys (NLA_U8) | 611 | * @NFTA_CT_DIRECTION: direction in case of directional keys (NLA_U8) |
| 612 | * @NFTA_CT_SREG: source register (NLA_U32) | ||
| 604 | */ | 613 | */ |
| 605 | enum nft_ct_attributes { | 614 | enum nft_ct_attributes { |
| 606 | NFTA_CT_UNSPEC, | 615 | NFTA_CT_UNSPEC, |
| 607 | NFTA_CT_DREG, | 616 | NFTA_CT_DREG, |
| 608 | NFTA_CT_KEY, | 617 | NFTA_CT_KEY, |
| 609 | NFTA_CT_DIRECTION, | 618 | NFTA_CT_DIRECTION, |
| 619 | NFTA_CT_SREG, | ||
| 610 | __NFTA_CT_MAX | 620 | __NFTA_CT_MAX |
| 611 | }; | 621 | }; |
| 612 | #define NFTA_CT_MAX (__NFTA_CT_MAX - 1) | 622 | #define NFTA_CT_MAX (__NFTA_CT_MAX - 1) |
| @@ -658,6 +668,26 @@ enum nft_log_attributes { | |||
| 658 | #define NFTA_LOG_MAX (__NFTA_LOG_MAX - 1) | 668 | #define NFTA_LOG_MAX (__NFTA_LOG_MAX - 1) |
| 659 | 669 | ||
| 660 | /** | 670 | /** |
| 671 | * enum nft_queue_attributes - nf_tables queue expression netlink attributes | ||
| 672 | * | ||
| 673 | * @NFTA_QUEUE_NUM: netlink queue to send messages to (NLA_U16) | ||
| 674 | * @NFTA_QUEUE_TOTAL: number of queues to load balance packets on (NLA_U16) | ||
| 675 | * @NFTA_QUEUE_FLAGS: various flags (NLA_U16) | ||
| 676 | */ | ||
| 677 | enum nft_queue_attributes { | ||
| 678 | NFTA_QUEUE_UNSPEC, | ||
| 679 | NFTA_QUEUE_NUM, | ||
| 680 | NFTA_QUEUE_TOTAL, | ||
| 681 | NFTA_QUEUE_FLAGS, | ||
| 682 | __NFTA_QUEUE_MAX | ||
| 683 | }; | ||
| 684 | #define NFTA_QUEUE_MAX (__NFTA_QUEUE_MAX - 1) | ||
| 685 | |||
| 686 | #define NFT_QUEUE_FLAG_BYPASS 0x01 /* for compatibility with v2 */ | ||
| 687 | #define NFT_QUEUE_FLAG_CPU_FANOUT 0x02 /* use current CPU (no hashing) */ | ||
| 688 | #define NFT_QUEUE_FLAG_MASK 0x03 | ||
| 689 | |||
| 690 | /** | ||
| 661 | * enum nft_reject_types - nf_tables reject expression reject types | 691 | * enum nft_reject_types - nf_tables reject expression reject types |
| 662 | * | 692 | * |
| 663 | * @NFT_REJECT_ICMP_UNREACH: reject using ICMP unreachable | 693 | * @NFT_REJECT_ICMP_UNREACH: reject using ICMP unreachable |
diff --git a/include/uapi/linux/netfilter/nfnetlink_queue.h b/include/uapi/linux/netfilter/nfnetlink_queue.h index 0132bad79de7..8dd819e2b5fe 100644 --- a/include/uapi/linux/netfilter/nfnetlink_queue.h +++ b/include/uapi/linux/netfilter/nfnetlink_queue.h | |||
| @@ -47,6 +47,8 @@ enum nfqnl_attr_type { | |||
| 47 | NFQA_CAP_LEN, /* __u32 length of captured packet */ | 47 | NFQA_CAP_LEN, /* __u32 length of captured packet */ |
| 48 | NFQA_SKB_INFO, /* __u32 skb meta information */ | 48 | NFQA_SKB_INFO, /* __u32 skb meta information */ |
| 49 | NFQA_EXP, /* nf_conntrack_netlink.h */ | 49 | NFQA_EXP, /* nf_conntrack_netlink.h */ |
| 50 | NFQA_UID, /* __u32 sk uid */ | ||
| 51 | NFQA_GID, /* __u32 sk gid */ | ||
| 50 | 52 | ||
| 51 | __NFQA_MAX | 53 | __NFQA_MAX |
| 52 | }; | 54 | }; |
| @@ -99,7 +101,8 @@ enum nfqnl_attr_config { | |||
| 99 | #define NFQA_CFG_F_FAIL_OPEN (1 << 0) | 101 | #define NFQA_CFG_F_FAIL_OPEN (1 << 0) |
| 100 | #define NFQA_CFG_F_CONNTRACK (1 << 1) | 102 | #define NFQA_CFG_F_CONNTRACK (1 << 1) |
| 101 | #define NFQA_CFG_F_GSO (1 << 2) | 103 | #define NFQA_CFG_F_GSO (1 << 2) |
| 102 | #define NFQA_CFG_F_MAX (1 << 3) | 104 | #define NFQA_CFG_F_UID_GID (1 << 3) |
| 105 | #define NFQA_CFG_F_MAX (1 << 4) | ||
| 103 | 106 | ||
| 104 | /* flags for NFQA_SKB_INFO */ | 107 | /* flags for NFQA_SKB_INFO */ |
| 105 | /* packet appears to have wrong checksums, but they are ok */ | 108 | /* packet appears to have wrong checksums, but they are ok */ |
diff --git a/include/uapi/linux/netfilter/xt_cgroup.h b/include/uapi/linux/netfilter/xt_cgroup.h new file mode 100644 index 000000000000..43acb7e175f6 --- /dev/null +++ b/include/uapi/linux/netfilter/xt_cgroup.h | |||
| @@ -0,0 +1,11 @@ | |||
| 1 | #ifndef _UAPI_XT_CGROUP_H | ||
| 2 | #define _UAPI_XT_CGROUP_H | ||
| 3 | |||
| 4 | #include <linux/types.h> | ||
| 5 | |||
| 6 | struct xt_cgroup_info { | ||
| 7 | __u32 id; | ||
| 8 | __u32 invert; | ||
| 9 | }; | ||
| 10 | |||
| 11 | #endif /* _UAPI_XT_CGROUP_H */ | ||
diff --git a/include/uapi/linux/netfilter/xt_ipcomp.h b/include/uapi/linux/netfilter/xt_ipcomp.h new file mode 100644 index 000000000000..45c7e40eb8e1 --- /dev/null +++ b/include/uapi/linux/netfilter/xt_ipcomp.h | |||
| @@ -0,0 +1,16 @@ | |||
| 1 | #ifndef _XT_IPCOMP_H | ||
| 2 | #define _XT_IPCOMP_H | ||
| 3 | |||
| 4 | #include <linux/types.h> | ||
| 5 | |||
| 6 | struct xt_ipcomp { | ||
| 7 | __u32 spis[2]; /* Security Parameter Index */ | ||
| 8 | __u8 invflags; /* Inverse flags */ | ||
| 9 | __u8 hdrres; /* Test of the Reserved Filed */ | ||
| 10 | }; | ||
| 11 | |||
| 12 | /* Values for "invflags" field in struct xt_ipcomp. */ | ||
| 13 | #define XT_IPCOMP_INV_SPI 0x01 /* Invert the sense of spi. */ | ||
| 14 | #define XT_IPCOMP_INV_MASK 0x01 /* All possible flags. */ | ||
| 15 | |||
| 16 | #endif /*_XT_IPCOMP_H*/ | ||
diff --git a/include/uapi/linux/netfilter/xt_l2tp.h b/include/uapi/linux/netfilter/xt_l2tp.h new file mode 100644 index 000000000000..7dccfa0acbfa --- /dev/null +++ b/include/uapi/linux/netfilter/xt_l2tp.h | |||
| @@ -0,0 +1,27 @@ | |||
| 1 | #ifndef _LINUX_NETFILTER_XT_L2TP_H | ||
| 2 | #define _LINUX_NETFILTER_XT_L2TP_H | ||
| 3 | |||
| 4 | #include <linux/types.h> | ||
| 5 | |||
| 6 | enum xt_l2tp_type { | ||
| 7 | XT_L2TP_TYPE_CONTROL, | ||
| 8 | XT_L2TP_TYPE_DATA, | ||
| 9 | }; | ||
| 10 | |||
| 11 | /* L2TP matching stuff */ | ||
| 12 | struct xt_l2tp_info { | ||
| 13 | __u32 tid; /* tunnel id */ | ||
| 14 | __u32 sid; /* session id */ | ||
| 15 | __u8 version; /* L2TP protocol version */ | ||
| 16 | __u8 type; /* L2TP packet type */ | ||
| 17 | __u8 flags; /* which fields to match */ | ||
| 18 | }; | ||
| 19 | |||
| 20 | enum { | ||
| 21 | XT_L2TP_TID = (1 << 0), /* match L2TP tunnel id */ | ||
| 22 | XT_L2TP_SID = (1 << 1), /* match L2TP session id */ | ||
| 23 | XT_L2TP_VERSION = (1 << 2), /* match L2TP protocol version */ | ||
| 24 | XT_L2TP_TYPE = (1 << 3), /* match L2TP packet type */ | ||
| 25 | }; | ||
| 26 | |||
| 27 | #endif /* _LINUX_NETFILTER_XT_L2TP_H */ | ||
diff --git a/include/uapi/linux/netfilter/xt_osf.h b/include/uapi/linux/netfilter/xt_osf.h index 18afa495f973..5d66caeba3ee 100644 --- a/include/uapi/linux/netfilter/xt_osf.h +++ b/include/uapi/linux/netfilter/xt_osf.h | |||
| @@ -13,8 +13,7 @@ | |||
| 13 | * GNU General Public License for more details. | 13 | * GNU General Public License for more details. |
| 14 | * | 14 | * |
| 15 | * You should have received a copy of the GNU General Public License | 15 | * You should have received a copy of the GNU General Public License |
| 16 | * along with this program; if not, write to the Free Software | 16 | * along with this program; if not, see <http://www.gnu.org/licenses/>. |
| 17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
| 18 | */ | 17 | */ |
| 19 | 18 | ||
| 20 | #ifndef _XT_OSF_H | 19 | #ifndef _XT_OSF_H |
diff --git a/include/uapi/linux/nfs4.h b/include/uapi/linux/nfs4.h index 788128ebac45..35f5f4c6c260 100644 --- a/include/uapi/linux/nfs4.h +++ b/include/uapi/linux/nfs4.h | |||
| @@ -150,7 +150,7 @@ | |||
| 150 | #define NFS4_SECINFO_STYLE4_CURRENT_FH 0 | 150 | #define NFS4_SECINFO_STYLE4_CURRENT_FH 0 |
| 151 | #define NFS4_SECINFO_STYLE4_PARENT 1 | 151 | #define NFS4_SECINFO_STYLE4_PARENT 1 |
| 152 | 152 | ||
| 153 | #define NFS4_MAX_UINT64 (~(u64)0) | 153 | #define NFS4_MAX_UINT64 (~(__u64)0) |
| 154 | 154 | ||
| 155 | /* An NFS4 sessions server must support at least NFS4_MAX_OPS operations. | 155 | /* An NFS4 sessions server must support at least NFS4_MAX_OPS operations. |
| 156 | * If a compound requires more operations, adjust NFS4_MAX_OPS accordingly. | 156 | * If a compound requires more operations, adjust NFS4_MAX_OPS accordingly. |
diff --git a/include/uapi/linux/nl80211.h b/include/uapi/linux/nl80211.h index f752e9821e71..91054fd660e0 100644 --- a/include/uapi/linux/nl80211.h +++ b/include/uapi/linux/nl80211.h | |||
| @@ -581,7 +581,14 @@ | |||
| 581 | * operation, %NL80211_ATTR_MAC contains the peer MAC address, and | 581 | * operation, %NL80211_ATTR_MAC contains the peer MAC address, and |
| 582 | * %NL80211_ATTR_REASON_CODE the reason code to be used (only with | 582 | * %NL80211_ATTR_REASON_CODE the reason code to be used (only with |
| 583 | * %NL80211_TDLS_TEARDOWN). | 583 | * %NL80211_TDLS_TEARDOWN). |
| 584 | * @NL80211_CMD_TDLS_MGMT: Send a TDLS management frame. | 584 | * @NL80211_CMD_TDLS_MGMT: Send a TDLS management frame. The |
| 585 | * %NL80211_ATTR_TDLS_ACTION attribute determines the type of frame to be | ||
| 586 | * sent. Public Action codes (802.11-2012 8.1.5.1) will be sent as | ||
| 587 | * 802.11 management frames, while TDLS action codes (802.11-2012 | ||
| 588 | * 8.5.13.1) will be encapsulated and sent as data frames. The currently | ||
| 589 | * supported Public Action code is %WLAN_PUB_ACTION_TDLS_DISCOVER_RES | ||
| 590 | * and the currently supported TDLS actions codes are given in | ||
| 591 | * &enum ieee80211_tdls_actioncode. | ||
| 585 | * | 592 | * |
| 586 | * @NL80211_CMD_UNEXPECTED_FRAME: Used by an application controlling an AP | 593 | * @NL80211_CMD_UNEXPECTED_FRAME: Used by an application controlling an AP |
| 587 | * (or GO) interface (i.e. hostapd) to ask for unexpected frames to | 594 | * (or GO) interface (i.e. hostapd) to ask for unexpected frames to |
| @@ -686,6 +693,21 @@ | |||
| 686 | * other station that transmission must be blocked until the channel | 693 | * other station that transmission must be blocked until the channel |
| 687 | * switch is complete. | 694 | * switch is complete. |
| 688 | * | 695 | * |
| 696 | * @NL80211_CMD_VENDOR: Vendor-specified command/event. The command is specified | ||
| 697 | * by the %NL80211_ATTR_VENDOR_ID attribute and a sub-command in | ||
| 698 | * %NL80211_ATTR_VENDOR_SUBCMD. Parameter(s) can be transported in | ||
| 699 | * %NL80211_ATTR_VENDOR_DATA. | ||
| 700 | * For feature advertisement, the %NL80211_ATTR_VENDOR_DATA attribute is | ||
| 701 | * used in the wiphy data as a nested attribute containing descriptions | ||
| 702 | * (&struct nl80211_vendor_cmd_info) of the supported vendor commands. | ||
| 703 | * This may also be sent as an event with the same attributes. | ||
| 704 | * | ||
| 705 | * @NL80211_CMD_SET_QOS_MAP: Set Interworking QoS mapping for IP DSCP values. | ||
| 706 | * The QoS mapping information is included in %NL80211_ATTR_QOS_MAP. If | ||
| 707 | * that attribute is not included, QoS mapping is disabled. Since this | ||
| 708 | * QoS mapping is relevant for IP packets, it is only valid during an | ||
| 709 | * association. This is cleared on disassociation and AP restart. | ||
| 710 | * | ||
| 689 | * @NL80211_CMD_MAX: highest used command number | 711 | * @NL80211_CMD_MAX: highest used command number |
| 690 | * @__NL80211_CMD_AFTER_LAST: internal use | 712 | * @__NL80211_CMD_AFTER_LAST: internal use |
| 691 | */ | 713 | */ |
| @@ -853,6 +875,10 @@ enum nl80211_commands { | |||
| 853 | 875 | ||
| 854 | NL80211_CMD_CHANNEL_SWITCH, | 876 | NL80211_CMD_CHANNEL_SWITCH, |
| 855 | 877 | ||
| 878 | NL80211_CMD_VENDOR, | ||
| 879 | |||
| 880 | NL80211_CMD_SET_QOS_MAP, | ||
| 881 | |||
| 856 | /* add new commands above here */ | 882 | /* add new commands above here */ |
| 857 | 883 | ||
| 858 | /* used to define NL80211_CMD_MAX below */ | 884 | /* used to define NL80211_CMD_MAX below */ |
| @@ -1508,6 +1534,27 @@ enum nl80211_commands { | |||
| 1508 | * to react to radar events, e.g. initiate a channel switch or leave the | 1534 | * to react to radar events, e.g. initiate a channel switch or leave the |
| 1509 | * IBSS network. | 1535 | * IBSS network. |
| 1510 | * | 1536 | * |
| 1537 | * @NL80211_ATTR_SUPPORT_5_MHZ: A flag indicating that the device supports | ||
| 1538 | * 5 MHz channel bandwidth. | ||
| 1539 | * @NL80211_ATTR_SUPPORT_10_MHZ: A flag indicating that the device supports | ||
| 1540 | * 10 MHz channel bandwidth. | ||
| 1541 | * | ||
| 1542 | * @NL80211_ATTR_OPMODE_NOTIF: Operating mode field from Operating Mode | ||
| 1543 | * Notification Element based on association request when used with | ||
| 1544 | * %NL80211_CMD_NEW_STATION; u8 attribute. | ||
| 1545 | * | ||
| 1546 | * @NL80211_ATTR_VENDOR_ID: The vendor ID, either a 24-bit OUI or, if | ||
| 1547 | * %NL80211_VENDOR_ID_IS_LINUX is set, a special Linux ID (not used yet) | ||
| 1548 | * @NL80211_ATTR_VENDOR_SUBCMD: vendor sub-command | ||
| 1549 | * @NL80211_ATTR_VENDOR_DATA: data for the vendor command, if any; this | ||
| 1550 | * attribute is also used for vendor command feature advertisement | ||
| 1551 | * @NL80211_ATTR_VENDOR_EVENTS: used for event list advertising in the wiphy | ||
| 1552 | * info, containing a nested array of possible events | ||
| 1553 | * | ||
| 1554 | * @NL80211_ATTR_QOS_MAP: IP DSCP mapping for Interworking QoS mapping. This | ||
| 1555 | * data is in the format defined for the payload of the QoS Map Set element | ||
| 1556 | * in IEEE Std 802.11-2012, 8.4.2.97. | ||
| 1557 | * | ||
| 1511 | * @NL80211_ATTR_MAX: highest attribute number currently defined | 1558 | * @NL80211_ATTR_MAX: highest attribute number currently defined |
| 1512 | * @__NL80211_ATTR_AFTER_LAST: internal use | 1559 | * @__NL80211_ATTR_AFTER_LAST: internal use |
| 1513 | */ | 1560 | */ |
| @@ -1824,6 +1871,18 @@ enum nl80211_attrs { | |||
| 1824 | 1871 | ||
| 1825 | NL80211_ATTR_HANDLE_DFS, | 1872 | NL80211_ATTR_HANDLE_DFS, |
| 1826 | 1873 | ||
| 1874 | NL80211_ATTR_SUPPORT_5_MHZ, | ||
| 1875 | NL80211_ATTR_SUPPORT_10_MHZ, | ||
| 1876 | |||
| 1877 | NL80211_ATTR_OPMODE_NOTIF, | ||
| 1878 | |||
| 1879 | NL80211_ATTR_VENDOR_ID, | ||
| 1880 | NL80211_ATTR_VENDOR_SUBCMD, | ||
| 1881 | NL80211_ATTR_VENDOR_DATA, | ||
| 1882 | NL80211_ATTR_VENDOR_EVENTS, | ||
| 1883 | |||
| 1884 | NL80211_ATTR_QOS_MAP, | ||
| 1885 | |||
| 1827 | /* add attributes here, update the policy in nl80211.c */ | 1886 | /* add attributes here, update the policy in nl80211.c */ |
| 1828 | 1887 | ||
| 1829 | __NL80211_ATTR_AFTER_LAST, | 1888 | __NL80211_ATTR_AFTER_LAST, |
| @@ -2224,10 +2283,9 @@ enum nl80211_band_attr { | |||
| 2224 | * @NL80211_FREQUENCY_ATTR_FREQ: Frequency in MHz | 2283 | * @NL80211_FREQUENCY_ATTR_FREQ: Frequency in MHz |
| 2225 | * @NL80211_FREQUENCY_ATTR_DISABLED: Channel is disabled in current | 2284 | * @NL80211_FREQUENCY_ATTR_DISABLED: Channel is disabled in current |
| 2226 | * regulatory domain. | 2285 | * regulatory domain. |
| 2227 | * @NL80211_FREQUENCY_ATTR_PASSIVE_SCAN: Only passive scanning is | 2286 | * @NL80211_FREQUENCY_ATTR_NO_IR: no mechanisms that initiate radiation |
| 2228 | * permitted on this channel in current regulatory domain. | 2287 | * are permitted on this channel, this includes sending probe |
| 2229 | * @NL80211_FREQUENCY_ATTR_NO_IBSS: IBSS networks are not permitted | 2288 | * requests, or modes of operation that require beaconing. |
| 2230 | * on this channel in current regulatory domain. | ||
| 2231 | * @NL80211_FREQUENCY_ATTR_RADAR: Radar detection is mandatory | 2289 | * @NL80211_FREQUENCY_ATTR_RADAR: Radar detection is mandatory |
| 2232 | * on this channel in current regulatory domain. | 2290 | * on this channel in current regulatory domain. |
| 2233 | * @NL80211_FREQUENCY_ATTR_MAX_TX_POWER: Maximum transmission power in mBm | 2291 | * @NL80211_FREQUENCY_ATTR_MAX_TX_POWER: Maximum transmission power in mBm |
| @@ -2254,8 +2312,8 @@ enum nl80211_frequency_attr { | |||
| 2254 | __NL80211_FREQUENCY_ATTR_INVALID, | 2312 | __NL80211_FREQUENCY_ATTR_INVALID, |
| 2255 | NL80211_FREQUENCY_ATTR_FREQ, | 2313 | NL80211_FREQUENCY_ATTR_FREQ, |
| 2256 | NL80211_FREQUENCY_ATTR_DISABLED, | 2314 | NL80211_FREQUENCY_ATTR_DISABLED, |
| 2257 | NL80211_FREQUENCY_ATTR_PASSIVE_SCAN, | 2315 | NL80211_FREQUENCY_ATTR_NO_IR, |
| 2258 | NL80211_FREQUENCY_ATTR_NO_IBSS, | 2316 | __NL80211_FREQUENCY_ATTR_NO_IBSS, |
| 2259 | NL80211_FREQUENCY_ATTR_RADAR, | 2317 | NL80211_FREQUENCY_ATTR_RADAR, |
| 2260 | NL80211_FREQUENCY_ATTR_MAX_TX_POWER, | 2318 | NL80211_FREQUENCY_ATTR_MAX_TX_POWER, |
| 2261 | NL80211_FREQUENCY_ATTR_DFS_STATE, | 2319 | NL80211_FREQUENCY_ATTR_DFS_STATE, |
| @@ -2271,6 +2329,9 @@ enum nl80211_frequency_attr { | |||
| 2271 | }; | 2329 | }; |
| 2272 | 2330 | ||
| 2273 | #define NL80211_FREQUENCY_ATTR_MAX_TX_POWER NL80211_FREQUENCY_ATTR_MAX_TX_POWER | 2331 | #define NL80211_FREQUENCY_ATTR_MAX_TX_POWER NL80211_FREQUENCY_ATTR_MAX_TX_POWER |
| 2332 | #define NL80211_FREQUENCY_ATTR_PASSIVE_SCAN NL80211_FREQUENCY_ATTR_NO_IR | ||
| 2333 | #define NL80211_FREQUENCY_ATTR_NO_IBSS NL80211_FREQUENCY_ATTR_NO_IR | ||
| 2334 | #define NL80211_FREQUENCY_ATTR_NO_IR NL80211_FREQUENCY_ATTR_NO_IR | ||
| 2274 | 2335 | ||
| 2275 | /** | 2336 | /** |
| 2276 | * enum nl80211_bitrate_attr - bitrate attributes | 2337 | * enum nl80211_bitrate_attr - bitrate attributes |
| @@ -2413,8 +2474,9 @@ enum nl80211_sched_scan_match_attr { | |||
| 2413 | * @NL80211_RRF_DFS: DFS support is required to be used | 2474 | * @NL80211_RRF_DFS: DFS support is required to be used |
| 2414 | * @NL80211_RRF_PTP_ONLY: this is only for Point To Point links | 2475 | * @NL80211_RRF_PTP_ONLY: this is only for Point To Point links |
| 2415 | * @NL80211_RRF_PTMP_ONLY: this is only for Point To Multi Point links | 2476 | * @NL80211_RRF_PTMP_ONLY: this is only for Point To Multi Point links |
| 2416 | * @NL80211_RRF_PASSIVE_SCAN: passive scan is required | 2477 | * @NL80211_RRF_NO_IR: no mechanisms that initiate radiation are allowed, |
| 2417 | * @NL80211_RRF_NO_IBSS: no IBSS is allowed | 2478 | * this includes probe requests or modes of operation that require |
| 2479 | * beaconing. | ||
| 2418 | */ | 2480 | */ |
| 2419 | enum nl80211_reg_rule_flags { | 2481 | enum nl80211_reg_rule_flags { |
| 2420 | NL80211_RRF_NO_OFDM = 1<<0, | 2482 | NL80211_RRF_NO_OFDM = 1<<0, |
| @@ -2424,10 +2486,17 @@ enum nl80211_reg_rule_flags { | |||
| 2424 | NL80211_RRF_DFS = 1<<4, | 2486 | NL80211_RRF_DFS = 1<<4, |
| 2425 | NL80211_RRF_PTP_ONLY = 1<<5, | 2487 | NL80211_RRF_PTP_ONLY = 1<<5, |
| 2426 | NL80211_RRF_PTMP_ONLY = 1<<6, | 2488 | NL80211_RRF_PTMP_ONLY = 1<<6, |
| 2427 | NL80211_RRF_PASSIVE_SCAN = 1<<7, | 2489 | NL80211_RRF_NO_IR = 1<<7, |
| 2428 | NL80211_RRF_NO_IBSS = 1<<8, | 2490 | __NL80211_RRF_NO_IBSS = 1<<8, |
| 2429 | }; | 2491 | }; |
| 2430 | 2492 | ||
| 2493 | #define NL80211_RRF_PASSIVE_SCAN NL80211_RRF_NO_IR | ||
| 2494 | #define NL80211_RRF_NO_IBSS NL80211_RRF_NO_IR | ||
| 2495 | #define NL80211_RRF_NO_IR NL80211_RRF_NO_IR | ||
| 2496 | |||
| 2497 | /* For backport compatibility with older userspace */ | ||
| 2498 | #define NL80211_RRF_NO_IR_ALL (NL80211_RRF_NO_IR | __NL80211_RRF_NO_IBSS) | ||
| 2499 | |||
| 2431 | /** | 2500 | /** |
| 2432 | * enum nl80211_dfs_regions - regulatory DFS regions | 2501 | * enum nl80211_dfs_regions - regulatory DFS regions |
| 2433 | * | 2502 | * |
| @@ -3058,21 +3127,35 @@ enum nl80211_key_attributes { | |||
| 3058 | * in an array of rates as defined in IEEE 802.11 7.3.2.2 (u8 values with | 3127 | * in an array of rates as defined in IEEE 802.11 7.3.2.2 (u8 values with |
| 3059 | * 1 = 500 kbps) but without the IE length restriction (at most | 3128 | * 1 = 500 kbps) but without the IE length restriction (at most |
| 3060 | * %NL80211_MAX_SUPP_RATES in a single array). | 3129 | * %NL80211_MAX_SUPP_RATES in a single array). |
| 3061 | * @NL80211_TXRATE_MCS: HT (MCS) rates allowed for TX rate selection | 3130 | * @NL80211_TXRATE_HT: HT (MCS) rates allowed for TX rate selection |
| 3062 | * in an array of MCS numbers. | 3131 | * in an array of MCS numbers. |
| 3132 | * @NL80211_TXRATE_VHT: VHT rates allowed for TX rate selection, | ||
| 3133 | * see &struct nl80211_txrate_vht | ||
| 3063 | * @__NL80211_TXRATE_AFTER_LAST: internal | 3134 | * @__NL80211_TXRATE_AFTER_LAST: internal |
| 3064 | * @NL80211_TXRATE_MAX: highest TX rate attribute | 3135 | * @NL80211_TXRATE_MAX: highest TX rate attribute |
| 3065 | */ | 3136 | */ |
| 3066 | enum nl80211_tx_rate_attributes { | 3137 | enum nl80211_tx_rate_attributes { |
| 3067 | __NL80211_TXRATE_INVALID, | 3138 | __NL80211_TXRATE_INVALID, |
| 3068 | NL80211_TXRATE_LEGACY, | 3139 | NL80211_TXRATE_LEGACY, |
| 3069 | NL80211_TXRATE_MCS, | 3140 | NL80211_TXRATE_HT, |
| 3141 | NL80211_TXRATE_VHT, | ||
| 3070 | 3142 | ||
| 3071 | /* keep last */ | 3143 | /* keep last */ |
| 3072 | __NL80211_TXRATE_AFTER_LAST, | 3144 | __NL80211_TXRATE_AFTER_LAST, |
| 3073 | NL80211_TXRATE_MAX = __NL80211_TXRATE_AFTER_LAST - 1 | 3145 | NL80211_TXRATE_MAX = __NL80211_TXRATE_AFTER_LAST - 1 |
| 3074 | }; | 3146 | }; |
| 3075 | 3147 | ||
| 3148 | #define NL80211_TXRATE_MCS NL80211_TXRATE_HT | ||
| 3149 | #define NL80211_VHT_NSS_MAX 8 | ||
| 3150 | |||
| 3151 | /** | ||
| 3152 | * struct nl80211_txrate_vht - VHT MCS/NSS txrate bitmap | ||
| 3153 | * @mcs: MCS bitmap table for each NSS (array index 0 for 1 stream, etc.) | ||
| 3154 | */ | ||
| 3155 | struct nl80211_txrate_vht { | ||
| 3156 | __u16 mcs[NL80211_VHT_NSS_MAX]; | ||
| 3157 | }; | ||
| 3158 | |||
| 3076 | /** | 3159 | /** |
| 3077 | * enum nl80211_band - Frequency band | 3160 | * enum nl80211_band - Frequency band |
| 3078 | * @NL80211_BAND_2GHZ: 2.4 GHz ISM band | 3161 | * @NL80211_BAND_2GHZ: 2.4 GHz ISM band |
| @@ -3934,4 +4017,24 @@ enum nl80211_rxmgmt_flags { | |||
| 3934 | NL80211_RXMGMT_FLAG_ANSWERED = 1 << 0, | 4017 | NL80211_RXMGMT_FLAG_ANSWERED = 1 << 0, |
| 3935 | }; | 4018 | }; |
| 3936 | 4019 | ||
| 4020 | /* | ||
| 4021 | * If this flag is unset, the lower 24 bits are an OUI, if set | ||
| 4022 | * a Linux nl80211 vendor ID is used (no such IDs are allocated | ||
| 4023 | * yet, so that's not valid so far) | ||
| 4024 | */ | ||
| 4025 | #define NL80211_VENDOR_ID_IS_LINUX 0x80000000 | ||
| 4026 | |||
| 4027 | /** | ||
| 4028 | * struct nl80211_vendor_cmd_info - vendor command data | ||
| 4029 | * @vendor_id: If the %NL80211_VENDOR_ID_IS_LINUX flag is clear, then the | ||
| 4030 | * value is a 24-bit OUI; if it is set then a separately allocated ID | ||
| 4031 | * may be used, but no such IDs are allocated yet. New IDs should be | ||
| 4032 | * added to this file when needed. | ||
| 4033 | * @subcmd: sub-command ID for the command | ||
| 4034 | */ | ||
| 4035 | struct nl80211_vendor_cmd_info { | ||
| 4036 | __u32 vendor_id; | ||
| 4037 | __u32 subcmd; | ||
| 4038 | }; | ||
| 4039 | |||
| 3937 | #endif /* __LINUX_NL80211_H */ | 4040 | #endif /* __LINUX_NL80211_H */ |
diff --git a/include/uapi/linux/nvme.h b/include/uapi/linux/nvme.h index 989c04e0c563..e5ab62201119 100644 --- a/include/uapi/linux/nvme.h +++ b/include/uapi/linux/nvme.h | |||
| @@ -350,6 +350,16 @@ struct nvme_delete_queue { | |||
| 350 | __u32 rsvd11[5]; | 350 | __u32 rsvd11[5]; |
| 351 | }; | 351 | }; |
| 352 | 352 | ||
| 353 | struct nvme_abort_cmd { | ||
| 354 | __u8 opcode; | ||
| 355 | __u8 flags; | ||
| 356 | __u16 command_id; | ||
| 357 | __u32 rsvd1[9]; | ||
| 358 | __le16 sqid; | ||
| 359 | __u16 cid; | ||
| 360 | __u32 rsvd11[5]; | ||
| 361 | }; | ||
| 362 | |||
| 353 | struct nvme_download_firmware { | 363 | struct nvme_download_firmware { |
| 354 | __u8 opcode; | 364 | __u8 opcode; |
| 355 | __u8 flags; | 365 | __u8 flags; |
| @@ -384,6 +394,7 @@ struct nvme_command { | |||
| 384 | struct nvme_download_firmware dlfw; | 394 | struct nvme_download_firmware dlfw; |
| 385 | struct nvme_format_cmd format; | 395 | struct nvme_format_cmd format; |
| 386 | struct nvme_dsm_cmd dsm; | 396 | struct nvme_dsm_cmd dsm; |
| 397 | struct nvme_abort_cmd abort; | ||
| 387 | }; | 398 | }; |
| 388 | }; | 399 | }; |
| 389 | 400 | ||
diff --git a/include/uapi/linux/openvswitch.h b/include/uapi/linux/openvswitch.h index d120f9fe0017..970553cbbc8e 100644 --- a/include/uapi/linux/openvswitch.h +++ b/include/uapi/linux/openvswitch.h | |||
| @@ -40,7 +40,15 @@ struct ovs_header { | |||
| 40 | 40 | ||
| 41 | #define OVS_DATAPATH_FAMILY "ovs_datapath" | 41 | #define OVS_DATAPATH_FAMILY "ovs_datapath" |
| 42 | #define OVS_DATAPATH_MCGROUP "ovs_datapath" | 42 | #define OVS_DATAPATH_MCGROUP "ovs_datapath" |
| 43 | #define OVS_DATAPATH_VERSION 0x1 | 43 | |
| 44 | /* V2: | ||
| 45 | * - API users are expected to provide OVS_DP_ATTR_USER_FEATURES | ||
| 46 | * when creating the datapath. | ||
| 47 | */ | ||
| 48 | #define OVS_DATAPATH_VERSION 2 | ||
| 49 | |||
| 50 | /* First OVS datapath version to support features */ | ||
| 51 | #define OVS_DP_VER_FEATURES 2 | ||
| 44 | 52 | ||
| 45 | enum ovs_datapath_cmd { | 53 | enum ovs_datapath_cmd { |
| 46 | OVS_DP_CMD_UNSPEC, | 54 | OVS_DP_CMD_UNSPEC, |
| @@ -75,6 +83,7 @@ enum ovs_datapath_attr { | |||
| 75 | OVS_DP_ATTR_UPCALL_PID, /* Netlink PID to receive upcalls */ | 83 | OVS_DP_ATTR_UPCALL_PID, /* Netlink PID to receive upcalls */ |
| 76 | OVS_DP_ATTR_STATS, /* struct ovs_dp_stats */ | 84 | OVS_DP_ATTR_STATS, /* struct ovs_dp_stats */ |
| 77 | OVS_DP_ATTR_MEGAFLOW_STATS, /* struct ovs_dp_megaflow_stats */ | 85 | OVS_DP_ATTR_MEGAFLOW_STATS, /* struct ovs_dp_megaflow_stats */ |
| 86 | OVS_DP_ATTR_USER_FEATURES, /* OVS_DP_F_* */ | ||
| 78 | __OVS_DP_ATTR_MAX | 87 | __OVS_DP_ATTR_MAX |
| 79 | }; | 88 | }; |
| 80 | 89 | ||
| @@ -106,6 +115,9 @@ struct ovs_vport_stats { | |||
| 106 | __u64 tx_dropped; /* no space available in linux */ | 115 | __u64 tx_dropped; /* no space available in linux */ |
| 107 | }; | 116 | }; |
| 108 | 117 | ||
| 118 | /* Allow last Netlink attribute to be unaligned */ | ||
| 119 | #define OVS_DP_F_UNALIGNED (1 << 0) | ||
| 120 | |||
| 109 | /* Fixed logical ports. */ | 121 | /* Fixed logical ports. */ |
| 110 | #define OVSP_LOCAL ((__u32)0) | 122 | #define OVSP_LOCAL ((__u32)0) |
| 111 | 123 | ||
diff --git a/include/uapi/linux/pci_regs.h b/include/uapi/linux/pci_regs.h index 4a98e85438a7..30db069bce62 100644 --- a/include/uapi/linux/pci_regs.h +++ b/include/uapi/linux/pci_regs.h | |||
| @@ -489,7 +489,12 @@ | |||
| 489 | #define PCI_EXP_LNKSTA_CLS 0x000f /* Current Link Speed */ | 489 | #define PCI_EXP_LNKSTA_CLS 0x000f /* Current Link Speed */ |
| 490 | #define PCI_EXP_LNKSTA_CLS_2_5GB 0x0001 /* Current Link Speed 2.5GT/s */ | 490 | #define PCI_EXP_LNKSTA_CLS_2_5GB 0x0001 /* Current Link Speed 2.5GT/s */ |
| 491 | #define PCI_EXP_LNKSTA_CLS_5_0GB 0x0002 /* Current Link Speed 5.0GT/s */ | 491 | #define PCI_EXP_LNKSTA_CLS_5_0GB 0x0002 /* Current Link Speed 5.0GT/s */ |
| 492 | #define PCI_EXP_LNKSTA_CLS_8_0GB 0x0003 /* Current Link Speed 8.0GT/s */ | ||
| 492 | #define PCI_EXP_LNKSTA_NLW 0x03f0 /* Negotiated Link Width */ | 493 | #define PCI_EXP_LNKSTA_NLW 0x03f0 /* Negotiated Link Width */ |
| 494 | #define PCI_EXP_LNKSTA_NLW_X1 0x0010 /* Current Link Width x1 */ | ||
| 495 | #define PCI_EXP_LNKSTA_NLW_X2 0x0020 /* Current Link Width x2 */ | ||
| 496 | #define PCI_EXP_LNKSTA_NLW_X4 0x0040 /* Current Link Width x4 */ | ||
| 497 | #define PCI_EXP_LNKSTA_NLW_X8 0x0080 /* Current Link Width x8 */ | ||
| 493 | #define PCI_EXP_LNKSTA_NLW_SHIFT 4 /* start of NLW mask in link status */ | 498 | #define PCI_EXP_LNKSTA_NLW_SHIFT 4 /* start of NLW mask in link status */ |
| 494 | #define PCI_EXP_LNKSTA_LT 0x0800 /* Link Training */ | 499 | #define PCI_EXP_LNKSTA_LT 0x0800 /* Link Training */ |
| 495 | #define PCI_EXP_LNKSTA_SLC 0x1000 /* Slot Clock Configuration */ | 500 | #define PCI_EXP_LNKSTA_SLC 0x1000 /* Slot Clock Configuration */ |
| @@ -518,8 +523,16 @@ | |||
| 518 | #define PCI_EXP_SLTCTL_CCIE 0x0010 /* Command Completed Interrupt Enable */ | 523 | #define PCI_EXP_SLTCTL_CCIE 0x0010 /* Command Completed Interrupt Enable */ |
| 519 | #define PCI_EXP_SLTCTL_HPIE 0x0020 /* Hot-Plug Interrupt Enable */ | 524 | #define PCI_EXP_SLTCTL_HPIE 0x0020 /* Hot-Plug Interrupt Enable */ |
| 520 | #define PCI_EXP_SLTCTL_AIC 0x00c0 /* Attention Indicator Control */ | 525 | #define PCI_EXP_SLTCTL_AIC 0x00c0 /* Attention Indicator Control */ |
| 526 | #define PCI_EXP_SLTCTL_ATTN_IND_ON 0x0040 /* Attention Indicator on */ | ||
| 527 | #define PCI_EXP_SLTCTL_ATTN_IND_BLINK 0x0080 /* Attention Indicator blinking */ | ||
| 528 | #define PCI_EXP_SLTCTL_ATTN_IND_OFF 0x00c0 /* Attention Indicator off */ | ||
| 521 | #define PCI_EXP_SLTCTL_PIC 0x0300 /* Power Indicator Control */ | 529 | #define PCI_EXP_SLTCTL_PIC 0x0300 /* Power Indicator Control */ |
| 530 | #define PCI_EXP_SLTCTL_PWR_IND_ON 0x0100 /* Power Indicator on */ | ||
| 531 | #define PCI_EXP_SLTCTL_PWR_IND_BLINK 0x0200 /* Power Indicator blinking */ | ||
| 532 | #define PCI_EXP_SLTCTL_PWR_IND_OFF 0x0300 /* Power Indicator off */ | ||
| 522 | #define PCI_EXP_SLTCTL_PCC 0x0400 /* Power Controller Control */ | 533 | #define PCI_EXP_SLTCTL_PCC 0x0400 /* Power Controller Control */ |
| 534 | #define PCI_EXP_SLTCTL_PWR_ON 0x0000 /* Power On */ | ||
| 535 | #define PCI_EXP_SLTCTL_PWR_OFF 0x0400 /* Power Off */ | ||
| 523 | #define PCI_EXP_SLTCTL_EIC 0x0800 /* Electromechanical Interlock Control */ | 536 | #define PCI_EXP_SLTCTL_EIC 0x0800 /* Electromechanical Interlock Control */ |
| 524 | #define PCI_EXP_SLTCTL_DLLSCE 0x1000 /* Data Link Layer State Changed Enable */ | 537 | #define PCI_EXP_SLTCTL_DLLSCE 0x1000 /* Data Link Layer State Changed Enable */ |
| 525 | #define PCI_EXP_SLTSTA 26 /* Slot Status */ | 538 | #define PCI_EXP_SLTSTA 26 /* Slot Status */ |
| @@ -677,17 +690,34 @@ | |||
| 677 | #define PCI_ERR_ROOT_ERR_SRC 52 /* Error Source Identification */ | 690 | #define PCI_ERR_ROOT_ERR_SRC 52 /* Error Source Identification */ |
| 678 | 691 | ||
| 679 | /* Virtual Channel */ | 692 | /* Virtual Channel */ |
| 680 | #define PCI_VC_PORT_REG1 4 | 693 | #define PCI_VC_PORT_CAP1 4 |
| 681 | #define PCI_VC_REG1_EVCC 0x7 /* extended VC count */ | 694 | #define PCI_VC_CAP1_EVCC 0x00000007 /* extended VC count */ |
| 682 | #define PCI_VC_PORT_REG2 8 | 695 | #define PCI_VC_CAP1_LPEVCC 0x00000070 /* low prio extended VC count */ |
| 683 | #define PCI_VC_REG2_32_PHASE 0x2 | 696 | #define PCI_VC_CAP1_ARB_SIZE 0x00000c00 |
| 684 | #define PCI_VC_REG2_64_PHASE 0x4 | 697 | #define PCI_VC_PORT_CAP2 8 |
| 685 | #define PCI_VC_REG2_128_PHASE 0x8 | 698 | #define PCI_VC_CAP2_32_PHASE 0x00000002 |
| 699 | #define PCI_VC_CAP2_64_PHASE 0x00000004 | ||
| 700 | #define PCI_VC_CAP2_128_PHASE 0x00000008 | ||
| 701 | #define PCI_VC_CAP2_ARB_OFF 0xff000000 | ||
| 686 | #define PCI_VC_PORT_CTRL 12 | 702 | #define PCI_VC_PORT_CTRL 12 |
| 703 | #define PCI_VC_PORT_CTRL_LOAD_TABLE 0x00000001 | ||
| 687 | #define PCI_VC_PORT_STATUS 14 | 704 | #define PCI_VC_PORT_STATUS 14 |
| 705 | #define PCI_VC_PORT_STATUS_TABLE 0x00000001 | ||
| 688 | #define PCI_VC_RES_CAP 16 | 706 | #define PCI_VC_RES_CAP 16 |
| 707 | #define PCI_VC_RES_CAP_32_PHASE 0x00000002 | ||
| 708 | #define PCI_VC_RES_CAP_64_PHASE 0x00000004 | ||
| 709 | #define PCI_VC_RES_CAP_128_PHASE 0x00000008 | ||
| 710 | #define PCI_VC_RES_CAP_128_PHASE_TB 0x00000010 | ||
| 711 | #define PCI_VC_RES_CAP_256_PHASE 0x00000020 | ||
| 712 | #define PCI_VC_RES_CAP_ARB_OFF 0xff000000 | ||
| 689 | #define PCI_VC_RES_CTRL 20 | 713 | #define PCI_VC_RES_CTRL 20 |
| 714 | #define PCI_VC_RES_CTRL_LOAD_TABLE 0x00010000 | ||
| 715 | #define PCI_VC_RES_CTRL_ARB_SELECT 0x000e0000 | ||
| 716 | #define PCI_VC_RES_CTRL_ID 0x07000000 | ||
| 717 | #define PCI_VC_RES_CTRL_ENABLE 0x80000000 | ||
| 690 | #define PCI_VC_RES_STATUS 26 | 718 | #define PCI_VC_RES_STATUS 26 |
| 719 | #define PCI_VC_RES_STATUS_TABLE 0x00000001 | ||
| 720 | #define PCI_VC_RES_STATUS_NEGO 0x00000002 | ||
| 691 | #define PCI_CAP_VC_BASE_SIZEOF 0x10 | 721 | #define PCI_CAP_VC_BASE_SIZEOF 0x10 |
| 692 | #define PCI_CAP_VC_PER_VC_SIZEOF 0x0C | 722 | #define PCI_CAP_VC_PER_VC_SIZEOF 0x0C |
| 693 | 723 | ||
diff --git a/include/uapi/linux/perf_event.h b/include/uapi/linux/perf_event.h index 959d454f76a1..853bc1ccb395 100644 --- a/include/uapi/linux/perf_event.h +++ b/include/uapi/linux/perf_event.h | |||
| @@ -725,6 +725,7 @@ enum perf_callchain_context { | |||
| 725 | #define PERF_FLAG_FD_NO_GROUP (1U << 0) | 725 | #define PERF_FLAG_FD_NO_GROUP (1U << 0) |
| 726 | #define PERF_FLAG_FD_OUTPUT (1U << 1) | 726 | #define PERF_FLAG_FD_OUTPUT (1U << 1) |
| 727 | #define PERF_FLAG_PID_CGROUP (1U << 2) /* pid=cgroup id, per-cpu mode only */ | 727 | #define PERF_FLAG_PID_CGROUP (1U << 2) /* pid=cgroup id, per-cpu mode only */ |
| 728 | #define PERF_FLAG_FD_CLOEXEC (1U << 3) /* O_CLOEXEC */ | ||
| 728 | 729 | ||
| 729 | union perf_mem_data_src { | 730 | union perf_mem_data_src { |
| 730 | __u64 val; | 731 | __u64 val; |
| @@ -787,7 +788,7 @@ union perf_mem_data_src { | |||
| 787 | #define PERF_MEM_TLB_SHIFT 26 | 788 | #define PERF_MEM_TLB_SHIFT 26 |
| 788 | 789 | ||
| 789 | #define PERF_MEM_S(a, s) \ | 790 | #define PERF_MEM_S(a, s) \ |
| 790 | (((u64)PERF_MEM_##a##_##s) << PERF_MEM_##a##_SHIFT) | 791 | (((__u64)PERF_MEM_##a##_##s) << PERF_MEM_##a##_SHIFT) |
| 791 | 792 | ||
| 792 | /* | 793 | /* |
| 793 | * single taken branch record layout: | 794 | * single taken branch record layout: |
diff --git a/include/uapi/linux/pkt_sched.h b/include/uapi/linux/pkt_sched.h index a806687ad98f..d62316baae94 100644 --- a/include/uapi/linux/pkt_sched.h +++ b/include/uapi/linux/pkt_sched.h | |||
| @@ -173,6 +173,8 @@ enum { | |||
| 173 | TCA_TBF_PTAB, | 173 | TCA_TBF_PTAB, |
| 174 | TCA_TBF_RATE64, | 174 | TCA_TBF_RATE64, |
| 175 | TCA_TBF_PRATE64, | 175 | TCA_TBF_PRATE64, |
| 176 | TCA_TBF_BURST, | ||
| 177 | TCA_TBF_PBURST, | ||
| 176 | __TCA_TBF_MAX, | 178 | __TCA_TBF_MAX, |
| 177 | }; | 179 | }; |
| 178 | 180 | ||
| @@ -523,6 +525,7 @@ enum { | |||
| 523 | TCA_NETEM_LOSS, | 525 | TCA_NETEM_LOSS, |
| 524 | TCA_NETEM_RATE, | 526 | TCA_NETEM_RATE, |
| 525 | TCA_NETEM_ECN, | 527 | TCA_NETEM_ECN, |
| 528 | TCA_NETEM_RATE64, | ||
| 526 | __TCA_NETEM_MAX, | 529 | __TCA_NETEM_MAX, |
| 527 | }; | 530 | }; |
| 528 | 531 | ||
| @@ -790,4 +793,54 @@ struct tc_fq_qd_stats { | |||
| 790 | __u32 throttled_flows; | 793 | __u32 throttled_flows; |
| 791 | __u32 pad; | 794 | __u32 pad; |
| 792 | }; | 795 | }; |
| 796 | |||
| 797 | /* Heavy-Hitter Filter */ | ||
| 798 | |||
| 799 | enum { | ||
| 800 | TCA_HHF_UNSPEC, | ||
| 801 | TCA_HHF_BACKLOG_LIMIT, | ||
| 802 | TCA_HHF_QUANTUM, | ||
| 803 | TCA_HHF_HH_FLOWS_LIMIT, | ||
| 804 | TCA_HHF_RESET_TIMEOUT, | ||
| 805 | TCA_HHF_ADMIT_BYTES, | ||
| 806 | TCA_HHF_EVICT_TIMEOUT, | ||
| 807 | TCA_HHF_NON_HH_WEIGHT, | ||
| 808 | __TCA_HHF_MAX | ||
| 809 | }; | ||
| 810 | |||
| 811 | #define TCA_HHF_MAX (__TCA_HHF_MAX - 1) | ||
| 812 | |||
| 813 | struct tc_hhf_xstats { | ||
| 814 | __u32 drop_overlimit; /* number of times max qdisc packet limit | ||
| 815 | * was hit | ||
| 816 | */ | ||
| 817 | __u32 hh_overlimit; /* number of times max heavy-hitters was hit */ | ||
| 818 | __u32 hh_tot_count; /* number of captured heavy-hitters so far */ | ||
| 819 | __u32 hh_cur_count; /* number of current heavy-hitters */ | ||
| 820 | }; | ||
| 821 | |||
| 822 | /* PIE */ | ||
| 823 | enum { | ||
| 824 | TCA_PIE_UNSPEC, | ||
| 825 | TCA_PIE_TARGET, | ||
| 826 | TCA_PIE_LIMIT, | ||
| 827 | TCA_PIE_TUPDATE, | ||
| 828 | TCA_PIE_ALPHA, | ||
| 829 | TCA_PIE_BETA, | ||
| 830 | TCA_PIE_ECN, | ||
| 831 | TCA_PIE_BYTEMODE, | ||
| 832 | __TCA_PIE_MAX | ||
| 833 | }; | ||
| 834 | #define TCA_PIE_MAX (__TCA_PIE_MAX - 1) | ||
| 835 | |||
| 836 | struct tc_pie_xstats { | ||
| 837 | __u32 prob; /* current probability */ | ||
| 838 | __u32 delay; /* current delay in ms */ | ||
| 839 | __u32 avg_dq_rate; /* current average dq_rate in bits/pie_time */ | ||
| 840 | __u32 packets_in; /* total number of packets enqueued */ | ||
| 841 | __u32 dropped; /* packets dropped due to pie_action */ | ||
| 842 | __u32 overlimit; /* dropped due to lack of space in queue */ | ||
| 843 | __u32 maxq; /* maximum queue size */ | ||
| 844 | __u32 ecn_mark; /* packets marked with ecn*/ | ||
| 845 | }; | ||
| 793 | #endif | 846 | #endif |
diff --git a/include/uapi/linux/ppp-ioctl.h b/include/uapi/linux/ppp-ioctl.h index 2d9a8859550a..63a23a3b8bb7 100644 --- a/include/uapi/linux/ppp-ioctl.h +++ b/include/uapi/linux/ppp-ioctl.h | |||
| @@ -12,6 +12,7 @@ | |||
| 12 | 12 | ||
| 13 | #include <linux/types.h> | 13 | #include <linux/types.h> |
| 14 | #include <linux/compiler.h> | 14 | #include <linux/compiler.h> |
| 15 | #include <linux/ppp_defs.h> | ||
| 15 | 16 | ||
| 16 | /* | 17 | /* |
| 17 | * Bit definitions for flags argument to PPPIOCGFLAGS/PPPIOCSFLAGS. | 18 | * Bit definitions for flags argument to PPPIOCGFLAGS/PPPIOCSFLAGS. |
diff --git a/include/uapi/linux/raid/md_p.h b/include/uapi/linux/raid/md_p.h index f7cf7f351144..49f4210d4394 100644 --- a/include/uapi/linux/raid/md_p.h +++ b/include/uapi/linux/raid/md_p.h | |||
| @@ -292,6 +292,9 @@ struct mdp_superblock_1 { | |||
| 292 | * backwards anyway. | 292 | * backwards anyway. |
| 293 | */ | 293 | */ |
| 294 | #define MD_FEATURE_NEW_OFFSET 64 /* new_offset must be honoured */ | 294 | #define MD_FEATURE_NEW_OFFSET 64 /* new_offset must be honoured */ |
| 295 | #define MD_FEATURE_RECOVERY_BITMAP 128 /* recovery that is happening | ||
| 296 | * is guided by bitmap. | ||
| 297 | */ | ||
| 295 | #define MD_FEATURE_ALL (MD_FEATURE_BITMAP_OFFSET \ | 298 | #define MD_FEATURE_ALL (MD_FEATURE_BITMAP_OFFSET \ |
| 296 | |MD_FEATURE_RECOVERY_OFFSET \ | 299 | |MD_FEATURE_RECOVERY_OFFSET \ |
| 297 | |MD_FEATURE_RESHAPE_ACTIVE \ | 300 | |MD_FEATURE_RESHAPE_ACTIVE \ |
| @@ -299,6 +302,7 @@ struct mdp_superblock_1 { | |||
| 299 | |MD_FEATURE_REPLACEMENT \ | 302 | |MD_FEATURE_REPLACEMENT \ |
| 300 | |MD_FEATURE_RESHAPE_BACKWARDS \ | 303 | |MD_FEATURE_RESHAPE_BACKWARDS \ |
| 301 | |MD_FEATURE_NEW_OFFSET \ | 304 | |MD_FEATURE_NEW_OFFSET \ |
| 305 | |MD_FEATURE_RECOVERY_BITMAP \ | ||
| 302 | ) | 306 | ) |
| 303 | 307 | ||
| 304 | #endif | 308 | #endif |
diff --git a/include/uapi/linux/resource.h b/include/uapi/linux/resource.h index e0ed28477f48..36fb3b5fb181 100644 --- a/include/uapi/linux/resource.h +++ b/include/uapi/linux/resource.h | |||
| @@ -23,25 +23,25 @@ | |||
| 23 | struct rusage { | 23 | struct rusage { |
| 24 | struct timeval ru_utime; /* user time used */ | 24 | struct timeval ru_utime; /* user time used */ |
| 25 | struct timeval ru_stime; /* system time used */ | 25 | struct timeval ru_stime; /* system time used */ |
| 26 | long ru_maxrss; /* maximum resident set size */ | 26 | __kernel_long_t ru_maxrss; /* maximum resident set size */ |
| 27 | long ru_ixrss; /* integral shared memory size */ | 27 | __kernel_long_t ru_ixrss; /* integral shared memory size */ |
| 28 | long ru_idrss; /* integral unshared data size */ | 28 | __kernel_long_t ru_idrss; /* integral unshared data size */ |
| 29 | long ru_isrss; /* integral unshared stack size */ | 29 | __kernel_long_t ru_isrss; /* integral unshared stack size */ |
| 30 | long ru_minflt; /* page reclaims */ | 30 | __kernel_long_t ru_minflt; /* page reclaims */ |
| 31 | long ru_majflt; /* page faults */ | 31 | __kernel_long_t ru_majflt; /* page faults */ |
| 32 | long ru_nswap; /* swaps */ | 32 | __kernel_long_t ru_nswap; /* swaps */ |
| 33 | long ru_inblock; /* block input operations */ | 33 | __kernel_long_t ru_inblock; /* block input operations */ |
| 34 | long ru_oublock; /* block output operations */ | 34 | __kernel_long_t ru_oublock; /* block output operations */ |
| 35 | long ru_msgsnd; /* messages sent */ | 35 | __kernel_long_t ru_msgsnd; /* messages sent */ |
| 36 | long ru_msgrcv; /* messages received */ | 36 | __kernel_long_t ru_msgrcv; /* messages received */ |
| 37 | long ru_nsignals; /* signals received */ | 37 | __kernel_long_t ru_nsignals; /* signals received */ |
| 38 | long ru_nvcsw; /* voluntary context switches */ | 38 | __kernel_long_t ru_nvcsw; /* voluntary context switches */ |
| 39 | long ru_nivcsw; /* involuntary " */ | 39 | __kernel_long_t ru_nivcsw; /* involuntary " */ |
| 40 | }; | 40 | }; |
| 41 | 41 | ||
| 42 | struct rlimit { | 42 | struct rlimit { |
| 43 | unsigned long rlim_cur; | 43 | __kernel_ulong_t rlim_cur; |
| 44 | unsigned long rlim_max; | 44 | __kernel_ulong_t rlim_max; |
| 45 | }; | 45 | }; |
| 46 | 46 | ||
| 47 | #define RLIM64_INFINITY (~0ULL) | 47 | #define RLIM64_INFINITY (~0ULL) |
diff --git a/include/uapi/linux/sched.h b/include/uapi/linux/sched.h index 5a0f945927ac..34f9d7387d13 100644 --- a/include/uapi/linux/sched.h +++ b/include/uapi/linux/sched.h | |||
| @@ -39,8 +39,14 @@ | |||
| 39 | #define SCHED_BATCH 3 | 39 | #define SCHED_BATCH 3 |
| 40 | /* SCHED_ISO: reserved but not implemented yet */ | 40 | /* SCHED_ISO: reserved but not implemented yet */ |
| 41 | #define SCHED_IDLE 5 | 41 | #define SCHED_IDLE 5 |
| 42 | #define SCHED_DEADLINE 6 | ||
| 43 | |||
| 42 | /* Can be ORed in to make sure the process is reverted back to SCHED_NORMAL on fork */ | 44 | /* Can be ORed in to make sure the process is reverted back to SCHED_NORMAL on fork */ |
| 43 | #define SCHED_RESET_ON_FORK 0x40000000 | 45 | #define SCHED_RESET_ON_FORK 0x40000000 |
| 44 | 46 | ||
| 47 | /* | ||
| 48 | * For the sched_{set,get}attr() calls | ||
| 49 | */ | ||
| 50 | #define SCHED_FLAG_RESET_ON_FORK 0x01 | ||
| 45 | 51 | ||
| 46 | #endif /* _UAPI_LINUX_SCHED_H */ | 52 | #endif /* _UAPI_LINUX_SCHED_H */ |
diff --git a/include/uapi/linux/sctp.h b/include/uapi/linux/sctp.h index ca451e99b28b..266022a2be4a 100644 --- a/include/uapi/linux/sctp.h +++ b/include/uapi/linux/sctp.h | |||
| @@ -22,9 +22,8 @@ | |||
| 22 | * See the GNU General Public License for more details. | 22 | * See the GNU General Public License for more details. |
| 23 | * | 23 | * |
| 24 | * You should have received a copy of the GNU General Public License | 24 | * You should have received a copy of the GNU General Public License |
| 25 | * along with GNU CC; see the file COPYING. If not, write to | 25 | * along with GNU CC; see the file COPYING. If not, see |
| 26 | * the Free Software Foundation, 59 Temple Place - Suite 330, | 26 | * <http://www.gnu.org/licenses/>. |
| 27 | * Boston, MA 02111-1307, USA. | ||
| 28 | * | 27 | * |
| 29 | * Please send any bug reports or fixes you make to the | 28 | * Please send any bug reports or fixes you make to the |
| 30 | * email address(es): | 29 | * email address(es): |
diff --git a/include/uapi/linux/shm.h b/include/uapi/linux/shm.h index ec36fa1a83a4..78b69413f582 100644 --- a/include/uapi/linux/shm.h +++ b/include/uapi/linux/shm.h | |||
| @@ -68,11 +68,11 @@ struct shminfo { | |||
| 68 | 68 | ||
| 69 | struct shm_info { | 69 | struct shm_info { |
| 70 | int used_ids; | 70 | int used_ids; |
| 71 | unsigned long shm_tot; /* total allocated shm */ | 71 | __kernel_ulong_t shm_tot; /* total allocated shm */ |
| 72 | unsigned long shm_rss; /* total resident shm */ | 72 | __kernel_ulong_t shm_rss; /* total resident shm */ |
| 73 | unsigned long shm_swp; /* total swapped shm */ | 73 | __kernel_ulong_t shm_swp; /* total swapped shm */ |
| 74 | unsigned long swap_attempts; | 74 | __kernel_ulong_t swap_attempts; |
| 75 | unsigned long swap_successes; | 75 | __kernel_ulong_t swap_successes; |
| 76 | }; | 76 | }; |
| 77 | 77 | ||
| 78 | 78 | ||
diff --git a/include/uapi/linux/snmp.h b/include/uapi/linux/snmp.h index 1bdb4a39d1e1..bbaba22f2d1b 100644 --- a/include/uapi/linux/snmp.h +++ b/include/uapi/linux/snmp.h | |||
| @@ -258,6 +258,7 @@ enum | |||
| 258 | LINUX_MIB_TCPFASTOPENCOOKIEREQD, /* TCPFastOpenCookieReqd */ | 258 | LINUX_MIB_TCPFASTOPENCOOKIEREQD, /* TCPFastOpenCookieReqd */ |
| 259 | LINUX_MIB_TCPSPURIOUS_RTX_HOSTQUEUES, /* TCPSpuriousRtxHostQueues */ | 259 | LINUX_MIB_TCPSPURIOUS_RTX_HOSTQUEUES, /* TCPSpuriousRtxHostQueues */ |
| 260 | LINUX_MIB_BUSYPOLLRXPACKETS, /* BusyPollRxPackets */ | 260 | LINUX_MIB_BUSYPOLLRXPACKETS, /* BusyPollRxPackets */ |
| 261 | LINUX_MIB_TCPAUTOCORKING, /* TCPAutoCorking */ | ||
| 261 | __LINUX_MIB_MAX | 262 | __LINUX_MIB_MAX |
| 262 | }; | 263 | }; |
| 263 | 264 | ||
diff --git a/include/uapi/linux/sockios.h b/include/uapi/linux/sockios.h index 7997a506ad41..e888b1aed69f 100644 --- a/include/uapi/linux/sockios.h +++ b/include/uapi/linux/sockios.h | |||
| @@ -125,7 +125,8 @@ | |||
| 125 | #define SIOCBRDELIF 0x89a3 /* remove interface from bridge */ | 125 | #define SIOCBRDELIF 0x89a3 /* remove interface from bridge */ |
| 126 | 126 | ||
| 127 | /* hardware time stamping: parameters in linux/net_tstamp.h */ | 127 | /* hardware time stamping: parameters in linux/net_tstamp.h */ |
| 128 | #define SIOCSHWTSTAMP 0x89b0 | 128 | #define SIOCSHWTSTAMP 0x89b0 /* set and get config */ |
| 129 | #define SIOCGHWTSTAMP 0x89b1 /* get config */ | ||
| 129 | 130 | ||
| 130 | /* Device private ioctl calls */ | 131 | /* Device private ioctl calls */ |
| 131 | 132 | ||
diff --git a/include/uapi/linux/tc_act/tc_ipt.h b/include/uapi/linux/tc_act/tc_ipt.h index a2335563d21f..130aaadf6fac 100644 --- a/include/uapi/linux/tc_act/tc_ipt.h +++ b/include/uapi/linux/tc_act/tc_ipt.h | |||
| @@ -4,6 +4,7 @@ | |||
| 4 | #include <linux/pkt_cls.h> | 4 | #include <linux/pkt_cls.h> |
| 5 | 5 | ||
| 6 | #define TCA_ACT_IPT 6 | 6 | #define TCA_ACT_IPT 6 |
| 7 | #define TCA_ACT_XT 10 | ||
| 7 | 8 | ||
| 8 | enum { | 9 | enum { |
| 9 | TCA_IPT_UNSPEC, | 10 | TCA_IPT_UNSPEC, |
diff --git a/include/uapi/linux/tcp_metrics.h b/include/uapi/linux/tcp_metrics.h index cb5157b55f32..54a37b13f2c4 100644 --- a/include/uapi/linux/tcp_metrics.h +++ b/include/uapi/linux/tcp_metrics.h | |||
| @@ -35,6 +35,8 @@ enum { | |||
| 35 | TCP_METRICS_ATTR_FOPEN_SYN_DROPS, /* u16, count of drops */ | 35 | TCP_METRICS_ATTR_FOPEN_SYN_DROPS, /* u16, count of drops */ |
| 36 | TCP_METRICS_ATTR_FOPEN_SYN_DROP_TS, /* msecs age */ | 36 | TCP_METRICS_ATTR_FOPEN_SYN_DROP_TS, /* msecs age */ |
| 37 | TCP_METRICS_ATTR_FOPEN_COOKIE, /* binary */ | 37 | TCP_METRICS_ATTR_FOPEN_COOKIE, /* binary */ |
| 38 | TCP_METRICS_ATTR_SADDR_IPV4, /* u32 */ | ||
| 39 | TCP_METRICS_ATTR_SADDR_IPV6, /* binary */ | ||
| 38 | 40 | ||
| 39 | __TCP_METRICS_ATTR_MAX, | 41 | __TCP_METRICS_ATTR_MAX, |
| 40 | }; | 42 | }; |
diff --git a/include/uapi/linux/timex.h b/include/uapi/linux/timex.h index a7ea81f13711..92685d826444 100644 --- a/include/uapi/linux/timex.h +++ b/include/uapi/linux/timex.h | |||
| @@ -63,27 +63,27 @@ | |||
| 63 | */ | 63 | */ |
| 64 | struct timex { | 64 | struct timex { |
| 65 | unsigned int modes; /* mode selector */ | 65 | unsigned int modes; /* mode selector */ |
| 66 | long offset; /* time offset (usec) */ | 66 | __kernel_long_t offset; /* time offset (usec) */ |
| 67 | long freq; /* frequency offset (scaled ppm) */ | 67 | __kernel_long_t freq; /* frequency offset (scaled ppm) */ |
| 68 | long maxerror; /* maximum error (usec) */ | 68 | __kernel_long_t maxerror;/* maximum error (usec) */ |
| 69 | long esterror; /* estimated error (usec) */ | 69 | __kernel_long_t esterror;/* estimated error (usec) */ |
| 70 | int status; /* clock command/status */ | 70 | int status; /* clock command/status */ |
| 71 | long constant; /* pll time constant */ | 71 | __kernel_long_t constant;/* pll time constant */ |
| 72 | long precision; /* clock precision (usec) (read only) */ | 72 | __kernel_long_t precision;/* clock precision (usec) (read only) */ |
| 73 | long tolerance; /* clock frequency tolerance (ppm) | 73 | __kernel_long_t tolerance;/* clock frequency tolerance (ppm) |
| 74 | * (read only) | 74 | * (read only) |
| 75 | */ | 75 | */ |
| 76 | struct timeval time; /* (read only, except for ADJ_SETOFFSET) */ | 76 | struct timeval time; /* (read only, except for ADJ_SETOFFSET) */ |
| 77 | long tick; /* (modified) usecs between clock ticks */ | 77 | __kernel_long_t tick; /* (modified) usecs between clock ticks */ |
| 78 | 78 | ||
| 79 | long ppsfreq; /* pps frequency (scaled ppm) (ro) */ | 79 | __kernel_long_t ppsfreq;/* pps frequency (scaled ppm) (ro) */ |
| 80 | long jitter; /* pps jitter (us) (ro) */ | 80 | __kernel_long_t jitter; /* pps jitter (us) (ro) */ |
| 81 | int shift; /* interval duration (s) (shift) (ro) */ | 81 | int shift; /* interval duration (s) (shift) (ro) */ |
| 82 | long stabil; /* pps stability (scaled ppm) (ro) */ | 82 | __kernel_long_t stabil; /* pps stability (scaled ppm) (ro) */ |
| 83 | long jitcnt; /* jitter limit exceeded (ro) */ | 83 | __kernel_long_t jitcnt; /* jitter limit exceeded (ro) */ |
| 84 | long calcnt; /* calibration intervals (ro) */ | 84 | __kernel_long_t calcnt; /* calibration intervals (ro) */ |
| 85 | long errcnt; /* calibration errors (ro) */ | 85 | __kernel_long_t errcnt; /* calibration errors (ro) */ |
| 86 | long stbcnt; /* stability limit exceeded (ro) */ | 86 | __kernel_long_t stbcnt; /* stability limit exceeded (ro) */ |
| 87 | 87 | ||
| 88 | int tai; /* TAI offset (ro) */ | 88 | int tai; /* TAI offset (ro) */ |
| 89 | 89 | ||
diff --git a/include/uapi/linux/v4l2-controls.h b/include/uapi/linux/v4l2-controls.h index 1666aabbbb86..2cbe605bbe04 100644 --- a/include/uapi/linux/v4l2-controls.h +++ b/include/uapi/linux/v4l2-controls.h | |||
| @@ -164,6 +164,10 @@ enum v4l2_colorfx { | |||
| 164 | * this driver */ | 164 | * this driver */ |
| 165 | #define V4L2_CID_USER_TI_VPE_BASE (V4L2_CID_USER_BASE + 0x1050) | 165 | #define V4L2_CID_USER_TI_VPE_BASE (V4L2_CID_USER_BASE + 0x1050) |
| 166 | 166 | ||
| 167 | /* The base for the saa7134 driver controls. | ||
| 168 | * We reserve 16 controls for this driver. */ | ||
| 169 | #define V4L2_CID_USER_SAA7134_BASE (V4L2_CID_USER_BASE + 0x1060) | ||
| 170 | |||
| 167 | /* MPEG-class control IDs */ | 171 | /* MPEG-class control IDs */ |
| 168 | /* The MPEG controls are applicable to all codec controls | 172 | /* The MPEG controls are applicable to all codec controls |
| 169 | * and the 'MPEG' part of the define is historical */ | 173 | * and the 'MPEG' part of the define is historical */ |
| @@ -554,6 +558,11 @@ enum v4l2_vp8_golden_frame_sel { | |||
| 554 | V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_USE_PREV = 0, | 558 | V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_USE_PREV = 0, |
| 555 | V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_USE_REF_PERIOD = 1, | 559 | V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_USE_REF_PERIOD = 1, |
| 556 | }; | 560 | }; |
| 561 | #define V4L2_CID_MPEG_VIDEO_VPX_MIN_QP (V4L2_CID_MPEG_BASE+507) | ||
| 562 | #define V4L2_CID_MPEG_VIDEO_VPX_MAX_QP (V4L2_CID_MPEG_BASE+508) | ||
| 563 | #define V4L2_CID_MPEG_VIDEO_VPX_I_FRAME_QP (V4L2_CID_MPEG_BASE+509) | ||
| 564 | #define V4L2_CID_MPEG_VIDEO_VPX_P_FRAME_QP (V4L2_CID_MPEG_BASE+510) | ||
| 565 | #define V4L2_CID_MPEG_VIDEO_VPX_PROFILE (V4L2_CID_MPEG_BASE+511) | ||
| 557 | 566 | ||
| 558 | /* MPEG-class control IDs specific to the CX2341x driver as defined by V4L2 */ | 567 | /* MPEG-class control IDs specific to the CX2341x driver as defined by V4L2 */ |
| 559 | #define V4L2_CID_MPEG_CX2341X_BASE (V4L2_CTRL_CLASS_MPEG | 0x1000) | 568 | #define V4L2_CID_MPEG_CX2341X_BASE (V4L2_CTRL_CLASS_MPEG | 0x1000) |
diff --git a/include/uapi/linux/v4l2-mediabus.h b/include/uapi/linux/v4l2-mediabus.h index a9601257bb43..b5c3aab6e82c 100644 --- a/include/uapi/linux/v4l2-mediabus.h +++ b/include/uapi/linux/v4l2-mediabus.h | |||
| @@ -110,6 +110,9 @@ enum v4l2_mbus_pixelcode { | |||
| 110 | 110 | ||
| 111 | /* S5C73M3 sensor specific interleaved UYVY and JPEG */ | 111 | /* S5C73M3 sensor specific interleaved UYVY and JPEG */ |
| 112 | V4L2_MBUS_FMT_S5C_UYVY_JPEG_1X8 = 0x5001, | 112 | V4L2_MBUS_FMT_S5C_UYVY_JPEG_1X8 = 0x5001, |
| 113 | |||
| 114 | /* HSV - next is 0x6002 */ | ||
| 115 | V4L2_MBUS_FMT_AHSV8888_1X32 = 0x6001, | ||
| 113 | }; | 116 | }; |
| 114 | 117 | ||
| 115 | /** | 118 | /** |
diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h index 437f1b0f8937..6ae7bbe988cc 100644 --- a/include/uapi/linux/videodev2.h +++ b/include/uapi/linux/videodev2.h | |||
| @@ -207,8 +207,8 @@ enum v4l2_priority { | |||
| 207 | struct v4l2_rect { | 207 | struct v4l2_rect { |
| 208 | __s32 left; | 208 | __s32 left; |
| 209 | __s32 top; | 209 | __s32 top; |
| 210 | __s32 width; | 210 | __u32 width; |
| 211 | __s32 height; | 211 | __u32 height; |
| 212 | }; | 212 | }; |
| 213 | 213 | ||
| 214 | struct v4l2_fract { | 214 | struct v4l2_fract { |
diff --git a/include/uapi/linux/vsp1.h b/include/uapi/linux/vsp1.h new file mode 100644 index 000000000000..e18858f6e865 --- /dev/null +++ b/include/uapi/linux/vsp1.h | |||
| @@ -0,0 +1,34 @@ | |||
| 1 | /* | ||
| 2 | * vsp1.h | ||
| 3 | * | ||
| 4 | * Renesas R-Car VSP1 - User-space API | ||
| 5 | * | ||
| 6 | * Copyright (C) 2013 Renesas Corporation | ||
| 7 | * | ||
| 8 | * Contacts: Laurent Pinchart <laurent.pinchart@ideasonboard.com> | ||
| 9 | * | ||
| 10 | * This program is free software; you can redistribute it and/or modify | ||
| 11 | * it under the terms of the GNU General Public License version 2 as | ||
| 12 | * published by the Free Software Foundation. | ||
| 13 | */ | ||
| 14 | |||
| 15 | #ifndef __VSP1_USER_H__ | ||
| 16 | #define __VSP1_USER_H__ | ||
| 17 | |||
| 18 | #include <linux/types.h> | ||
| 19 | #include <linux/videodev2.h> | ||
| 20 | |||
| 21 | /* | ||
| 22 | * Private IOCTLs | ||
| 23 | * | ||
| 24 | * VIDIOC_VSP1_LUT_CONFIG - Configure the lookup table | ||
| 25 | */ | ||
| 26 | |||
| 27 | #define VIDIOC_VSP1_LUT_CONFIG \ | ||
| 28 | _IOWR('V', BASE_VIDIOC_PRIVATE + 1, struct vsp1_lut_config) | ||
| 29 | |||
| 30 | struct vsp1_lut_config { | ||
| 31 | u32 lut[256]; | ||
| 32 | }; | ||
| 33 | |||
| 34 | #endif /* __VSP1_USER_H__ */ | ||
diff --git a/include/uapi/linux/xattr.h b/include/uapi/linux/xattr.h index e4629b93bdd6..40bbc04b6f81 100644 --- a/include/uapi/linux/xattr.h +++ b/include/uapi/linux/xattr.h | |||
| @@ -20,6 +20,9 @@ | |||
| 20 | #define XATTR_MAC_OSX_PREFIX "osx." | 20 | #define XATTR_MAC_OSX_PREFIX "osx." |
| 21 | #define XATTR_MAC_OSX_PREFIX_LEN (sizeof(XATTR_MAC_OSX_PREFIX) - 1) | 21 | #define XATTR_MAC_OSX_PREFIX_LEN (sizeof(XATTR_MAC_OSX_PREFIX) - 1) |
| 22 | 22 | ||
| 23 | #define XATTR_BTRFS_PREFIX "btrfs." | ||
| 24 | #define XATTR_BTRFS_PREFIX_LEN (sizeof(XATTR_BTRFS_PREFIX) - 1) | ||
| 25 | |||
| 23 | #define XATTR_SECURITY_PREFIX "security." | 26 | #define XATTR_SECURITY_PREFIX "security." |
| 24 | #define XATTR_SECURITY_PREFIX_LEN (sizeof(XATTR_SECURITY_PREFIX) - 1) | 27 | #define XATTR_SECURITY_PREFIX_LEN (sizeof(XATTR_SECURITY_PREFIX) - 1) |
| 25 | 28 | ||
diff --git a/include/uapi/linux/zorro.h b/include/uapi/linux/zorro.h new file mode 100644 index 000000000000..59d021b242ed --- /dev/null +++ b/include/uapi/linux/zorro.h | |||
| @@ -0,0 +1,113 @@ | |||
| 1 | /* | ||
| 2 | * linux/zorro.h -- Amiga AutoConfig (Zorro) Bus Definitions | ||
| 3 | * | ||
| 4 | * Copyright (C) 1995--2003 Geert Uytterhoeven | ||
| 5 | * | ||
| 6 | * This file is subject to the terms and conditions of the GNU General Public | ||
| 7 | * License. See the file COPYING in the main directory of this archive | ||
| 8 | * for more details. | ||
| 9 | */ | ||
| 10 | |||
| 11 | #ifndef _UAPI_LINUX_ZORRO_H | ||
| 12 | #define _UAPI_LINUX_ZORRO_H | ||
| 13 | |||
| 14 | #include <linux/types.h> | ||
| 15 | |||
| 16 | |||
| 17 | /* | ||
| 18 | * Each Zorro board has a 32-bit ID of the form | ||
| 19 | * | ||
| 20 | * mmmmmmmmmmmmmmmmppppppppeeeeeeee | ||
| 21 | * | ||
| 22 | * with | ||
| 23 | * | ||
| 24 | * mmmmmmmmmmmmmmmm 16-bit Manufacturer ID (assigned by CBM (sigh)) | ||
| 25 | * pppppppp 8-bit Product ID (assigned by manufacturer) | ||
| 26 | * eeeeeeee 8-bit Extended Product ID (currently only used | ||
| 27 | * for some GVP boards) | ||
| 28 | */ | ||
| 29 | |||
| 30 | |||
| 31 | #define ZORRO_MANUF(id) ((id) >> 16) | ||
| 32 | #define ZORRO_PROD(id) (((id) >> 8) & 0xff) | ||
| 33 | #define ZORRO_EPC(id) ((id) & 0xff) | ||
| 34 | |||
| 35 | #define ZORRO_ID(manuf, prod, epc) \ | ||
| 36 | ((ZORRO_MANUF_##manuf << 16) | ((prod) << 8) | (epc)) | ||
| 37 | |||
| 38 | typedef __u32 zorro_id; | ||
| 39 | |||
| 40 | |||
| 41 | /* Include the ID list */ | ||
| 42 | #include <linux/zorro_ids.h> | ||
| 43 | |||
| 44 | |||
| 45 | /* | ||
| 46 | * GVP identifies most of its products through the 'extended product code' | ||
| 47 | * (epc). The epc has to be ANDed with the GVP_PRODMASK before the | ||
| 48 | * identification. | ||
| 49 | */ | ||
| 50 | |||
| 51 | #define GVP_PRODMASK (0xf8) | ||
| 52 | #define GVP_SCSICLKMASK (0x01) | ||
| 53 | |||
| 54 | enum GVP_flags { | ||
| 55 | GVP_IO = 0x01, | ||
| 56 | GVP_ACCEL = 0x02, | ||
| 57 | GVP_SCSI = 0x04, | ||
| 58 | GVP_24BITDMA = 0x08, | ||
| 59 | GVP_25BITDMA = 0x10, | ||
| 60 | GVP_NOBANK = 0x20, | ||
| 61 | GVP_14MHZ = 0x40, | ||
| 62 | }; | ||
| 63 | |||
| 64 | |||
| 65 | struct Node { | ||
| 66 | __be32 ln_Succ; /* Pointer to next (successor) */ | ||
| 67 | __be32 ln_Pred; /* Pointer to previous (predecessor) */ | ||
| 68 | __u8 ln_Type; | ||
| 69 | __s8 ln_Pri; /* Priority, for sorting */ | ||
| 70 | __be32 ln_Name; /* ID string, null terminated */ | ||
| 71 | } __packed; | ||
| 72 | |||
| 73 | struct ExpansionRom { | ||
| 74 | /* -First 16 bytes of the expansion ROM */ | ||
| 75 | __u8 er_Type; /* Board type, size and flags */ | ||
| 76 | __u8 er_Product; /* Product number, assigned by manufacturer */ | ||
| 77 | __u8 er_Flags; /* Flags */ | ||
| 78 | __u8 er_Reserved03; /* Must be zero ($ff inverted) */ | ||
| 79 | __be16 er_Manufacturer; /* Unique ID, ASSIGNED BY COMMODORE-AMIGA! */ | ||
| 80 | __be32 er_SerialNumber; /* Available for use by manufacturer */ | ||
| 81 | __be16 er_InitDiagVec; /* Offset to optional "DiagArea" structure */ | ||
| 82 | __u8 er_Reserved0c; | ||
| 83 | __u8 er_Reserved0d; | ||
| 84 | __u8 er_Reserved0e; | ||
| 85 | __u8 er_Reserved0f; | ||
| 86 | } __packed; | ||
| 87 | |||
| 88 | /* er_Type board type bits */ | ||
| 89 | #define ERT_TYPEMASK 0xc0 | ||
| 90 | #define ERT_ZORROII 0xc0 | ||
| 91 | #define ERT_ZORROIII 0x80 | ||
| 92 | |||
| 93 | /* other bits defined in er_Type */ | ||
| 94 | #define ERTB_MEMLIST 5 /* Link RAM into free memory list */ | ||
| 95 | #define ERTF_MEMLIST (1<<5) | ||
| 96 | |||
| 97 | struct ConfigDev { | ||
| 98 | struct Node cd_Node; | ||
| 99 | __u8 cd_Flags; /* (read/write) */ | ||
| 100 | __u8 cd_Pad; /* reserved */ | ||
| 101 | struct ExpansionRom cd_Rom; /* copy of board's expansion ROM */ | ||
| 102 | __be32 cd_BoardAddr; /* where in memory the board was placed */ | ||
| 103 | __be32 cd_BoardSize; /* size of board in bytes */ | ||
| 104 | __be16 cd_SlotAddr; /* which slot number (PRIVATE) */ | ||
| 105 | __be16 cd_SlotSize; /* number of slots (PRIVATE) */ | ||
| 106 | __be32 cd_Driver; /* pointer to node of driver */ | ||
| 107 | __be32 cd_NextCD; /* linked list of drivers to config */ | ||
| 108 | __be32 cd_Unused[4]; /* for whatever the driver wants */ | ||
| 109 | } __packed; | ||
| 110 | |||
| 111 | #define ZORRO_NUM_AUTO 16 | ||
| 112 | |||
| 113 | #endif /* _UAPI_LINUX_ZORRO_H */ | ||
diff --git a/include/uapi/linux/zorro_ids.h b/include/uapi/linux/zorro_ids.h new file mode 100644 index 000000000000..74bc53bcfdcf --- /dev/null +++ b/include/uapi/linux/zorro_ids.h | |||
| @@ -0,0 +1,552 @@ | |||
| 1 | /* | ||
| 2 | * Zorro board IDs | ||
| 3 | * | ||
| 4 | * Please keep sorted. | ||
| 5 | */ | ||
| 6 | |||
| 7 | |||
| 8 | #define ZORRO_MANUF_PACIFIC_PERIPHERALS 0x00D3 | ||
| 9 | #define ZORRO_PROD_PACIFIC_PERIPHERALS_SE_2000_A500 ZORRO_ID(PACIFIC_PERIPHERALS, 0x00, 0) | ||
| 10 | #define ZORRO_PROD_PACIFIC_PERIPHERALS_SCSI ZORRO_ID(PACIFIC_PERIPHERALS, 0x0A, 0) | ||
| 11 | |||
| 12 | #define ZORRO_MANUF_MACROSYSTEMS_USA_2 0x0100 | ||
| 13 | #define ZORRO_PROD_MACROSYSTEMS_WARP_ENGINE ZORRO_ID(MACROSYSTEMS_USA_2, 0x13, 0) | ||
| 14 | |||
| 15 | #define ZORRO_MANUF_KUPKE_1 0x00DD | ||
| 16 | #define ZORRO_PROD_KUPKE_GOLEM_RAM_BOX_2MB ZORRO_ID(KUPKE_1, 0x00, 0) | ||
| 17 | |||
| 18 | #define ZORRO_MANUF_MEMPHIS 0x0100 | ||
| 19 | #define ZORRO_PROD_MEMPHIS_STORMBRINGER ZORRO_ID(MEMPHIS, 0x00, 0) | ||
| 20 | |||
| 21 | #define ZORRO_MANUF_3_STATE 0x0200 | ||
| 22 | #define ZORRO_PROD_3_STATE_MEGAMIX_2000 ZORRO_ID(3_STATE, 0x02, 0) | ||
| 23 | |||
| 24 | #define ZORRO_MANUF_COMMODORE_BRAUNSCHWEIG 0x0201 | ||
| 25 | #define ZORRO_PROD_CBM_A2088_A2286 ZORRO_ID(COMMODORE_BRAUNSCHWEIG, 0x01, 0) | ||
| 26 | #define ZORRO_PROD_CBM_A2286 ZORRO_ID(COMMODORE_BRAUNSCHWEIG, 0x02, 0) | ||
| 27 | #define ZORRO_PROD_CBM_A4091_1 ZORRO_ID(COMMODORE_BRAUNSCHWEIG, 0x54, 0) | ||
| 28 | #define ZORRO_PROD_CBM_A2386SX_1 ZORRO_ID(COMMODORE_BRAUNSCHWEIG, 0x67, 0) | ||
| 29 | |||
| 30 | #define ZORRO_MANUF_COMMODORE_WEST_CHESTER_1 0x0202 | ||
| 31 | #define ZORRO_PROD_CBM_A2090A ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x01, 0) | ||
| 32 | #define ZORRO_PROD_CBM_A590_A2091_1 ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x02, 0) | ||
| 33 | #define ZORRO_PROD_CBM_A590_A2091_2 ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x03, 0) | ||
| 34 | #define ZORRO_PROD_CBM_A2090B ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x04, 0) | ||
| 35 | #define ZORRO_PROD_CBM_A2060 ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x09, 0) | ||
| 36 | #define ZORRO_PROD_CBM_A590_A2052_A2058_A2091 ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x0A, 0) | ||
| 37 | #define ZORRO_PROD_CBM_A560_RAM ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x20, 0) | ||
| 38 | #define ZORRO_PROD_CBM_A2232_PROTOTYPE ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x45, 0) | ||
| 39 | #define ZORRO_PROD_CBM_A2232 ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x46, 0) | ||
| 40 | #define ZORRO_PROD_CBM_A2620 ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x50, 0) | ||
| 41 | #define ZORRO_PROD_CBM_A2630 ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x51, 0) | ||
| 42 | #define ZORRO_PROD_CBM_A4091_2 ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x54, 0) | ||
| 43 | #define ZORRO_PROD_CBM_A2065_1 ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x5A, 0) | ||
| 44 | #define ZORRO_PROD_CBM_ROMULATOR ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x60, 0) | ||
| 45 | #define ZORRO_PROD_CBM_A3000_TEST_FIXTURE ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x61, 0) | ||
| 46 | #define ZORRO_PROD_CBM_A2386SX_2 ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x67, 0) | ||
| 47 | #define ZORRO_PROD_CBM_A2065_2 ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x70, 0) | ||
| 48 | |||
| 49 | #define ZORRO_MANUF_COMMODORE_WEST_CHESTER_2 0x0203 | ||
| 50 | #define ZORRO_PROD_CBM_A2090A_CM ZORRO_ID(COMMODORE_WEST_CHESTER_2, 0x03, 0) | ||
| 51 | |||
| 52 | #define ZORRO_MANUF_PROGRESSIVE_PERIPHERALS_AND_SYSTEMS_2 0x02F4 | ||
| 53 | #define ZORRO_PROD_PPS_EXP8000 ZORRO_ID(PROGRESSIVE_PERIPHERALS_AND_SYSTEMS_2, 0x02, 0) | ||
| 54 | |||
| 55 | #define ZORRO_MANUF_KOLFF_COMPUTER_SUPPLIES 0x02FF | ||
| 56 | #define ZORRO_PROD_KCS_POWER_PC_BOARD ZORRO_ID(KOLFF_COMPUTER_SUPPLIES, 0x00, 0) | ||
| 57 | |||
| 58 | #define ZORRO_MANUF_CARDCO_1 0x03EC | ||
| 59 | #define ZORRO_PROD_CARDCO_KRONOS_2000_1 ZORRO_ID(CARDCO_1, 0x04, 0) | ||
| 60 | #define ZORRO_PROD_CARDCO_A1000_1 ZORRO_ID(CARDCO_1, 0x0C, 0) | ||
| 61 | #define ZORRO_PROD_CARDCO_ESCORT ZORRO_ID(CARDCO_1, 0x0E, 0) | ||
| 62 | #define ZORRO_PROD_CARDCO_A2410 ZORRO_ID(CARDCO_1, 0xF5, 0) | ||
| 63 | |||
| 64 | #define ZORRO_MANUF_A_SQUARED 0x03ED | ||
| 65 | #define ZORRO_PROD_A_SQUARED_LIVE_2000 ZORRO_ID(A_SQUARED, 0x01, 0) | ||
| 66 | |||
| 67 | #define ZORRO_MANUF_COMSPEC_COMMUNICATIONS 0x03EE | ||
| 68 | #define ZORRO_PROD_COMSPEC_COMMUNICATIONS_AX2000 ZORRO_ID(COMSPEC_COMMUNICATIONS, 0x01, 0) | ||
| 69 | |||
| 70 | #define ZORRO_MANUF_ANAKIN_RESEARCH 0x03F1 | ||
| 71 | #define ZORRO_PROD_ANAKIN_RESEARCH_EASYL ZORRO_ID(ANAKIN_RESEARCH, 0x01, 0) | ||
| 72 | |||
| 73 | #define ZORRO_MANUF_MICROBOTICS 0x03F2 | ||
| 74 | #define ZORRO_PROD_MICROBOTICS_STARBOARD_II ZORRO_ID(MICROBOTICS, 0x00, 0) | ||
| 75 | #define ZORRO_PROD_MICROBOTICS_STARDRIVE ZORRO_ID(MICROBOTICS, 0x02, 0) | ||
| 76 | #define ZORRO_PROD_MICROBOTICS_8_UP_A ZORRO_ID(MICROBOTICS, 0x03, 0) | ||
| 77 | #define ZORRO_PROD_MICROBOTICS_8_UP_Z ZORRO_ID(MICROBOTICS, 0x04, 0) | ||
| 78 | #define ZORRO_PROD_MICROBOTICS_DELTA_RAM ZORRO_ID(MICROBOTICS, 0x20, 0) | ||
| 79 | #define ZORRO_PROD_MICROBOTICS_8_STAR_RAM ZORRO_ID(MICROBOTICS, 0x40, 0) | ||
| 80 | #define ZORRO_PROD_MICROBOTICS_8_STAR ZORRO_ID(MICROBOTICS, 0x41, 0) | ||
| 81 | #define ZORRO_PROD_MICROBOTICS_VXL_RAM_32 ZORRO_ID(MICROBOTICS, 0x44, 0) | ||
| 82 | #define ZORRO_PROD_MICROBOTICS_VXL_68030 ZORRO_ID(MICROBOTICS, 0x45, 0) | ||
| 83 | #define ZORRO_PROD_MICROBOTICS_DELTA ZORRO_ID(MICROBOTICS, 0x60, 0) | ||
| 84 | #define ZORRO_PROD_MICROBOTICS_MBX_1200_1200Z_RAM ZORRO_ID(MICROBOTICS, 0x81, 0) | ||
| 85 | #define ZORRO_PROD_MICROBOTICS_HARDFRAME_2000_1 ZORRO_ID(MICROBOTICS, 0x96, 0) | ||
| 86 | #define ZORRO_PROD_MICROBOTICS_HARDFRAME_2000_2 ZORRO_ID(MICROBOTICS, 0x9E, 0) | ||
| 87 | #define ZORRO_PROD_MICROBOTICS_MBX_1200_1200Z ZORRO_ID(MICROBOTICS, 0xC1, 0) | ||
| 88 | |||
| 89 | #define ZORRO_MANUF_ACCESS_ASSOCIATES_ALEGRA 0x03F4 | ||
| 90 | |||
| 91 | #define ZORRO_MANUF_EXPANSION_TECHNOLOGIES 0x03F6 | ||
| 92 | |||
| 93 | #define ZORRO_MANUF_ASDG 0x03FF | ||
| 94 | #define ZORRO_PROD_ASDG_MEMORY_1 ZORRO_ID(ASDG, 0x01, 0) | ||
| 95 | #define ZORRO_PROD_ASDG_MEMORY_2 ZORRO_ID(ASDG, 0x02, 0) | ||
| 96 | #define ZORRO_PROD_ASDG_EB920_LAN_ROVER ZORRO_ID(ASDG, 0xFE, 0) | ||
| 97 | #define ZORRO_PROD_ASDG_GPIB_DUALIEEE488_TWIN_X ZORRO_ID(ASDG, 0xFF, 0) | ||
| 98 | |||
| 99 | #define ZORRO_MANUF_IMTRONICS_1 0x0404 | ||
| 100 | #define ZORRO_PROD_IMTRONICS_HURRICANE_2800_1 ZORRO_ID(IMTRONICS_1, 0x39, 0) | ||
| 101 | #define ZORRO_PROD_IMTRONICS_HURRICANE_2800_2 ZORRO_ID(IMTRONICS_1, 0x57, 0) | ||
| 102 | |||
| 103 | #define ZORRO_MANUF_CBM_UNIVERSITY_OF_LOWELL 0x0406 | ||
| 104 | #define ZORRO_PROD_CBM_A2410 ZORRO_ID(CBM_UNIVERSITY_OF_LOWELL, 0x00, 0) | ||
| 105 | |||
| 106 | #define ZORRO_MANUF_AMERISTAR 0x041D | ||
| 107 | #define ZORRO_PROD_AMERISTAR_A2065 ZORRO_ID(AMERISTAR, 0x01, 0) | ||
| 108 | #define ZORRO_PROD_AMERISTAR_A560 ZORRO_ID(AMERISTAR, 0x09, 0) | ||
| 109 | #define ZORRO_PROD_AMERISTAR_A4066 ZORRO_ID(AMERISTAR, 0x0A, 0) | ||
| 110 | |||
| 111 | #define ZORRO_MANUF_SUPRA 0x0420 | ||
| 112 | #define ZORRO_PROD_SUPRA_SUPRADRIVE_4x4 ZORRO_ID(SUPRA, 0x01, 0) | ||
| 113 | #define ZORRO_PROD_SUPRA_1000_RAM ZORRO_ID(SUPRA, 0x02, 0) | ||
| 114 | #define ZORRO_PROD_SUPRA_2000_DMA ZORRO_ID(SUPRA, 0x03, 0) | ||
| 115 | #define ZORRO_PROD_SUPRA_500 ZORRO_ID(SUPRA, 0x05, 0) | ||
| 116 | #define ZORRO_PROD_SUPRA_500_SCSI ZORRO_ID(SUPRA, 0x08, 0) | ||
| 117 | #define ZORRO_PROD_SUPRA_500XP_2000_RAM ZORRO_ID(SUPRA, 0x09, 0) | ||
| 118 | #define ZORRO_PROD_SUPRA_500RX_2000_RAM ZORRO_ID(SUPRA, 0x0A, 0) | ||
| 119 | #define ZORRO_PROD_SUPRA_2400ZI ZORRO_ID(SUPRA, 0x0B, 0) | ||
| 120 | #define ZORRO_PROD_SUPRA_500XP_SUPRADRIVE_WORDSYNC ZORRO_ID(SUPRA, 0x0C, 0) | ||
| 121 | #define ZORRO_PROD_SUPRA_SUPRADRIVE_WORDSYNC_II ZORRO_ID(SUPRA, 0x0D, 0) | ||
| 122 | #define ZORRO_PROD_SUPRA_2400ZIPLUS ZORRO_ID(SUPRA, 0x10, 0) | ||
| 123 | |||
| 124 | #define ZORRO_MANUF_COMPUTER_SYSTEMS_ASSOCIATES 0x0422 | ||
| 125 | #define ZORRO_PROD_CSA_MAGNUM ZORRO_ID(COMPUTER_SYSTEMS_ASSOCIATES, 0x11, 0) | ||
| 126 | #define ZORRO_PROD_CSA_12_GAUGE ZORRO_ID(COMPUTER_SYSTEMS_ASSOCIATES, 0x15, 0) | ||
| 127 | |||
| 128 | #define ZORRO_MANUF_MARC_MICHAEL_GROTH 0x0439 | ||
| 129 | |||
| 130 | #define ZORRO_MANUF_M_TECH 0x0502 | ||
| 131 | #define ZORRO_PROD_MTEC_AT500_1 ZORRO_ID(M_TECH, 0x03, 0) | ||
| 132 | |||
| 133 | #define ZORRO_MANUF_GREAT_VALLEY_PRODUCTS_1 0x06E1 | ||
| 134 | #define ZORRO_PROD_GVP_IMPACT_SERIES_I ZORRO_ID(GREAT_VALLEY_PRODUCTS_1, 0x08, 0) | ||
| 135 | |||
| 136 | #define ZORRO_MANUF_BYTEBOX 0x07DA | ||
| 137 | #define ZORRO_PROD_BYTEBOX_A500 ZORRO_ID(BYTEBOX, 0x00, 0) | ||
| 138 | |||
| 139 | #define ZORRO_MANUF_DKB_POWER_COMPUTING 0x07DC | ||
| 140 | #define ZORRO_PROD_DKB_POWER_COMPUTING_SECUREKEY ZORRO_ID(DKB_POWER_COMPUTING, 0x09, 0) | ||
| 141 | #define ZORRO_PROD_DKB_POWER_COMPUTING_DKM_3128 ZORRO_ID(DKB_POWER_COMPUTING, 0x0E, 0) | ||
| 142 | #define ZORRO_PROD_DKB_POWER_COMPUTING_RAPID_FIRE ZORRO_ID(DKB_POWER_COMPUTING, 0x0F, 0) | ||
| 143 | #define ZORRO_PROD_DKB_POWER_COMPUTING_DKM_1202 ZORRO_ID(DKB_POWER_COMPUTING, 0x10, 0) | ||
| 144 | #define ZORRO_PROD_DKB_POWER_COMPUTING_COBRA_VIPER_II_68EC030 ZORRO_ID(DKB_POWER_COMPUTING, 0x12, 0) | ||
| 145 | #define ZORRO_PROD_DKB_POWER_COMPUTING_WILDFIRE_060_1 ZORRO_ID(DKB_POWER_COMPUTING, 0x17, 0) | ||
| 146 | #define ZORRO_PROD_DKB_POWER_COMPUTING_WILDFIRE_060_2 ZORRO_ID(DKB_POWER_COMPUTING, 0xFF, 0) | ||
| 147 | |||
| 148 | #define ZORRO_MANUF_GREAT_VALLEY_PRODUCTS_2 0x07E1 | ||
| 149 | #define ZORRO_PROD_GVP_IMPACT_SERIES_I_4K ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x01, 0) | ||
| 150 | #define ZORRO_PROD_GVP_IMPACT_SERIES_I_16K_2 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x02, 0) | ||
| 151 | #define ZORRO_PROD_GVP_IMPACT_SERIES_I_16K_3 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x03, 0) | ||
| 152 | #define ZORRO_PROD_GVP_IMPACT_3001_IDE_1 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x08, 0) | ||
| 153 | #define ZORRO_PROD_GVP_IMPACT_3001_RAM ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x09, 0) | ||
| 154 | #define ZORRO_PROD_GVP_IMPACT_SERIES_II_RAM_1 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0A, 0) | ||
| 155 | #define ZORRO_PROD_GVP_EPC_BASE ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0) | ||
| 156 | #define ZORRO_PROD_GVP_GFORCE_040_1 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0x20) | ||
| 157 | #define ZORRO_PROD_GVP_GFORCE_040_SCSI_1 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0x30) | ||
| 158 | #define ZORRO_PROD_GVP_A1291 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0x40) | ||
| 159 | #define ZORRO_PROD_GVP_COMBO_030_R4 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0x60) | ||
| 160 | #define ZORRO_PROD_GVP_COMBO_030_R4_SCSI ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0x70) | ||
| 161 | #define ZORRO_PROD_GVP_PHONEPAK ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0x78) | ||
| 162 | #define ZORRO_PROD_GVP_IO_EXTENDER ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0x98) | ||
| 163 | #define ZORRO_PROD_GVP_GFORCE_030 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0xa0) | ||
| 164 | #define ZORRO_PROD_GVP_GFORCE_030_SCSI ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0xb0) | ||
| 165 | #define ZORRO_PROD_GVP_A530 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0xc0) | ||
| 166 | #define ZORRO_PROD_GVP_A530_SCSI ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0xd0) | ||
| 167 | #define ZORRO_PROD_GVP_COMBO_030_R3 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0xe0) | ||
| 168 | #define ZORRO_PROD_GVP_COMBO_030_R3_SCSI ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0xf0) | ||
| 169 | #define ZORRO_PROD_GVP_SERIES_II ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0xf8) | ||
| 170 | #define ZORRO_PROD_GVP_IMPACT_3001_IDE_2 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0D, 0) | ||
| 171 | /*#define ZORRO_PROD_GVP_A2000_030 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0D, 0)*/ | ||
| 172 | /*#define ZORRO_PROD_GVP_GFORCE_040_SCSI_2 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0D, 0)*/ | ||
| 173 | #define ZORRO_PROD_GVP_GFORCE_040_060 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x16, 0) | ||
| 174 | #define ZORRO_PROD_GVP_IMPACT_VISION_24 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x20, 0) | ||
| 175 | #define ZORRO_PROD_GVP_GFORCE_040_2 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0xFF, 0) | ||
| 176 | |||
| 177 | #define ZORRO_MANUF_CALIFORNIA_ACCESS_SYNERGY 0x07E5 | ||
| 178 | #define ZORRO_PROD_CALIFORNIA_ACCESS_SYNERGY_MALIBU ZORRO_ID(CALIFORNIA_ACCESS_SYNERGY, 0x01, 0) | ||
| 179 | |||
| 180 | #define ZORRO_MANUF_XETEC 0x07E6 | ||
| 181 | #define ZORRO_PROD_XETEC_FASTCARD ZORRO_ID(XETEC, 0x01, 0) | ||
| 182 | #define ZORRO_PROD_XETEC_FASTCARD_RAM ZORRO_ID(XETEC, 0x02, 0) | ||
| 183 | #define ZORRO_PROD_XETEC_FASTCARD_PLUS ZORRO_ID(XETEC, 0x03, 0) | ||
| 184 | |||
| 185 | #define ZORRO_MANUF_PROGRESSIVE_PERIPHERALS_AND_SYSTEMS 0x07EA | ||
| 186 | #define ZORRO_PROD_PPS_MERCURY ZORRO_ID(PROGRESSIVE_PERIPHERALS_AND_SYSTEMS, 0x00, 0) | ||
| 187 | #define ZORRO_PROD_PPS_A3000_68040 ZORRO_ID(PROGRESSIVE_PERIPHERALS_AND_SYSTEMS, 0x01, 0) | ||
| 188 | #define ZORRO_PROD_PPS_A2000_68040 ZORRO_ID(PROGRESSIVE_PERIPHERALS_AND_SYSTEMS, 0x69, 0) | ||
| 189 | #define ZORRO_PROD_PPS_ZEUS ZORRO_ID(PROGRESSIVE_PERIPHERALS_AND_SYSTEMS, 0x96, 0) | ||
| 190 | #define ZORRO_PROD_PPS_A500_68040 ZORRO_ID(PROGRESSIVE_PERIPHERALS_AND_SYSTEMS, 0xBB, 0) | ||
| 191 | |||
| 192 | #define ZORRO_MANUF_XEBEC 0x07EC | ||
| 193 | |||
| 194 | #define ZORRO_MANUF_SPIRIT_TECHNOLOGY 0x07F2 | ||
| 195 | #define ZORRO_PROD_SPIRIT_TECHNOLOGY_INSIDER_IN1000 ZORRO_ID(SPIRIT_TECHNOLOGY, 0x01, 0) | ||
| 196 | #define ZORRO_PROD_SPIRIT_TECHNOLOGY_INSIDER_IN500 ZORRO_ID(SPIRIT_TECHNOLOGY, 0x02, 0) | ||
| 197 | #define ZORRO_PROD_SPIRIT_TECHNOLOGY_SIN500 ZORRO_ID(SPIRIT_TECHNOLOGY, 0x03, 0) | ||
| 198 | #define ZORRO_PROD_SPIRIT_TECHNOLOGY_HDA_506 ZORRO_ID(SPIRIT_TECHNOLOGY, 0x04, 0) | ||
| 199 | #define ZORRO_PROD_SPIRIT_TECHNOLOGY_AX_S ZORRO_ID(SPIRIT_TECHNOLOGY, 0x05, 0) | ||
| 200 | #define ZORRO_PROD_SPIRIT_TECHNOLOGY_OCTABYTE ZORRO_ID(SPIRIT_TECHNOLOGY, 0x06, 0) | ||
| 201 | #define ZORRO_PROD_SPIRIT_TECHNOLOGY_INMATE ZORRO_ID(SPIRIT_TECHNOLOGY, 0x08, 0) | ||
| 202 | |||
| 203 | #define ZORRO_MANUF_SPIRIT_TECHNOLOGY_2 0x07F3 | ||
| 204 | |||
| 205 | #define ZORRO_MANUF_BSC_ALFADATA_1 0x07FE | ||
| 206 | #define ZORRO_PROD_BSC_ALF_3_1 ZORRO_ID(BSC_ALFADATA_1, 0x03, 0) | ||
| 207 | |||
| 208 | #define ZORRO_MANUF_BSC_ALFADATA_2 0x0801 | ||
| 209 | #define ZORRO_PROD_BSC_ALF_2_1 ZORRO_ID(BSC_ALFADATA_2, 0x01, 0) | ||
| 210 | #define ZORRO_PROD_BSC_ALF_2_2 ZORRO_ID(BSC_ALFADATA_2, 0x02, 0) | ||
| 211 | #define ZORRO_PROD_BSC_ALF_3_2 ZORRO_ID(BSC_ALFADATA_2, 0x03, 0) | ||
| 212 | |||
| 213 | #define ZORRO_MANUF_CARDCO_2 0x0802 | ||
| 214 | #define ZORRO_PROD_CARDCO_KRONOS_2000_2 ZORRO_ID(CARDCO_2, 0x04, 0) | ||
| 215 | #define ZORRO_PROD_CARDCO_A1000_2 ZORRO_ID(CARDCO_2, 0x0C, 0) | ||
| 216 | |||
| 217 | #define ZORRO_MANUF_JOCHHEIM 0x0804 | ||
| 218 | #define ZORRO_PROD_JOCHHEIM_RAM ZORRO_ID(JOCHHEIM, 0x01, 0) | ||
| 219 | |||
| 220 | #define ZORRO_MANUF_CHECKPOINT_TECHNOLOGIES 0x0807 | ||
| 221 | #define ZORRO_PROD_CHECKPOINT_TECHNOLOGIES_SERIAL_SOLUTION ZORRO_ID(CHECKPOINT_TECHNOLOGIES, 0x00, 0) | ||
| 222 | |||
| 223 | #define ZORRO_MANUF_EDOTRONIK 0x0810 | ||
| 224 | #define ZORRO_PROD_EDOTRONIK_IEEE_488 ZORRO_ID(EDOTRONIK, 0x01, 0) | ||
| 225 | #define ZORRO_PROD_EDOTRONIK_8032 ZORRO_ID(EDOTRONIK, 0x02, 0) | ||
| 226 | #define ZORRO_PROD_EDOTRONIK_MULTISERIAL ZORRO_ID(EDOTRONIK, 0x03, 0) | ||
| 227 | #define ZORRO_PROD_EDOTRONIK_VIDEODIGITIZER ZORRO_ID(EDOTRONIK, 0x04, 0) | ||
| 228 | #define ZORRO_PROD_EDOTRONIK_PARALLEL_IO ZORRO_ID(EDOTRONIK, 0x05, 0) | ||
| 229 | #define ZORRO_PROD_EDOTRONIK_PIC_PROTOYPING ZORRO_ID(EDOTRONIK, 0x06, 0) | ||
| 230 | #define ZORRO_PROD_EDOTRONIK_ADC ZORRO_ID(EDOTRONIK, 0x07, 0) | ||
| 231 | #define ZORRO_PROD_EDOTRONIK_VME ZORRO_ID(EDOTRONIK, 0x08, 0) | ||
| 232 | #define ZORRO_PROD_EDOTRONIK_DSP96000 ZORRO_ID(EDOTRONIK, 0x09, 0) | ||
| 233 | |||
| 234 | #define ZORRO_MANUF_NES_INC 0x0813 | ||
| 235 | #define ZORRO_PROD_NES_INC_RAM ZORRO_ID(NES_INC, 0x00, 0) | ||
| 236 | |||
| 237 | #define ZORRO_MANUF_ICD 0x0817 | ||
| 238 | #define ZORRO_PROD_ICD_ADVANTAGE_2000_SCSI ZORRO_ID(ICD, 0x01, 0) | ||
| 239 | #define ZORRO_PROD_ICD_ADVANTAGE_IDE ZORRO_ID(ICD, 0x03, 0) | ||
| 240 | #define ZORRO_PROD_ICD_ADVANTAGE_2080_RAM ZORRO_ID(ICD, 0x04, 0) | ||
| 241 | |||
| 242 | #define ZORRO_MANUF_KUPKE_2 0x0819 | ||
| 243 | #define ZORRO_PROD_KUPKE_OMTI ZORRO_ID(KUPKE_2, 0x01, 0) | ||
| 244 | #define ZORRO_PROD_KUPKE_SCSI_II ZORRO_ID(KUPKE_2, 0x02, 0) | ||
| 245 | #define ZORRO_PROD_KUPKE_GOLEM_BOX ZORRO_ID(KUPKE_2, 0x03, 0) | ||
| 246 | #define ZORRO_PROD_KUPKE_030_882 ZORRO_ID(KUPKE_2, 0x04, 0) | ||
| 247 | #define ZORRO_PROD_KUPKE_SCSI_AT ZORRO_ID(KUPKE_2, 0x05, 0) | ||
| 248 | |||
| 249 | #define ZORRO_MANUF_GREAT_VALLEY_PRODUCTS_3 0x081D | ||
| 250 | #define ZORRO_PROD_GVP_A2000_RAM8 ZORRO_ID(GREAT_VALLEY_PRODUCTS_3, 0x09, 0) | ||
| 251 | #define ZORRO_PROD_GVP_IMPACT_SERIES_II_RAM_2 ZORRO_ID(GREAT_VALLEY_PRODUCTS_3, 0x0A, 0) | ||
| 252 | |||
| 253 | #define ZORRO_MANUF_INTERWORKS_NETWORK 0x081E | ||
| 254 | |||
| 255 | #define ZORRO_MANUF_HARDITAL_SYNTHESIS 0x0820 | ||
| 256 | #define ZORRO_PROD_HARDITAL_SYNTHESIS_TQM_68030_68882 ZORRO_ID(HARDITAL_SYNTHESIS, 0x14, 0) | ||
| 257 | |||
| 258 | #define ZORRO_MANUF_APPLIED_ENGINEERING 0x0828 | ||
| 259 | #define ZORRO_PROD_APPLIED_ENGINEERING_DL2000 ZORRO_ID(APPLIED_ENGINEERING, 0x10, 0) | ||
| 260 | #define ZORRO_PROD_APPLIED_ENGINEERING_RAM_WORKS ZORRO_ID(APPLIED_ENGINEERING, 0xE0, 0) | ||
| 261 | |||
| 262 | #define ZORRO_MANUF_BSC_ALFADATA_3 0x082C | ||
| 263 | #define ZORRO_PROD_BSC_OKTAGON_2008 ZORRO_ID(BSC_ALFADATA_3, 0x05, 0) | ||
| 264 | #define ZORRO_PROD_BSC_TANDEM_AT_2008_508 ZORRO_ID(BSC_ALFADATA_3, 0x06, 0) | ||
| 265 | #define ZORRO_PROD_BSC_ALFA_RAM_1200 ZORRO_ID(BSC_ALFADATA_3, 0x07, 0) | ||
| 266 | #define ZORRO_PROD_BSC_OKTAGON_2008_RAM ZORRO_ID(BSC_ALFADATA_3, 0x08, 0) | ||
| 267 | #define ZORRO_PROD_BSC_MULTIFACE_I ZORRO_ID(BSC_ALFADATA_3, 0x10, 0) | ||
| 268 | #define ZORRO_PROD_BSC_MULTIFACE_II ZORRO_ID(BSC_ALFADATA_3, 0x11, 0) | ||
| 269 | #define ZORRO_PROD_BSC_MULTIFACE_III ZORRO_ID(BSC_ALFADATA_3, 0x12, 0) | ||
| 270 | #define ZORRO_PROD_BSC_FRAMEMASTER_II ZORRO_ID(BSC_ALFADATA_3, 0x20, 0) | ||
| 271 | #define ZORRO_PROD_BSC_GRAFFITI_RAM ZORRO_ID(BSC_ALFADATA_3, 0x21, 0) | ||
| 272 | #define ZORRO_PROD_BSC_GRAFFITI_REG ZORRO_ID(BSC_ALFADATA_3, 0x22, 0) | ||
| 273 | #define ZORRO_PROD_BSC_ISDN_MASTERCARD ZORRO_ID(BSC_ALFADATA_3, 0x40, 0) | ||
| 274 | #define ZORRO_PROD_BSC_ISDN_MASTERCARD_II ZORRO_ID(BSC_ALFADATA_3, 0x41, 0) | ||
| 275 | |||
| 276 | #define ZORRO_MANUF_PHOENIX 0x0835 | ||
| 277 | #define ZORRO_PROD_PHOENIX_ST506 ZORRO_ID(PHOENIX, 0x21, 0) | ||
| 278 | #define ZORRO_PROD_PHOENIX_SCSI ZORRO_ID(PHOENIX, 0x22, 0) | ||
| 279 | #define ZORRO_PROD_PHOENIX_RAM ZORRO_ID(PHOENIX, 0xBE, 0) | ||
| 280 | |||
| 281 | #define ZORRO_MANUF_ADVANCED_STORAGE_SYSTEMS 0x0836 | ||
| 282 | #define ZORRO_PROD_ADVANCED_STORAGE_SYSTEMS_NEXUS ZORRO_ID(ADVANCED_STORAGE_SYSTEMS, 0x01, 0) | ||
| 283 | #define ZORRO_PROD_ADVANCED_STORAGE_SYSTEMS_NEXUS_RAM ZORRO_ID(ADVANCED_STORAGE_SYSTEMS, 0x08, 0) | ||
| 284 | |||
| 285 | #define ZORRO_MANUF_IMPULSE 0x0838 | ||
| 286 | #define ZORRO_PROD_IMPULSE_FIRECRACKER_24 ZORRO_ID(IMPULSE, 0x00, 0) | ||
| 287 | |||
| 288 | #define ZORRO_MANUF_IVS 0x0840 | ||
| 289 | #define ZORRO_PROD_IVS_GRANDSLAM_PIC_2 ZORRO_ID(IVS, 0x02, 0) | ||
| 290 | #define ZORRO_PROD_IVS_GRANDSLAM_PIC_1 ZORRO_ID(IVS, 0x04, 0) | ||
| 291 | #define ZORRO_PROD_IVS_OVERDRIVE ZORRO_ID(IVS, 0x10, 0) | ||
| 292 | #define ZORRO_PROD_IVS_TRUMPCARD_CLASSIC ZORRO_ID(IVS, 0x30, 0) | ||
| 293 | #define ZORRO_PROD_IVS_TRUMPCARD_PRO_GRANDSLAM ZORRO_ID(IVS, 0x34, 0) | ||
| 294 | #define ZORRO_PROD_IVS_META_4 ZORRO_ID(IVS, 0x40, 0) | ||
| 295 | #define ZORRO_PROD_IVS_WAVETOOLS ZORRO_ID(IVS, 0xBF, 0) | ||
| 296 | #define ZORRO_PROD_IVS_VECTOR_1 ZORRO_ID(IVS, 0xF3, 0) | ||
| 297 | #define ZORRO_PROD_IVS_VECTOR_2 ZORRO_ID(IVS, 0xF4, 0) | ||
| 298 | |||
| 299 | #define ZORRO_MANUF_VECTOR_1 0x0841 | ||
| 300 | #define ZORRO_PROD_VECTOR_CONNECTION_1 ZORRO_ID(VECTOR_1, 0xE3, 0) | ||
| 301 | |||
| 302 | #define ZORRO_MANUF_XPERT_PRODEV 0x0845 | ||
| 303 | #define ZORRO_PROD_XPERT_PRODEV_VISIONA_RAM ZORRO_ID(XPERT_PRODEV, 0x01, 0) | ||
| 304 | #define ZORRO_PROD_XPERT_PRODEV_VISIONA_REG ZORRO_ID(XPERT_PRODEV, 0x02, 0) | ||
| 305 | #define ZORRO_PROD_XPERT_PRODEV_MERLIN_RAM ZORRO_ID(XPERT_PRODEV, 0x03, 0) | ||
| 306 | #define ZORRO_PROD_XPERT_PRODEV_MERLIN_REG_1 ZORRO_ID(XPERT_PRODEV, 0x04, 0) | ||
| 307 | #define ZORRO_PROD_XPERT_PRODEV_MERLIN_REG_2 ZORRO_ID(XPERT_PRODEV, 0xC9, 0) | ||
| 308 | |||
| 309 | #define ZORRO_MANUF_HYDRA_SYSTEMS 0x0849 | ||
| 310 | #define ZORRO_PROD_HYDRA_SYSTEMS_AMIGANET ZORRO_ID(HYDRA_SYSTEMS, 0x01, 0) | ||
| 311 | |||
| 312 | #define ZORRO_MANUF_SUNRIZE_INDUSTRIES 0x084F | ||
| 313 | #define ZORRO_PROD_SUNRIZE_INDUSTRIES_AD1012 ZORRO_ID(SUNRIZE_INDUSTRIES, 0x01, 0) | ||
| 314 | #define ZORRO_PROD_SUNRIZE_INDUSTRIES_AD516 ZORRO_ID(SUNRIZE_INDUSTRIES, 0x02, 0) | ||
| 315 | #define ZORRO_PROD_SUNRIZE_INDUSTRIES_DD512 ZORRO_ID(SUNRIZE_INDUSTRIES, 0x03, 0) | ||
| 316 | |||
| 317 | #define ZORRO_MANUF_TRICERATOPS 0x0850 | ||
| 318 | #define ZORRO_PROD_TRICERATOPS_MULTI_IO ZORRO_ID(TRICERATOPS, 0x01, 0) | ||
| 319 | |||
| 320 | #define ZORRO_MANUF_APPLIED_MAGIC 0x0851 | ||
| 321 | #define ZORRO_PROD_APPLIED_MAGIC_DMI_RESOLVER ZORRO_ID(APPLIED_MAGIC, 0x01, 0) | ||
| 322 | #define ZORRO_PROD_APPLIED_MAGIC_DIGITAL_BROADCASTER ZORRO_ID(APPLIED_MAGIC, 0x06, 0) | ||
| 323 | |||
| 324 | #define ZORRO_MANUF_GFX_BASE 0x085E | ||
| 325 | #define ZORRO_PROD_GFX_BASE_GDA_1_VRAM ZORRO_ID(GFX_BASE, 0x00, 0) | ||
| 326 | #define ZORRO_PROD_GFX_BASE_GDA_1 ZORRO_ID(GFX_BASE, 0x01, 0) | ||
| 327 | |||
| 328 | #define ZORRO_MANUF_ROCTEC 0x0860 | ||
| 329 | #define ZORRO_PROD_ROCTEC_RH_800C ZORRO_ID(ROCTEC, 0x01, 0) | ||
| 330 | #define ZORRO_PROD_ROCTEC_RH_800C_RAM ZORRO_ID(ROCTEC, 0x01, 0) | ||
| 331 | |||
| 332 | #define ZORRO_MANUF_KATO 0x0861 | ||
| 333 | #define ZORRO_PROD_KATO_MELODY ZORRO_ID(KATO, 0x80, 0) | ||
| 334 | /* ID clash!! */ | ||
| 335 | #define ZORRO_MANUF_HELFRICH_1 0x0861 | ||
| 336 | #define ZORRO_PROD_HELFRICH_RAINBOW_II ZORRO_ID(HELFRICH_1, 0x20, 0) | ||
| 337 | #define ZORRO_PROD_HELFRICH_RAINBOW_III ZORRO_ID(HELFRICH_1, 0x21, 0) | ||
| 338 | |||
| 339 | #define ZORRO_MANUF_ATLANTIS 0x0862 | ||
| 340 | |||
| 341 | #define ZORRO_MANUF_PROTAR 0x0864 | ||
| 342 | |||
| 343 | #define ZORRO_MANUF_ACS 0x0865 | ||
| 344 | |||
| 345 | #define ZORRO_MANUF_SOFTWARE_RESULTS_ENTERPRISES 0x0866 | ||
| 346 | #define ZORRO_PROD_SOFTWARE_RESULTS_ENTERPRISES_GOLDEN_GATE_2_BUS_PLUS ZORRO_ID(SOFTWARE_RESULTS_ENTERPRISES, 0x01, 0) | ||
| 347 | |||
| 348 | #define ZORRO_MANUF_MASOBOSHI 0x086D | ||
| 349 | #define ZORRO_PROD_MASOBOSHI_MASTER_CARD_SC201 ZORRO_ID(MASOBOSHI, 0x03, 0) | ||
| 350 | #define ZORRO_PROD_MASOBOSHI_MASTER_CARD_MC702 ZORRO_ID(MASOBOSHI, 0x04, 0) | ||
| 351 | #define ZORRO_PROD_MASOBOSHI_MVD_819 ZORRO_ID(MASOBOSHI, 0x07, 0) | ||
| 352 | |||
| 353 | #define ZORRO_MANUF_MAINHATTAN_DATA 0x086F | ||
| 354 | #define ZORRO_PROD_MAINHATTAN_DATA_IDE ZORRO_ID(MAINHATTAN_DATA, 0x01, 0) | ||
| 355 | |||
| 356 | #define ZORRO_MANUF_VILLAGE_TRONIC 0x0877 | ||
| 357 | #define ZORRO_PROD_VILLAGE_TRONIC_DOMINO_RAM ZORRO_ID(VILLAGE_TRONIC, 0x01, 0) | ||
| 358 | #define ZORRO_PROD_VILLAGE_TRONIC_DOMINO_REG ZORRO_ID(VILLAGE_TRONIC, 0x02, 0) | ||
| 359 | #define ZORRO_PROD_VILLAGE_TRONIC_DOMINO_16M_PROTOTYPE ZORRO_ID(VILLAGE_TRONIC, 0x03, 0) | ||
| 360 | #define ZORRO_PROD_VILLAGE_TRONIC_PICASSO_II_II_PLUS_RAM ZORRO_ID(VILLAGE_TRONIC, 0x0B, 0) | ||
| 361 | #define ZORRO_PROD_VILLAGE_TRONIC_PICASSO_II_II_PLUS_REG ZORRO_ID(VILLAGE_TRONIC, 0x0C, 0) | ||
| 362 | #define ZORRO_PROD_VILLAGE_TRONIC_PICASSO_II_II_PLUS_SEGMENTED_MODE ZORRO_ID(VILLAGE_TRONIC, 0x0D, 0) | ||
| 363 | #define ZORRO_PROD_VILLAGE_TRONIC_PICASSO_IV_Z2_RAM1 ZORRO_ID(VILLAGE_TRONIC, 0x15, 0) | ||
| 364 | #define ZORRO_PROD_VILLAGE_TRONIC_PICASSO_IV_Z2_RAM2 ZORRO_ID(VILLAGE_TRONIC, 0x16, 0) | ||
| 365 | #define ZORRO_PROD_VILLAGE_TRONIC_PICASSO_IV_Z2_REG ZORRO_ID(VILLAGE_TRONIC, 0x17, 0) | ||
| 366 | #define ZORRO_PROD_VILLAGE_TRONIC_PICASSO_IV_Z3 ZORRO_ID(VILLAGE_TRONIC, 0x18, 0) | ||
| 367 | #define ZORRO_PROD_VILLAGE_TRONIC_ARIADNE ZORRO_ID(VILLAGE_TRONIC, 0xC9, 0) | ||
| 368 | #define ZORRO_PROD_VILLAGE_TRONIC_ARIADNE2 ZORRO_ID(VILLAGE_TRONIC, 0xCA, 0) | ||
| 369 | |||
| 370 | #define ZORRO_MANUF_UTILITIES_UNLIMITED 0x087B | ||
| 371 | #define ZORRO_PROD_UTILITIES_UNLIMITED_EMPLANT_DELUXE ZORRO_ID(UTILITIES_UNLIMITED, 0x15, 0) | ||
| 372 | #define ZORRO_PROD_UTILITIES_UNLIMITED_EMPLANT_DELUXE2 ZORRO_ID(UTILITIES_UNLIMITED, 0x20, 0) | ||
| 373 | |||
| 374 | #define ZORRO_MANUF_AMITRIX 0x0880 | ||
| 375 | #define ZORRO_PROD_AMITRIX_MULTI_IO ZORRO_ID(AMITRIX, 0x01, 0) | ||
| 376 | #define ZORRO_PROD_AMITRIX_CD_RAM ZORRO_ID(AMITRIX, 0x02, 0) | ||
| 377 | |||
| 378 | #define ZORRO_MANUF_ARMAX 0x0885 | ||
| 379 | #define ZORRO_PROD_ARMAX_OMNIBUS ZORRO_ID(ARMAX, 0x00, 0) | ||
| 380 | |||
| 381 | #define ZORRO_MANUF_ZEUS 0x088D | ||
| 382 | #define ZORRO_PROD_ZEUS_SPIDER ZORRO_ID(ZEUS, 0x04, 0) | ||
| 383 | |||
| 384 | #define ZORRO_MANUF_NEWTEK 0x088F | ||
| 385 | #define ZORRO_PROD_NEWTEK_VIDEOTOASTER ZORRO_ID(NEWTEK, 0x00, 0) | ||
| 386 | |||
| 387 | #define ZORRO_MANUF_M_TECH_GERMANY 0x0890 | ||
| 388 | #define ZORRO_PROD_MTEC_AT500_2 ZORRO_ID(M_TECH_GERMANY, 0x01, 0) | ||
| 389 | #define ZORRO_PROD_MTEC_68030 ZORRO_ID(M_TECH_GERMANY, 0x03, 0) | ||
| 390 | #define ZORRO_PROD_MTEC_68020I ZORRO_ID(M_TECH_GERMANY, 0x06, 0) | ||
| 391 | #define ZORRO_PROD_MTEC_A1200_T68030_RTC ZORRO_ID(M_TECH_GERMANY, 0x20, 0) | ||
| 392 | #define ZORRO_PROD_MTEC_VIPER_MK_V_E_MATRIX_530 ZORRO_ID(M_TECH_GERMANY, 0x21, 0) | ||
| 393 | #define ZORRO_PROD_MTEC_8_MB_RAM ZORRO_ID(M_TECH_GERMANY, 0x22, 0) | ||
| 394 | #define ZORRO_PROD_MTEC_VIPER_MK_V_E_MATRIX_530_SCSI_IDE ZORRO_ID(M_TECH_GERMANY, 0x24, 0) | ||
| 395 | |||
| 396 | #define ZORRO_MANUF_GREAT_VALLEY_PRODUCTS_4 0x0891 | ||
| 397 | #define ZORRO_PROD_GVP_EGS_28_24_SPECTRUM_RAM ZORRO_ID(GREAT_VALLEY_PRODUCTS_4, 0x01, 0) | ||
| 398 | #define ZORRO_PROD_GVP_EGS_28_24_SPECTRUM_REG ZORRO_ID(GREAT_VALLEY_PRODUCTS_4, 0x02, 0) | ||
| 399 | |||
| 400 | #define ZORRO_MANUF_APOLLO_1 0x0892 | ||
| 401 | #define ZORRO_PROD_APOLLO_A1200 ZORRO_ID(APOLLO_1, 0x01, 0) | ||
| 402 | |||
| 403 | #define ZORRO_MANUF_HELFRICH_2 0x0893 | ||
| 404 | #define ZORRO_PROD_HELFRICH_PICCOLO_RAM ZORRO_ID(HELFRICH_2, 0x05, 0) | ||
| 405 | #define ZORRO_PROD_HELFRICH_PICCOLO_REG ZORRO_ID(HELFRICH_2, 0x06, 0) | ||
| 406 | #define ZORRO_PROD_HELFRICH_PEGGY_PLUS_MPEG ZORRO_ID(HELFRICH_2, 0x07, 0) | ||
| 407 | #define ZORRO_PROD_HELFRICH_VIDEOCRUNCHER ZORRO_ID(HELFRICH_2, 0x08, 0) | ||
| 408 | #define ZORRO_PROD_HELFRICH_SD64_RAM ZORRO_ID(HELFRICH_2, 0x0A, 0) | ||
| 409 | #define ZORRO_PROD_HELFRICH_SD64_REG ZORRO_ID(HELFRICH_2, 0x0B, 0) | ||
| 410 | |||
| 411 | #define ZORRO_MANUF_MACROSYSTEMS_USA 0x089B | ||
| 412 | #define ZORRO_PROD_MACROSYSTEMS_WARP_ENGINE_40xx ZORRO_ID(MACROSYSTEMS_USA, 0x13, 0) | ||
| 413 | |||
| 414 | #define ZORRO_MANUF_ELBOX_COMPUTER 0x089E | ||
| 415 | #define ZORRO_PROD_ELBOX_COMPUTER_1200_4 ZORRO_ID(ELBOX_COMPUTER, 0x06, 0) | ||
| 416 | |||
| 417 | #define ZORRO_MANUF_HARMS_PROFESSIONAL 0x0A00 | ||
| 418 | #define ZORRO_PROD_HARMS_PROFESSIONAL_030_PLUS ZORRO_ID(HARMS_PROFESSIONAL, 0x10, 0) | ||
| 419 | #define ZORRO_PROD_HARMS_PROFESSIONAL_3500 ZORRO_ID(HARMS_PROFESSIONAL, 0xD0, 0) | ||
| 420 | |||
| 421 | #define ZORRO_MANUF_MICRONIK 0x0A50 | ||
| 422 | #define ZORRO_PROD_MICRONIK_RCA_120 ZORRO_ID(MICRONIK, 0x0A, 0) | ||
| 423 | |||
| 424 | #define ZORRO_MANUF_MICRONIK2 0x0F0F | ||
| 425 | #define ZORRO_PROD_MICRONIK2_Z3I ZORRO_ID(MICRONIK2, 0x01, 0) | ||
| 426 | |||
| 427 | #define ZORRO_MANUF_MEGAMICRO 0x1000 | ||
| 428 | #define ZORRO_PROD_MEGAMICRO_SCRAM_500 ZORRO_ID(MEGAMICRO, 0x03, 0) | ||
| 429 | #define ZORRO_PROD_MEGAMICRO_SCRAM_500_RAM ZORRO_ID(MEGAMICRO, 0x04, 0) | ||
| 430 | |||
| 431 | #define ZORRO_MANUF_IMTRONICS_2 0x1028 | ||
| 432 | #define ZORRO_PROD_IMTRONICS_HURRICANE_2800_3 ZORRO_ID(IMTRONICS_2, 0x39, 0) | ||
| 433 | #define ZORRO_PROD_IMTRONICS_HURRICANE_2800_4 ZORRO_ID(IMTRONICS_2, 0x57, 0) | ||
| 434 | |||
| 435 | /* unofficial ID */ | ||
| 436 | #define ZORRO_MANUF_INDIVIDUAL_COMPUTERS 0x1212 | ||
| 437 | #define ZORRO_PROD_INDIVIDUAL_COMPUTERS_BUDDHA ZORRO_ID(INDIVIDUAL_COMPUTERS, 0x00, 0) | ||
| 438 | #define ZORRO_PROD_INDIVIDUAL_COMPUTERS_X_SURF ZORRO_ID(INDIVIDUAL_COMPUTERS, 0x17, 0) | ||
| 439 | #define ZORRO_PROD_INDIVIDUAL_COMPUTERS_CATWEASEL ZORRO_ID(INDIVIDUAL_COMPUTERS, 0x2A, 0) | ||
| 440 | |||
| 441 | #define ZORRO_MANUF_KUPKE_3 0x1248 | ||
| 442 | #define ZORRO_PROD_KUPKE_GOLEM_HD_3000 ZORRO_ID(KUPKE_3, 0x01, 0) | ||
| 443 | |||
| 444 | #define ZORRO_MANUF_ITH 0x1388 | ||
| 445 | #define ZORRO_PROD_ITH_ISDN_MASTER_II ZORRO_ID(ITH, 0x01, 0) | ||
| 446 | |||
| 447 | #define ZORRO_MANUF_VMC 0x1389 | ||
| 448 | #define ZORRO_PROD_VMC_ISDN_BLASTER_Z2 ZORRO_ID(VMC, 0x01, 0) | ||
| 449 | #define ZORRO_PROD_VMC_HYPERCOM_4 ZORRO_ID(VMC, 0x02, 0) | ||
| 450 | |||
| 451 | #define ZORRO_MANUF_INFORMATION 0x157C | ||
| 452 | #define ZORRO_PROD_INFORMATION_ISDN_ENGINE_I ZORRO_ID(INFORMATION, 0x64, 0) | ||
| 453 | |||
| 454 | #define ZORRO_MANUF_VORTEX 0x2017 | ||
| 455 | #define ZORRO_PROD_VORTEX_GOLDEN_GATE_80386SX ZORRO_ID(VORTEX, 0x07, 0) | ||
| 456 | #define ZORRO_PROD_VORTEX_GOLDEN_GATE_RAM ZORRO_ID(VORTEX, 0x08, 0) | ||
| 457 | #define ZORRO_PROD_VORTEX_GOLDEN_GATE_80486 ZORRO_ID(VORTEX, 0x09, 0) | ||
| 458 | |||
| 459 | #define ZORRO_MANUF_EXPANSION_SYSTEMS 0x2062 | ||
| 460 | #define ZORRO_PROD_EXPANSION_SYSTEMS_DATAFLYER_4000SX ZORRO_ID(EXPANSION_SYSTEMS, 0x01, 0) | ||
| 461 | #define ZORRO_PROD_EXPANSION_SYSTEMS_DATAFLYER_4000SX_RAM ZORRO_ID(EXPANSION_SYSTEMS, 0x02, 0) | ||
| 462 | |||
| 463 | #define ZORRO_MANUF_READYSOFT 0x2100 | ||
| 464 | #define ZORRO_PROD_READYSOFT_AMAX_II_IV ZORRO_ID(READYSOFT, 0x01, 0) | ||
| 465 | |||
| 466 | #define ZORRO_MANUF_PHASE5 0x2140 | ||
| 467 | #define ZORRO_PROD_PHASE5_BLIZZARD_RAM ZORRO_ID(PHASE5, 0x01, 0) | ||
| 468 | #define ZORRO_PROD_PHASE5_BLIZZARD ZORRO_ID(PHASE5, 0x02, 0) | ||
| 469 | #define ZORRO_PROD_PHASE5_BLIZZARD_1220_IV ZORRO_ID(PHASE5, 0x06, 0) | ||
| 470 | #define ZORRO_PROD_PHASE5_FASTLANE_Z3_RAM ZORRO_ID(PHASE5, 0x0A, 0) | ||
| 471 | #define ZORRO_PROD_PHASE5_BLIZZARD_1230_II_FASTLANE_Z3_CYBERSCSI_CYBERSTORM060 ZORRO_ID(PHASE5, 0x0B, 0) | ||
| 472 | #define ZORRO_PROD_PHASE5_BLIZZARD_1220_CYBERSTORM ZORRO_ID(PHASE5, 0x0C, 0) | ||
| 473 | #define ZORRO_PROD_PHASE5_BLIZZARD_1230 ZORRO_ID(PHASE5, 0x0D, 0) | ||
| 474 | #define ZORRO_PROD_PHASE5_BLIZZARD_1230_IV_1260 ZORRO_ID(PHASE5, 0x11, 0) | ||
| 475 | #define ZORRO_PROD_PHASE5_BLIZZARD_2060 ZORRO_ID(PHASE5, 0x18, 0) | ||
| 476 | #define ZORRO_PROD_PHASE5_CYBERSTORM_MK_II ZORRO_ID(PHASE5, 0x19, 0) | ||
| 477 | #define ZORRO_PROD_PHASE5_CYBERVISION64 ZORRO_ID(PHASE5, 0x22, 0) | ||
| 478 | #define ZORRO_PROD_PHASE5_CYBERVISION64_3D_PROTOTYPE ZORRO_ID(PHASE5, 0x32, 0) | ||
| 479 | #define ZORRO_PROD_PHASE5_CYBERVISION64_3D ZORRO_ID(PHASE5, 0x43, 0) | ||
| 480 | #define ZORRO_PROD_PHASE5_CYBERSTORM_MK_III ZORRO_ID(PHASE5, 0x64, 0) | ||
| 481 | #define ZORRO_PROD_PHASE5_BLIZZARD_603E_PLUS ZORRO_ID(PHASE5, 0x6e, 0) | ||
| 482 | |||
| 483 | #define ZORRO_MANUF_DPS 0x2169 | ||
| 484 | #define ZORRO_PROD_DPS_PERSONAL_ANIMATION_RECORDER ZORRO_ID(DPS, 0x01, 0) | ||
| 485 | |||
| 486 | #define ZORRO_MANUF_APOLLO_2 0x2200 | ||
| 487 | #define ZORRO_PROD_APOLLO_A620_68020_1 ZORRO_ID(APOLLO_2, 0x00, 0) | ||
| 488 | #define ZORRO_PROD_APOLLO_A620_68020_2 ZORRO_ID(APOLLO_2, 0x01, 0) | ||
| 489 | |||
| 490 | #define ZORRO_MANUF_APOLLO_3 0x2222 | ||
| 491 | #define ZORRO_PROD_APOLLO_AT_APOLLO ZORRO_ID(APOLLO_3, 0x22, 0) | ||
| 492 | #define ZORRO_PROD_APOLLO_1230_1240_1260_2030_4040_4060 ZORRO_ID(APOLLO_3, 0x23, 0) | ||
| 493 | |||
| 494 | #define ZORRO_MANUF_PETSOFF_LP 0x38A5 | ||
| 495 | #define ZORRO_PROD_PETSOFF_LP_DELFINA ZORRO_ID(PETSOFF_LP, 0x00, 0) | ||
| 496 | #define ZORRO_PROD_PETSOFF_LP_DELFINA_LITE ZORRO_ID(PETSOFF_LP, 0x01, 0) | ||
| 497 | |||
| 498 | #define ZORRO_MANUF_UWE_GERLACH 0x3FF7 | ||
| 499 | #define ZORRO_PROD_UWE_GERLACH_RAM_ROM ZORRO_ID(UWE_GERLACH, 0xd4, 0) | ||
| 500 | |||
| 501 | #define ZORRO_MANUF_ACT 0x4231 | ||
| 502 | #define ZORRO_PROD_ACT_PRELUDE ZORRO_ID(ACT, 0x01, 0) | ||
| 503 | |||
| 504 | #define ZORRO_MANUF_MACROSYSTEMS_GERMANY 0x4754 | ||
| 505 | #define ZORRO_PROD_MACROSYSTEMS_MAESTRO ZORRO_ID(MACROSYSTEMS_GERMANY, 0x03, 0) | ||
| 506 | #define ZORRO_PROD_MACROSYSTEMS_VLAB ZORRO_ID(MACROSYSTEMS_GERMANY, 0x04, 0) | ||
| 507 | #define ZORRO_PROD_MACROSYSTEMS_MAESTRO_PRO ZORRO_ID(MACROSYSTEMS_GERMANY, 0x05, 0) | ||
| 508 | #define ZORRO_PROD_MACROSYSTEMS_RETINA ZORRO_ID(MACROSYSTEMS_GERMANY, 0x06, 0) | ||
| 509 | #define ZORRO_PROD_MACROSYSTEMS_MULTI_EVOLUTION ZORRO_ID(MACROSYSTEMS_GERMANY, 0x08, 0) | ||
| 510 | #define ZORRO_PROD_MACROSYSTEMS_TOCCATA ZORRO_ID(MACROSYSTEMS_GERMANY, 0x0C, 0) | ||
| 511 | #define ZORRO_PROD_MACROSYSTEMS_RETINA_Z3 ZORRO_ID(MACROSYSTEMS_GERMANY, 0x10, 0) | ||
| 512 | #define ZORRO_PROD_MACROSYSTEMS_VLAB_MOTION ZORRO_ID(MACROSYSTEMS_GERMANY, 0x12, 0) | ||
| 513 | #define ZORRO_PROD_MACROSYSTEMS_ALTAIS ZORRO_ID(MACROSYSTEMS_GERMANY, 0x13, 0) | ||
| 514 | #define ZORRO_PROD_MACROSYSTEMS_FALCON_040 ZORRO_ID(MACROSYSTEMS_GERMANY, 0xFD, 0) | ||
| 515 | |||
| 516 | #define ZORRO_MANUF_COMBITEC 0x6766 | ||
| 517 | |||
| 518 | #define ZORRO_MANUF_SKI_PERIPHERALS 0x8000 | ||
| 519 | #define ZORRO_PROD_SKI_PERIPHERALS_MAST_FIREBALL ZORRO_ID(SKI_PERIPHERALS, 0x08, 0) | ||
| 520 | #define ZORRO_PROD_SKI_PERIPHERALS_SCSI_DUAL_SERIAL ZORRO_ID(SKI_PERIPHERALS, 0x80, 0) | ||
| 521 | |||
| 522 | #define ZORRO_MANUF_REIS_WARE_2 0xA9AD | ||
| 523 | #define ZORRO_PROD_REIS_WARE_SCAN_KING ZORRO_ID(REIS_WARE_2, 0x11, 0) | ||
| 524 | |||
| 525 | #define ZORRO_MANUF_CAMERON 0xAA01 | ||
| 526 | #define ZORRO_PROD_CAMERON_PERSONAL_A4 ZORRO_ID(CAMERON, 0x10, 0) | ||
| 527 | |||
| 528 | #define ZORRO_MANUF_REIS_WARE 0xAA11 | ||
| 529 | #define ZORRO_PROD_REIS_WARE_HANDYSCANNER ZORRO_ID(REIS_WARE, 0x11, 0) | ||
| 530 | |||
| 531 | #define ZORRO_MANUF_PHOENIX_2 0xB5A8 | ||
| 532 | #define ZORRO_PROD_PHOENIX_ST506_2 ZORRO_ID(PHOENIX_2, 0x21, 0) | ||
| 533 | #define ZORRO_PROD_PHOENIX_SCSI_2 ZORRO_ID(PHOENIX_2, 0x22, 0) | ||
| 534 | #define ZORRO_PROD_PHOENIX_RAM_2 ZORRO_ID(PHOENIX_2, 0xBE, 0) | ||
| 535 | |||
| 536 | #define ZORRO_MANUF_COMBITEC_2 0xC008 | ||
| 537 | #define ZORRO_PROD_COMBITEC_HD ZORRO_ID(COMBITEC_2, 0x2A, 0) | ||
| 538 | #define ZORRO_PROD_COMBITEC_SRAM ZORRO_ID(COMBITEC_2, 0x2B, 0) | ||
| 539 | |||
| 540 | |||
| 541 | /* | ||
| 542 | * Test and illegal Manufacturer IDs. | ||
| 543 | */ | ||
| 544 | |||
| 545 | #define ZORRO_MANUF_HACKER 0x07DB | ||
| 546 | #define ZORRO_PROD_GENERAL_PROTOTYPE ZORRO_ID(HACKER, 0x00, 0) | ||
| 547 | #define ZORRO_PROD_HACKER_SCSI ZORRO_ID(HACKER, 0x01, 0) | ||
| 548 | #define ZORRO_PROD_RESOURCE_MANAGEMENT_FORCE_QUICKNET_QN2000 ZORRO_ID(HACKER, 0x02, 0) | ||
| 549 | #define ZORRO_PROD_VECTOR_CONNECTION_2 ZORRO_ID(HACKER, 0xE0, 0) | ||
| 550 | #define ZORRO_PROD_VECTOR_CONNECTION_3 ZORRO_ID(HACKER, 0xE1, 0) | ||
| 551 | #define ZORRO_PROD_VECTOR_CONNECTION_4 ZORRO_ID(HACKER, 0xE2, 0) | ||
| 552 | #define ZORRO_PROD_VECTOR_CONNECTION_5 ZORRO_ID(HACKER, 0xE3, 0) | ||
diff --git a/include/uapi/sound/compress_params.h b/include/uapi/sound/compress_params.h index 602dc6c45d1a..165e7059de75 100644 --- a/include/uapi/sound/compress_params.h +++ b/include/uapi/sound/compress_params.h | |||
| @@ -57,6 +57,7 @@ | |||
| 57 | #define MAX_NUM_CODECS 32 | 57 | #define MAX_NUM_CODECS 32 |
| 58 | #define MAX_NUM_CODEC_DESCRIPTORS 32 | 58 | #define MAX_NUM_CODEC_DESCRIPTORS 32 |
| 59 | #define MAX_NUM_BITRATES 32 | 59 | #define MAX_NUM_BITRATES 32 |
| 60 | #define MAX_NUM_SAMPLE_RATES 32 | ||
| 60 | 61 | ||
| 61 | /* Codecs are listed linearly to allow for extensibility */ | 62 | /* Codecs are listed linearly to allow for extensibility */ |
| 62 | #define SND_AUDIOCODEC_PCM ((__u32) 0x00000001) | 63 | #define SND_AUDIOCODEC_PCM ((__u32) 0x00000001) |
| @@ -324,7 +325,8 @@ union snd_codec_options { | |||
| 324 | 325 | ||
| 325 | /** struct snd_codec_desc - description of codec capabilities | 326 | /** struct snd_codec_desc - description of codec capabilities |
| 326 | * @max_ch: Maximum number of audio channels | 327 | * @max_ch: Maximum number of audio channels |
| 327 | * @sample_rates: Sampling rates in Hz, use SNDRV_PCM_RATE_xxx for this | 328 | * @sample_rates: Sampling rates in Hz, use values like 48000 for this |
| 329 | * @num_sample_rates: Number of valid values in sample_rates array | ||
| 328 | * @bit_rate: Indexed array containing supported bit rates | 330 | * @bit_rate: Indexed array containing supported bit rates |
| 329 | * @num_bitrates: Number of valid values in bit_rate array | 331 | * @num_bitrates: Number of valid values in bit_rate array |
| 330 | * @rate_control: value is specified by SND_RATECONTROLMODE defines. | 332 | * @rate_control: value is specified by SND_RATECONTROLMODE defines. |
| @@ -346,7 +348,8 @@ union snd_codec_options { | |||
| 346 | 348 | ||
| 347 | struct snd_codec_desc { | 349 | struct snd_codec_desc { |
| 348 | __u32 max_ch; | 350 | __u32 max_ch; |
| 349 | __u32 sample_rates; | 351 | __u32 sample_rates[MAX_NUM_SAMPLE_RATES]; |
| 352 | __u32 num_sample_rates; | ||
| 350 | __u32 bit_rate[MAX_NUM_BITRATES]; | 353 | __u32 bit_rate[MAX_NUM_BITRATES]; |
| 351 | __u32 num_bitrates; | 354 | __u32 num_bitrates; |
| 352 | __u32 rate_control; | 355 | __u32 rate_control; |
| @@ -364,7 +367,8 @@ struct snd_codec_desc { | |||
| 364 | * @ch_out: Number of output channels. In case of contradiction between | 367 | * @ch_out: Number of output channels. In case of contradiction between |
| 365 | * this field and the channelMode field, the channelMode field | 368 | * this field and the channelMode field, the channelMode field |
| 366 | * overrides. | 369 | * overrides. |
| 367 | * @sample_rate: Audio sample rate of input data | 370 | * @sample_rate: Audio sample rate of input data in Hz, use values like 48000 |
| 371 | * for this. | ||
| 368 | * @bit_rate: Bitrate of encoded data. May be ignored by decoders | 372 | * @bit_rate: Bitrate of encoded data. May be ignored by decoders |
| 369 | * @rate_control: Encoding rate control. See SND_RATECONTROLMODE defines. | 373 | * @rate_control: Encoding rate control. See SND_RATECONTROLMODE defines. |
| 370 | * Encoders may rely on profiles for quality levels. | 374 | * Encoders may rely on profiles for quality levels. |
diff --git a/include/uapi/xen/Kbuild b/include/uapi/xen/Kbuild index 61257cb14653..5c459628e8c7 100644 --- a/include/uapi/xen/Kbuild +++ b/include/uapi/xen/Kbuild | |||
| @@ -1,3 +1,5 @@ | |||
| 1 | # UAPI Header export list | 1 | # UAPI Header export list |
| 2 | header-y += evtchn.h | 2 | header-y += evtchn.h |
| 3 | header-y += gntalloc.h | ||
| 4 | header-y += gntdev.h | ||
| 3 | header-y += privcmd.h | 5 | header-y += privcmd.h |
diff --git a/include/uapi/xen/gntalloc.h b/include/uapi/xen/gntalloc.h new file mode 100644 index 000000000000..76bd58065f4f --- /dev/null +++ b/include/uapi/xen/gntalloc.h | |||
| @@ -0,0 +1,82 @@ | |||
| 1 | /****************************************************************************** | ||
| 2 | * gntalloc.h | ||
| 3 | * | ||
| 4 | * Interface to /dev/xen/gntalloc. | ||
| 5 | * | ||
| 6 | * Author: Daniel De Graaf <dgdegra@tycho.nsa.gov> | ||
| 7 | * | ||
| 8 | * This file is in the public domain. | ||
| 9 | */ | ||
| 10 | |||
| 11 | #ifndef __LINUX_PUBLIC_GNTALLOC_H__ | ||
| 12 | #define __LINUX_PUBLIC_GNTALLOC_H__ | ||
| 13 | |||
| 14 | /* | ||
| 15 | * Allocates a new page and creates a new grant reference. | ||
| 16 | */ | ||
| 17 | #define IOCTL_GNTALLOC_ALLOC_GREF \ | ||
| 18 | _IOC(_IOC_NONE, 'G', 5, sizeof(struct ioctl_gntalloc_alloc_gref)) | ||
| 19 | struct ioctl_gntalloc_alloc_gref { | ||
| 20 | /* IN parameters */ | ||
| 21 | /* The ID of the domain to be given access to the grants. */ | ||
| 22 | uint16_t domid; | ||
| 23 | /* Flags for this mapping */ | ||
| 24 | uint16_t flags; | ||
| 25 | /* Number of pages to map */ | ||
| 26 | uint32_t count; | ||
| 27 | /* OUT parameters */ | ||
| 28 | /* The offset to be used on a subsequent call to mmap(). */ | ||
| 29 | uint64_t index; | ||
| 30 | /* The grant references of the newly created grant, one per page */ | ||
| 31 | /* Variable size, depending on count */ | ||
| 32 | uint32_t gref_ids[1]; | ||
| 33 | }; | ||
| 34 | |||
| 35 | #define GNTALLOC_FLAG_WRITABLE 1 | ||
| 36 | |||
| 37 | /* | ||
| 38 | * Deallocates the grant reference, allowing the associated page to be freed if | ||
| 39 | * no other domains are using it. | ||
| 40 | */ | ||
| 41 | #define IOCTL_GNTALLOC_DEALLOC_GREF \ | ||
| 42 | _IOC(_IOC_NONE, 'G', 6, sizeof(struct ioctl_gntalloc_dealloc_gref)) | ||
| 43 | struct ioctl_gntalloc_dealloc_gref { | ||
| 44 | /* IN parameters */ | ||
| 45 | /* The offset returned in the map operation */ | ||
| 46 | uint64_t index; | ||
| 47 | /* Number of references to unmap */ | ||
| 48 | uint32_t count; | ||
| 49 | }; | ||
| 50 | |||
| 51 | /* | ||
| 52 | * Sets up an unmap notification within the page, so that the other side can do | ||
| 53 | * cleanup if this side crashes. Required to implement cross-domain robust | ||
| 54 | * mutexes or close notification on communication channels. | ||
| 55 | * | ||
| 56 | * Each mapped page only supports one notification; multiple calls referring to | ||
| 57 | * the same page overwrite the previous notification. You must clear the | ||
| 58 | * notification prior to the IOCTL_GNTALLOC_DEALLOC_GREF if you do not want it | ||
| 59 | * to occur. | ||
| 60 | */ | ||
| 61 | #define IOCTL_GNTALLOC_SET_UNMAP_NOTIFY \ | ||
| 62 | _IOC(_IOC_NONE, 'G', 7, sizeof(struct ioctl_gntalloc_unmap_notify)) | ||
| 63 | struct ioctl_gntalloc_unmap_notify { | ||
| 64 | /* IN parameters */ | ||
| 65 | /* Offset in the file descriptor for a byte within the page (same as | ||
| 66 | * used in mmap). If using UNMAP_NOTIFY_CLEAR_BYTE, this is the byte to | ||
| 67 | * be cleared. Otherwise, it can be any byte in the page whose | ||
| 68 | * notification we are adjusting. | ||
| 69 | */ | ||
| 70 | uint64_t index; | ||
| 71 | /* Action(s) to take on unmap */ | ||
| 72 | uint32_t action; | ||
| 73 | /* Event channel to notify */ | ||
| 74 | uint32_t event_channel_port; | ||
| 75 | }; | ||
| 76 | |||
| 77 | /* Clear (set to zero) the byte specified by index */ | ||
| 78 | #define UNMAP_NOTIFY_CLEAR_BYTE 0x1 | ||
| 79 | /* Send an interrupt on the indicated event channel */ | ||
| 80 | #define UNMAP_NOTIFY_SEND_EVENT 0x2 | ||
| 81 | |||
| 82 | #endif /* __LINUX_PUBLIC_GNTALLOC_H__ */ | ||
diff --git a/include/uapi/xen/gntdev.h b/include/uapi/xen/gntdev.h new file mode 100644 index 000000000000..5304bd3c84c5 --- /dev/null +++ b/include/uapi/xen/gntdev.h | |||
| @@ -0,0 +1,150 @@ | |||
| 1 | /****************************************************************************** | ||
| 2 | * gntdev.h | ||
| 3 | * | ||
| 4 | * Interface to /dev/xen/gntdev. | ||
| 5 | * | ||
| 6 | * Copyright (c) 2007, D G Murray | ||
| 7 | * | ||
| 8 | * This program is free software; you can redistribute it and/or | ||
| 9 | * modify it under the terms of the GNU General Public License version 2 | ||
| 10 | * as published by the Free Software Foundation; or, when distributed | ||
| 11 | * separately from the Linux kernel or incorporated into other | ||
| 12 | * software packages, subject to the following license: | ||
| 13 | * | ||
| 14 | * Permission is hereby granted, free of charge, to any person obtaining a copy | ||
| 15 | * of this source file (the "Software"), to deal in the Software without | ||
| 16 | * restriction, including without limitation the rights to use, copy, modify, | ||
| 17 | * merge, publish, distribute, sublicense, and/or sell copies of the Software, | ||
| 18 | * and to permit persons to whom the Software is furnished to do so, subject to | ||
| 19 | * the following conditions: | ||
| 20 | * | ||
| 21 | * The above copyright notice and this permission notice shall be included in | ||
| 22 | * all copies or substantial portions of the Software. | ||
| 23 | * | ||
| 24 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
| 25 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
| 26 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
| 27 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
| 28 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
| 29 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS | ||
| 30 | * IN THE SOFTWARE. | ||
| 31 | */ | ||
| 32 | |||
| 33 | #ifndef __LINUX_PUBLIC_GNTDEV_H__ | ||
| 34 | #define __LINUX_PUBLIC_GNTDEV_H__ | ||
| 35 | |||
| 36 | struct ioctl_gntdev_grant_ref { | ||
| 37 | /* The domain ID of the grant to be mapped. */ | ||
| 38 | uint32_t domid; | ||
| 39 | /* The grant reference of the grant to be mapped. */ | ||
| 40 | uint32_t ref; | ||
| 41 | }; | ||
| 42 | |||
| 43 | /* | ||
| 44 | * Inserts the grant references into the mapping table of an instance | ||
| 45 | * of gntdev. N.B. This does not perform the mapping, which is deferred | ||
| 46 | * until mmap() is called with @index as the offset. | ||
| 47 | */ | ||
| 48 | #define IOCTL_GNTDEV_MAP_GRANT_REF \ | ||
| 49 | _IOC(_IOC_NONE, 'G', 0, sizeof(struct ioctl_gntdev_map_grant_ref)) | ||
| 50 | struct ioctl_gntdev_map_grant_ref { | ||
| 51 | /* IN parameters */ | ||
| 52 | /* The number of grants to be mapped. */ | ||
| 53 | uint32_t count; | ||
| 54 | uint32_t pad; | ||
| 55 | /* OUT parameters */ | ||
| 56 | /* The offset to be used on a subsequent call to mmap(). */ | ||
| 57 | uint64_t index; | ||
| 58 | /* Variable IN parameter. */ | ||
| 59 | /* Array of grant references, of size @count. */ | ||
| 60 | struct ioctl_gntdev_grant_ref refs[1]; | ||
| 61 | }; | ||
| 62 | |||
| 63 | /* | ||
| 64 | * Removes the grant references from the mapping table of an instance of | ||
| 65 | * of gntdev. N.B. munmap() must be called on the relevant virtual address(es) | ||
| 66 | * before this ioctl is called, or an error will result. | ||
| 67 | */ | ||
| 68 | #define IOCTL_GNTDEV_UNMAP_GRANT_REF \ | ||
| 69 | _IOC(_IOC_NONE, 'G', 1, sizeof(struct ioctl_gntdev_unmap_grant_ref)) | ||
| 70 | struct ioctl_gntdev_unmap_grant_ref { | ||
| 71 | /* IN parameters */ | ||
| 72 | /* The offset was returned by the corresponding map operation. */ | ||
| 73 | uint64_t index; | ||
| 74 | /* The number of pages to be unmapped. */ | ||
| 75 | uint32_t count; | ||
| 76 | uint32_t pad; | ||
| 77 | }; | ||
| 78 | |||
| 79 | /* | ||
| 80 | * Returns the offset in the driver's address space that corresponds | ||
| 81 | * to @vaddr. This can be used to perform a munmap(), followed by an | ||
| 82 | * UNMAP_GRANT_REF ioctl, where no state about the offset is retained by | ||
| 83 | * the caller. The number of pages that were allocated at the same time as | ||
| 84 | * @vaddr is returned in @count. | ||
| 85 | * | ||
| 86 | * N.B. Where more than one page has been mapped into a contiguous range, the | ||
| 87 | * supplied @vaddr must correspond to the start of the range; otherwise | ||
| 88 | * an error will result. It is only possible to munmap() the entire | ||
| 89 | * contiguously-allocated range at once, and not any subrange thereof. | ||
| 90 | */ | ||
| 91 | #define IOCTL_GNTDEV_GET_OFFSET_FOR_VADDR \ | ||
| 92 | _IOC(_IOC_NONE, 'G', 2, sizeof(struct ioctl_gntdev_get_offset_for_vaddr)) | ||
| 93 | struct ioctl_gntdev_get_offset_for_vaddr { | ||
| 94 | /* IN parameters */ | ||
| 95 | /* The virtual address of the first mapped page in a range. */ | ||
| 96 | uint64_t vaddr; | ||
| 97 | /* OUT parameters */ | ||
| 98 | /* The offset that was used in the initial mmap() operation. */ | ||
| 99 | uint64_t offset; | ||
| 100 | /* The number of pages mapped in the VM area that begins at @vaddr. */ | ||
| 101 | uint32_t count; | ||
| 102 | uint32_t pad; | ||
| 103 | }; | ||
| 104 | |||
| 105 | /* | ||
| 106 | * Sets the maximum number of grants that may mapped at once by this gntdev | ||
| 107 | * instance. | ||
| 108 | * | ||
| 109 | * N.B. This must be called before any other ioctl is performed on the device. | ||
| 110 | */ | ||
| 111 | #define IOCTL_GNTDEV_SET_MAX_GRANTS \ | ||
| 112 | _IOC(_IOC_NONE, 'G', 3, sizeof(struct ioctl_gntdev_set_max_grants)) | ||
| 113 | struct ioctl_gntdev_set_max_grants { | ||
| 114 | /* IN parameter */ | ||
| 115 | /* The maximum number of grants that may be mapped at once. */ | ||
| 116 | uint32_t count; | ||
| 117 | }; | ||
| 118 | |||
| 119 | /* | ||
| 120 | * Sets up an unmap notification within the page, so that the other side can do | ||
| 121 | * cleanup if this side crashes. Required to implement cross-domain robust | ||
| 122 | * mutexes or close notification on communication channels. | ||
| 123 | * | ||
| 124 | * Each mapped page only supports one notification; multiple calls referring to | ||
| 125 | * the same page overwrite the previous notification. You must clear the | ||
| 126 | * notification prior to the IOCTL_GNTALLOC_DEALLOC_GREF if you do not want it | ||
| 127 | * to occur. | ||
| 128 | */ | ||
| 129 | #define IOCTL_GNTDEV_SET_UNMAP_NOTIFY \ | ||
| 130 | _IOC(_IOC_NONE, 'G', 7, sizeof(struct ioctl_gntdev_unmap_notify)) | ||
| 131 | struct ioctl_gntdev_unmap_notify { | ||
| 132 | /* IN parameters */ | ||
| 133 | /* Offset in the file descriptor for a byte within the page (same as | ||
| 134 | * used in mmap). If using UNMAP_NOTIFY_CLEAR_BYTE, this is the byte to | ||
| 135 | * be cleared. Otherwise, it can be any byte in the page whose | ||
| 136 | * notification we are adjusting. | ||
| 137 | */ | ||
| 138 | uint64_t index; | ||
| 139 | /* Action(s) to take on unmap */ | ||
| 140 | uint32_t action; | ||
| 141 | /* Event channel to notify */ | ||
| 142 | uint32_t event_channel_port; | ||
| 143 | }; | ||
| 144 | |||
| 145 | /* Clear (set to zero) the byte specified by index */ | ||
| 146 | #define UNMAP_NOTIFY_CLEAR_BYTE 0x1 | ||
| 147 | /* Send an interrupt on the indicated event channel */ | ||
| 148 | #define UNMAP_NOTIFY_SEND_EVENT 0x2 | ||
| 149 | |||
| 150 | #endif /* __LINUX_PUBLIC_GNTDEV_H__ */ | ||
