diff options
Diffstat (limited to 'include/uapi/linux')
53 files changed, 1378 insertions, 290 deletions
diff --git a/include/uapi/linux/Kbuild b/include/uapi/linux/Kbuild index b70237e8bc37..d8e1716707ba 100644 --- a/include/uapi/linux/Kbuild +++ b/include/uapi/linux/Kbuild | |||
| @@ -37,27 +37,27 @@ header-y += aio_abi.h | |||
| 37 | header-y += apm_bios.h | 37 | header-y += apm_bios.h |
| 38 | header-y += arcfb.h | 38 | header-y += arcfb.h |
| 39 | header-y += atalk.h | 39 | header-y += atalk.h |
| 40 | header-y += atm.h | ||
| 41 | header-y += atm_eni.h | ||
| 42 | header-y += atm_he.h | ||
| 43 | header-y += atm_idt77105.h | ||
| 44 | header-y += atm_nicstar.h | ||
| 45 | header-y += atm_tcp.h | ||
| 46 | header-y += atm_zatm.h | ||
| 47 | header-y += atmapi.h | 40 | header-y += atmapi.h |
| 48 | header-y += atmarp.h | 41 | header-y += atmarp.h |
| 49 | header-y += atmbr2684.h | 42 | header-y += atmbr2684.h |
| 50 | header-y += atmclip.h | 43 | header-y += atmclip.h |
| 51 | header-y += atmdev.h | 44 | header-y += atmdev.h |
| 45 | header-y += atm_eni.h | ||
| 46 | header-y += atm.h | ||
| 47 | header-y += atm_he.h | ||
| 48 | header-y += atm_idt77105.h | ||
| 52 | header-y += atmioc.h | 49 | header-y += atmioc.h |
| 53 | header-y += atmlec.h | 50 | header-y += atmlec.h |
| 54 | header-y += atmmpc.h | 51 | header-y += atmmpc.h |
| 52 | header-y += atm_nicstar.h | ||
| 55 | header-y += atmppp.h | 53 | header-y += atmppp.h |
| 56 | header-y += atmsap.h | 54 | header-y += atmsap.h |
| 57 | header-y += atmsvc.h | 55 | header-y += atmsvc.h |
| 56 | header-y += atm_tcp.h | ||
| 57 | header-y += atm_zatm.h | ||
| 58 | header-y += audit.h | 58 | header-y += audit.h |
| 59 | header-y += auto_fs.h | ||
| 60 | header-y += auto_fs4.h | 59 | header-y += auto_fs4.h |
| 60 | header-y += auto_fs.h | ||
| 61 | header-y += auxvec.h | 61 | header-y += auxvec.h |
| 62 | header-y += ax25.h | 62 | header-y += ax25.h |
| 63 | header-y += b1lli.h | 63 | header-y += b1lli.h |
| @@ -67,8 +67,8 @@ header-y += bfs_fs.h | |||
| 67 | header-y += binfmts.h | 67 | header-y += binfmts.h |
| 68 | header-y += blkpg.h | 68 | header-y += blkpg.h |
| 69 | header-y += blktrace_api.h | 69 | header-y += blktrace_api.h |
| 70 | header-y += bpf.h | ||
| 71 | header-y += bpf_common.h | 70 | header-y += bpf_common.h |
| 71 | header-y += bpf.h | ||
| 72 | header-y += bpqether.h | 72 | header-y += bpqether.h |
| 73 | header-y += bsg.h | 73 | header-y += bsg.h |
| 74 | header-y += btrfs.h | 74 | header-y += btrfs.h |
| @@ -93,21 +93,21 @@ header-y += cyclades.h | |||
| 93 | header-y += cycx_cfm.h | 93 | header-y += cycx_cfm.h |
| 94 | header-y += dcbnl.h | 94 | header-y += dcbnl.h |
| 95 | header-y += dccp.h | 95 | header-y += dccp.h |
| 96 | header-y += dlm.h | 96 | header-y += dlmconstants.h |
| 97 | header-y += dlm_device.h | 97 | header-y += dlm_device.h |
| 98 | header-y += dlm.h | ||
| 98 | header-y += dlm_netlink.h | 99 | header-y += dlm_netlink.h |
| 99 | header-y += dlm_plock.h | 100 | header-y += dlm_plock.h |
| 100 | header-y += dlmconstants.h | ||
| 101 | header-y += dm-ioctl.h | 101 | header-y += dm-ioctl.h |
| 102 | header-y += dm-log-userspace.h | 102 | header-y += dm-log-userspace.h |
| 103 | header-y += dn.h | 103 | header-y += dn.h |
| 104 | header-y += dqblk_xfs.h | 104 | header-y += dqblk_xfs.h |
| 105 | header-y += edd.h | 105 | header-y += edd.h |
| 106 | header-y += efs_fs_sb.h | 106 | header-y += efs_fs_sb.h |
| 107 | header-y += elfcore.h | ||
| 107 | header-y += elf-em.h | 108 | header-y += elf-em.h |
| 108 | header-y += elf-fdpic.h | 109 | header-y += elf-fdpic.h |
| 109 | header-y += elf.h | 110 | header-y += elf.h |
| 110 | header-y += elfcore.h | ||
| 111 | header-y += errno.h | 111 | header-y += errno.h |
| 112 | header-y += errqueue.h | 112 | header-y += errqueue.h |
| 113 | header-y += ethtool.h | 113 | header-y += ethtool.h |
| @@ -125,22 +125,24 @@ header-y += filter.h | |||
| 125 | header-y += firewire-cdev.h | 125 | header-y += firewire-cdev.h |
| 126 | header-y += firewire-constants.h | 126 | header-y += firewire-constants.h |
| 127 | header-y += flat.h | 127 | header-y += flat.h |
| 128 | header-y += fou.h | ||
| 128 | header-y += fs.h | 129 | header-y += fs.h |
| 129 | header-y += fsl_hypervisor.h | 130 | header-y += fsl_hypervisor.h |
| 130 | header-y += fuse.h | 131 | header-y += fuse.h |
| 131 | header-y += futex.h | 132 | header-y += futex.h |
| 132 | header-y += gameport.h | 133 | header-y += gameport.h |
| 133 | header-y += gen_stats.h | ||
| 134 | header-y += genetlink.h | 134 | header-y += genetlink.h |
| 135 | header-y += gen_stats.h | ||
| 135 | header-y += gfs2_ondisk.h | 136 | header-y += gfs2_ondisk.h |
| 136 | header-y += gigaset_dev.h | 137 | header-y += gigaset_dev.h |
| 137 | header-y += hdlc.h | ||
| 138 | header-y += hdlcdrv.h | 138 | header-y += hdlcdrv.h |
| 139 | header-y += hdlc.h | ||
| 139 | header-y += hdreg.h | 140 | header-y += hdreg.h |
| 140 | header-y += hid.h | ||
| 141 | header-y += hiddev.h | 141 | header-y += hiddev.h |
| 142 | header-y += hid.h | ||
| 142 | header-y += hidraw.h | 143 | header-y += hidraw.h |
| 143 | header-y += hpet.h | 144 | header-y += hpet.h |
| 145 | header-y += hsr_netlink.h | ||
| 144 | header-y += hyperv.h | 146 | header-y += hyperv.h |
| 145 | header-y += hysdn_if.h | 147 | header-y += hysdn_if.h |
| 146 | header-y += i2c-dev.h | 148 | header-y += i2c-dev.h |
| @@ -149,7 +151,6 @@ header-y += i2o-dev.h | |||
| 149 | header-y += i8k.h | 151 | header-y += i8k.h |
| 150 | header-y += icmp.h | 152 | header-y += icmp.h |
| 151 | header-y += icmpv6.h | 153 | header-y += icmpv6.h |
| 152 | header-y += if.h | ||
| 153 | header-y += if_addr.h | 154 | header-y += if_addr.h |
| 154 | header-y += if_addrlabel.h | 155 | header-y += if_addrlabel.h |
| 155 | header-y += if_alg.h | 156 | header-y += if_alg.h |
| @@ -163,6 +164,7 @@ header-y += if_ether.h | |||
| 163 | header-y += if_fc.h | 164 | header-y += if_fc.h |
| 164 | header-y += if_fddi.h | 165 | header-y += if_fddi.h |
| 165 | header-y += if_frad.h | 166 | header-y += if_frad.h |
| 167 | header-y += if.h | ||
| 166 | header-y += if_hippi.h | 168 | header-y += if_hippi.h |
| 167 | header-y += if_infiniband.h | 169 | header-y += if_infiniband.h |
| 168 | header-y += if_link.h | 170 | header-y += if_link.h |
| @@ -180,40 +182,40 @@ header-y += if_tunnel.h | |||
| 180 | header-y += if_vlan.h | 182 | header-y += if_vlan.h |
| 181 | header-y += if_x25.h | 183 | header-y += if_x25.h |
| 182 | header-y += igmp.h | 184 | header-y += igmp.h |
| 183 | header-y += in.h | ||
| 184 | header-y += in6.h | 185 | header-y += in6.h |
| 185 | header-y += in_route.h | ||
| 186 | header-y += inet_diag.h | 186 | header-y += inet_diag.h |
| 187 | header-y += in.h | ||
| 187 | header-y += inotify.h | 188 | header-y += inotify.h |
| 188 | header-y += input.h | 189 | header-y += input.h |
| 190 | header-y += in_route.h | ||
| 189 | header-y += ioctl.h | 191 | header-y += ioctl.h |
| 190 | header-y += ip.h | ||
| 191 | header-y += ip6_tunnel.h | 192 | header-y += ip6_tunnel.h |
| 192 | header-y += ip_vs.h | ||
| 193 | header-y += ipc.h | 193 | header-y += ipc.h |
| 194 | header-y += ip.h | ||
| 194 | header-y += ipmi.h | 195 | header-y += ipmi.h |
| 195 | header-y += ipmi_msgdefs.h | 196 | header-y += ipmi_msgdefs.h |
| 196 | header-y += ipsec.h | 197 | header-y += ipsec.h |
| 197 | header-y += ipv6.h | 198 | header-y += ipv6.h |
| 198 | header-y += ipv6_route.h | 199 | header-y += ipv6_route.h |
| 200 | header-y += ip_vs.h | ||
| 199 | header-y += ipx.h | 201 | header-y += ipx.h |
| 200 | header-y += irda.h | 202 | header-y += irda.h |
| 201 | header-y += irqnr.h | 203 | header-y += irqnr.h |
| 202 | header-y += isdn.h | ||
| 203 | header-y += isdn_divertif.h | 204 | header-y += isdn_divertif.h |
| 204 | header-y += isdn_ppp.h | 205 | header-y += isdn.h |
| 205 | header-y += isdnif.h | 206 | header-y += isdnif.h |
| 207 | header-y += isdn_ppp.h | ||
| 206 | header-y += iso_fs.h | 208 | header-y += iso_fs.h |
| 207 | header-y += ivtv.h | ||
| 208 | header-y += ivtvfb.h | 209 | header-y += ivtvfb.h |
| 210 | header-y += ivtv.h | ||
| 209 | header-y += ixjuser.h | 211 | header-y += ixjuser.h |
| 210 | header-y += jffs2.h | 212 | header-y += jffs2.h |
| 211 | header-y += joystick.h | 213 | header-y += joystick.h |
| 212 | header-y += kd.h | ||
| 213 | header-y += kdev_t.h | 214 | header-y += kdev_t.h |
| 214 | header-y += kernel-page-flags.h | 215 | header-y += kd.h |
| 215 | header-y += kernel.h | ||
| 216 | header-y += kernelcapi.h | 216 | header-y += kernelcapi.h |
| 217 | header-y += kernel.h | ||
| 218 | header-y += kernel-page-flags.h | ||
| 217 | header-y += kexec.h | 219 | header-y += kexec.h |
| 218 | header-y += keyboard.h | 220 | header-y += keyboard.h |
| 219 | header-y += keyctl.h | 221 | header-y += keyctl.h |
| @@ -229,6 +231,7 @@ ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/include/uapi/asm/kvm_para.h \ | |||
| 229 | header-y += kvm_para.h | 231 | header-y += kvm_para.h |
| 230 | endif | 232 | endif |
| 231 | 233 | ||
| 234 | header-y += hw_breakpoint.h | ||
| 232 | header-y += l2tp.h | 235 | header-y += l2tp.h |
| 233 | header-y += libc-compat.h | 236 | header-y += libc-compat.h |
| 234 | header-y += limits.h | 237 | header-y += limits.h |
| @@ -241,6 +244,7 @@ header-y += map_to_7segment.h | |||
| 241 | header-y += matroxfb.h | 244 | header-y += matroxfb.h |
| 242 | header-y += mdio.h | 245 | header-y += mdio.h |
| 243 | header-y += media.h | 246 | header-y += media.h |
| 247 | header-y += media-bus-format.h | ||
| 244 | header-y += mei.h | 248 | header-y += mei.h |
| 245 | header-y += memfd.h | 249 | header-y += memfd.h |
| 246 | header-y += mempolicy.h | 250 | header-y += mempolicy.h |
| @@ -251,44 +255,45 @@ header-y += mii.h | |||
| 251 | header-y += minix_fs.h | 255 | header-y += minix_fs.h |
| 252 | header-y += mman.h | 256 | header-y += mman.h |
| 253 | header-y += mmtimer.h | 257 | header-y += mmtimer.h |
| 258 | header-y += mpls.h | ||
| 254 | header-y += mqueue.h | 259 | header-y += mqueue.h |
| 255 | header-y += mroute.h | ||
| 256 | header-y += mroute6.h | 260 | header-y += mroute6.h |
| 261 | header-y += mroute.h | ||
| 257 | header-y += msdos_fs.h | 262 | header-y += msdos_fs.h |
| 258 | header-y += msg.h | 263 | header-y += msg.h |
| 259 | header-y += mtio.h | 264 | header-y += mtio.h |
| 260 | header-y += n_r3964.h | ||
| 261 | header-y += nbd.h | 265 | header-y += nbd.h |
| 262 | header-y += ncp.h | ||
| 263 | header-y += ncp_fs.h | 266 | header-y += ncp_fs.h |
| 267 | header-y += ncp.h | ||
| 264 | header-y += ncp_mount.h | 268 | header-y += ncp_mount.h |
| 265 | header-y += ncp_no.h | 269 | header-y += ncp_no.h |
| 266 | header-y += neighbour.h | 270 | header-y += neighbour.h |
| 267 | header-y += net.h | ||
| 268 | header-y += net_dropmon.h | ||
| 269 | header-y += net_tstamp.h | ||
| 270 | header-y += netconf.h | 271 | header-y += netconf.h |
| 271 | header-y += netdevice.h | 272 | header-y += netdevice.h |
| 272 | header-y += netlink_diag.h | 273 | header-y += net_dropmon.h |
| 273 | header-y += netfilter.h | ||
| 274 | header-y += netfilter_arp.h | 274 | header-y += netfilter_arp.h |
| 275 | header-y += netfilter_bridge.h | 275 | header-y += netfilter_bridge.h |
| 276 | header-y += netfilter_decnet.h | 276 | header-y += netfilter_decnet.h |
| 277 | header-y += netfilter.h | ||
| 277 | header-y += netfilter_ipv4.h | 278 | header-y += netfilter_ipv4.h |
| 278 | header-y += netfilter_ipv6.h | 279 | header-y += netfilter_ipv6.h |
| 280 | header-y += net.h | ||
| 281 | header-y += netlink_diag.h | ||
| 279 | header-y += netlink.h | 282 | header-y += netlink.h |
| 280 | header-y += netrom.h | 283 | header-y += netrom.h |
| 284 | header-y += net_tstamp.h | ||
| 281 | header-y += nfc.h | 285 | header-y += nfc.h |
| 282 | header-y += nfs.h | ||
| 283 | header-y += nfs2.h | 286 | header-y += nfs2.h |
| 284 | header-y += nfs3.h | 287 | header-y += nfs3.h |
| 285 | header-y += nfs4.h | 288 | header-y += nfs4.h |
| 286 | header-y += nfs4_mount.h | 289 | header-y += nfs4_mount.h |
| 290 | header-y += nfsacl.h | ||
| 287 | header-y += nfs_fs.h | 291 | header-y += nfs_fs.h |
| 292 | header-y += nfs.h | ||
| 288 | header-y += nfs_idmap.h | 293 | header-y += nfs_idmap.h |
| 289 | header-y += nfs_mount.h | 294 | header-y += nfs_mount.h |
| 290 | header-y += nfsacl.h | ||
| 291 | header-y += nl80211.h | 295 | header-y += nl80211.h |
| 296 | header-y += n_r3964.h | ||
| 292 | header-y += nubus.h | 297 | header-y += nubus.h |
| 293 | header-y += nvme.h | 298 | header-y += nvme.h |
| 294 | header-y += nvram.h | 299 | header-y += nvram.h |
| @@ -308,16 +313,16 @@ header-y += pfkeyv2.h | |||
| 308 | header-y += pg.h | 313 | header-y += pg.h |
| 309 | header-y += phantom.h | 314 | header-y += phantom.h |
| 310 | header-y += phonet.h | 315 | header-y += phonet.h |
| 316 | header-y += pktcdvd.h | ||
| 311 | header-y += pkt_cls.h | 317 | header-y += pkt_cls.h |
| 312 | header-y += pkt_sched.h | 318 | header-y += pkt_sched.h |
| 313 | header-y += pktcdvd.h | ||
| 314 | header-y += pmu.h | 319 | header-y += pmu.h |
| 315 | header-y += poll.h | 320 | header-y += poll.h |
| 316 | header-y += posix_types.h | 321 | header-y += posix_types.h |
| 317 | header-y += ppdev.h | 322 | header-y += ppdev.h |
| 318 | header-y += ppp-comp.h | 323 | header-y += ppp-comp.h |
| 319 | header-y += ppp-ioctl.h | ||
| 320 | header-y += ppp_defs.h | 324 | header-y += ppp_defs.h |
| 325 | header-y += ppp-ioctl.h | ||
| 321 | header-y += pps.h | 326 | header-y += pps.h |
| 322 | header-y += prctl.h | 327 | header-y += prctl.h |
| 323 | header-y += psci.h | 328 | header-y += psci.h |
| @@ -349,13 +354,13 @@ header-y += seccomp.h | |||
| 349 | header-y += securebits.h | 354 | header-y += securebits.h |
| 350 | header-y += selinux_netlink.h | 355 | header-y += selinux_netlink.h |
| 351 | header-y += sem.h | 356 | header-y += sem.h |
| 352 | header-y += serial.h | ||
| 353 | header-y += serial_core.h | 357 | header-y += serial_core.h |
| 358 | header-y += serial.h | ||
| 354 | header-y += serial_reg.h | 359 | header-y += serial_reg.h |
| 355 | header-y += serio.h | 360 | header-y += serio.h |
| 356 | header-y += shm.h | 361 | header-y += shm.h |
| 357 | header-y += signal.h | ||
| 358 | header-y += signalfd.h | 362 | header-y += signalfd.h |
| 363 | header-y += signal.h | ||
| 359 | header-y += smiapp.h | 364 | header-y += smiapp.h |
| 360 | header-y += snmp.h | 365 | header-y += snmp.h |
| 361 | header-y += sock_diag.h | 366 | header-y += sock_diag.h |
| @@ -364,8 +369,8 @@ header-y += sockios.h | |||
| 364 | header-y += som.h | 369 | header-y += som.h |
| 365 | header-y += sonet.h | 370 | header-y += sonet.h |
| 366 | header-y += sonypi.h | 371 | header-y += sonypi.h |
| 367 | header-y += sound.h | ||
| 368 | header-y += soundcard.h | 372 | header-y += soundcard.h |
| 373 | header-y += sound.h | ||
| 369 | header-y += stat.h | 374 | header-y += stat.h |
| 370 | header-y += stddef.h | 375 | header-y += stddef.h |
| 371 | header-y += string.h | 376 | header-y += string.h |
| @@ -384,11 +389,12 @@ header-y += time.h | |||
| 384 | header-y += times.h | 389 | header-y += times.h |
| 385 | header-y += timex.h | 390 | header-y += timex.h |
| 386 | header-y += tiocl.h | 391 | header-y += tiocl.h |
| 387 | header-y += tipc.h | ||
| 388 | header-y += tipc_config.h | 392 | header-y += tipc_config.h |
| 393 | header-y += tipc_netlink.h | ||
| 394 | header-y += tipc.h | ||
| 389 | header-y += toshiba.h | 395 | header-y += toshiba.h |
| 390 | header-y += tty.h | ||
| 391 | header-y += tty_flags.h | 396 | header-y += tty_flags.h |
| 397 | header-y += tty.h | ||
| 392 | header-y += types.h | 398 | header-y += types.h |
| 393 | header-y += udf_fs_i.h | 399 | header-y += udf_fs_i.h |
| 394 | header-y += udp.h | 400 | header-y += udp.h |
| @@ -424,6 +430,9 @@ header-y += virtio_net.h | |||
| 424 | header-y += virtio_pci.h | 430 | header-y += virtio_pci.h |
| 425 | header-y += virtio_ring.h | 431 | header-y += virtio_ring.h |
| 426 | header-y += virtio_rng.h | 432 | header-y += virtio_rng.h |
| 433 | header-y += virtio_scsi.h | ||
| 434 | header-y += virtio_types.h | ||
| 435 | header-y += vm_sockets.h | ||
| 427 | header-y += vt.h | 436 | header-y += vt.h |
| 428 | header-y += wait.h | 437 | header-y += wait.h |
| 429 | header-y += wanrouter.h | 438 | header-y += wanrouter.h |
| @@ -433,6 +442,5 @@ header-y += wireless.h | |||
| 433 | header-y += x25.h | 442 | header-y += x25.h |
| 434 | header-y += xattr.h | 443 | header-y += xattr.h |
| 435 | header-y += xfrm.h | 444 | header-y += xfrm.h |
| 436 | header-y += hw_breakpoint.h | ||
| 437 | header-y += zorro.h | 445 | header-y += zorro.h |
| 438 | header-y += zorro_ids.h | 446 | header-y += zorro_ids.h |
diff --git a/include/uapi/linux/audit.h b/include/uapi/linux/audit.h index d4dbef14d4df..12e26683c706 100644 --- a/include/uapi/linux/audit.h +++ b/include/uapi/linux/audit.h | |||
| @@ -322,9 +322,15 @@ enum { | |||
| 322 | #define AUDIT_STATUS_BACKLOG_LIMIT 0x0010 | 322 | #define AUDIT_STATUS_BACKLOG_LIMIT 0x0010 |
| 323 | #define AUDIT_STATUS_BACKLOG_WAIT_TIME 0x0020 | 323 | #define AUDIT_STATUS_BACKLOG_WAIT_TIME 0x0020 |
| 324 | 324 | ||
| 325 | #define AUDIT_VERSION_BACKLOG_LIMIT 1 | 325 | #define AUDIT_FEATURE_BITMAP_BACKLOG_LIMIT 0x00000001 |
| 326 | #define AUDIT_VERSION_BACKLOG_WAIT_TIME 2 | 326 | #define AUDIT_FEATURE_BITMAP_BACKLOG_WAIT_TIME 0x00000002 |
| 327 | #define AUDIT_VERSION_LATEST AUDIT_VERSION_BACKLOG_WAIT_TIME | 327 | #define AUDIT_FEATURE_BITMAP_ALL (AUDIT_FEATURE_BITMAP_BACKLOG_LIMIT | \ |
| 328 | AUDIT_FEATURE_BITMAP_BACKLOG_WAIT_TIME) | ||
| 329 | |||
| 330 | /* deprecated: AUDIT_VERSION_* */ | ||
| 331 | #define AUDIT_VERSION_LATEST AUDIT_FEATURE_BITMAP_ALL | ||
| 332 | #define AUDIT_VERSION_BACKLOG_LIMIT AUDIT_FEATURE_BITMAP_BACKLOG_LIMIT | ||
| 333 | #define AUDIT_VERSION_BACKLOG_WAIT_TIME AUDIT_FEATURE_BITMAP_BACKLOG_WAIT_TIME | ||
| 328 | 334 | ||
| 329 | /* Failure-to-log actions */ | 335 | /* Failure-to-log actions */ |
| 330 | #define AUDIT_FAIL_SILENT 0 | 336 | #define AUDIT_FAIL_SILENT 0 |
| @@ -404,7 +410,10 @@ struct audit_status { | |||
| 404 | __u32 backlog_limit; /* waiting messages limit */ | 410 | __u32 backlog_limit; /* waiting messages limit */ |
| 405 | __u32 lost; /* messages lost */ | 411 | __u32 lost; /* messages lost */ |
| 406 | __u32 backlog; /* messages waiting in queue */ | 412 | __u32 backlog; /* messages waiting in queue */ |
| 407 | __u32 version; /* audit api version number */ | 413 | union { |
| 414 | __u32 version; /* deprecated: audit api version num */ | ||
| 415 | __u32 feature_bitmap; /* bitmap of kernel audit features */ | ||
| 416 | }; | ||
| 408 | __u32 backlog_wait_time;/* message queue wait timeout */ | 417 | __u32 backlog_wait_time;/* message queue wait timeout */ |
| 409 | }; | 418 | }; |
| 410 | 419 | ||
diff --git a/include/uapi/linux/bpf.h b/include/uapi/linux/bpf.h index d18316f9e9c4..45da7ec7d274 100644 --- a/include/uapi/linux/bpf.h +++ b/include/uapi/linux/bpf.h | |||
| @@ -82,7 +82,7 @@ enum bpf_cmd { | |||
| 82 | 82 | ||
| 83 | /* create or update key/value pair in a given map | 83 | /* create or update key/value pair in a given map |
| 84 | * err = bpf(BPF_MAP_UPDATE_ELEM, union bpf_attr *attr, u32 size) | 84 | * err = bpf(BPF_MAP_UPDATE_ELEM, union bpf_attr *attr, u32 size) |
| 85 | * Using attr->map_fd, attr->key, attr->value | 85 | * Using attr->map_fd, attr->key, attr->value, attr->flags |
| 86 | * returns zero or negative error | 86 | * returns zero or negative error |
| 87 | */ | 87 | */ |
| 88 | BPF_MAP_UPDATE_ELEM, | 88 | BPF_MAP_UPDATE_ELEM, |
| @@ -111,12 +111,20 @@ enum bpf_cmd { | |||
| 111 | 111 | ||
| 112 | enum bpf_map_type { | 112 | enum bpf_map_type { |
| 113 | BPF_MAP_TYPE_UNSPEC, | 113 | BPF_MAP_TYPE_UNSPEC, |
| 114 | BPF_MAP_TYPE_HASH, | ||
| 115 | BPF_MAP_TYPE_ARRAY, | ||
| 114 | }; | 116 | }; |
| 115 | 117 | ||
| 116 | enum bpf_prog_type { | 118 | enum bpf_prog_type { |
| 117 | BPF_PROG_TYPE_UNSPEC, | 119 | BPF_PROG_TYPE_UNSPEC, |
| 120 | BPF_PROG_TYPE_SOCKET_FILTER, | ||
| 118 | }; | 121 | }; |
| 119 | 122 | ||
| 123 | /* flags for BPF_MAP_UPDATE_ELEM command */ | ||
| 124 | #define BPF_ANY 0 /* create new element or update existing */ | ||
| 125 | #define BPF_NOEXIST 1 /* create new element if it didn't exist */ | ||
| 126 | #define BPF_EXIST 2 /* update existing element */ | ||
| 127 | |||
| 120 | union bpf_attr { | 128 | union bpf_attr { |
| 121 | struct { /* anonymous struct used by BPF_MAP_CREATE command */ | 129 | struct { /* anonymous struct used by BPF_MAP_CREATE command */ |
| 122 | __u32 map_type; /* one of enum bpf_map_type */ | 130 | __u32 map_type; /* one of enum bpf_map_type */ |
| @@ -132,6 +140,7 @@ union bpf_attr { | |||
| 132 | __aligned_u64 value; | 140 | __aligned_u64 value; |
| 133 | __aligned_u64 next_key; | 141 | __aligned_u64 next_key; |
| 134 | }; | 142 | }; |
| 143 | __u64 flags; | ||
| 135 | }; | 144 | }; |
| 136 | 145 | ||
| 137 | struct { /* anonymous struct used by BPF_PROG_LOAD command */ | 146 | struct { /* anonymous struct used by BPF_PROG_LOAD command */ |
| @@ -150,6 +159,9 @@ union bpf_attr { | |||
| 150 | */ | 159 | */ |
| 151 | enum bpf_func_id { | 160 | enum bpf_func_id { |
| 152 | BPF_FUNC_unspec, | 161 | BPF_FUNC_unspec, |
| 162 | BPF_FUNC_map_lookup_elem, /* void *map_lookup_elem(&map, &key) */ | ||
| 163 | BPF_FUNC_map_update_elem, /* int map_update_elem(&map, &key, &value, flags) */ | ||
| 164 | BPF_FUNC_map_delete_elem, /* int map_delete_elem(&map, &key) */ | ||
| 153 | __BPF_FUNC_MAX_ID, | 165 | __BPF_FUNC_MAX_ID, |
| 154 | }; | 166 | }; |
| 155 | 167 | ||
diff --git a/include/uapi/linux/btrfs.h b/include/uapi/linux/btrfs.h index 2f47824e7a36..611e1c5893b4 100644 --- a/include/uapi/linux/btrfs.h +++ b/include/uapi/linux/btrfs.h | |||
| @@ -157,6 +157,7 @@ struct btrfs_ioctl_dev_replace_status_params { | |||
| 157 | #define BTRFS_IOCTL_DEV_REPLACE_RESULT_NO_ERROR 0 | 157 | #define BTRFS_IOCTL_DEV_REPLACE_RESULT_NO_ERROR 0 |
| 158 | #define BTRFS_IOCTL_DEV_REPLACE_RESULT_NOT_STARTED 1 | 158 | #define BTRFS_IOCTL_DEV_REPLACE_RESULT_NOT_STARTED 1 |
| 159 | #define BTRFS_IOCTL_DEV_REPLACE_RESULT_ALREADY_STARTED 2 | 159 | #define BTRFS_IOCTL_DEV_REPLACE_RESULT_ALREADY_STARTED 2 |
| 160 | #define BTRFS_IOCTL_DEV_REPLACE_RESULT_SCRUB_INPROGRESS 3 | ||
| 160 | struct btrfs_ioctl_dev_replace_args { | 161 | struct btrfs_ioctl_dev_replace_args { |
| 161 | __u64 cmd; /* in */ | 162 | __u64 cmd; /* in */ |
| 162 | __u64 result; /* out */ | 163 | __u64 result; /* out */ |
diff --git a/include/uapi/linux/can/error.h b/include/uapi/linux/can/error.h index c247446ab25a..1c508be9687f 100644 --- a/include/uapi/linux/can/error.h +++ b/include/uapi/linux/can/error.h | |||
| @@ -71,6 +71,7 @@ | |||
| 71 | #define CAN_ERR_CRTL_TX_PASSIVE 0x20 /* reached error passive status TX */ | 71 | #define CAN_ERR_CRTL_TX_PASSIVE 0x20 /* reached error passive status TX */ |
| 72 | /* (at least one error counter exceeds */ | 72 | /* (at least one error counter exceeds */ |
| 73 | /* the protocol-defined level of 127) */ | 73 | /* the protocol-defined level of 127) */ |
| 74 | #define CAN_ERR_CRTL_ACTIVE 0x40 /* recovered to error active state */ | ||
| 74 | 75 | ||
| 75 | /* error in CAN protocol (type) / data[2] */ | 76 | /* error in CAN protocol (type) / data[2] */ |
| 76 | #define CAN_ERR_PROT_UNSPEC 0x00 /* unspecified */ | 77 | #define CAN_ERR_PROT_UNSPEC 0x00 /* unspecified */ |
diff --git a/include/uapi/linux/dlmconstants.h b/include/uapi/linux/dlmconstants.h index 47bf08dc7566..2857bdc5b27b 100644 --- a/include/uapi/linux/dlmconstants.h +++ b/include/uapi/linux/dlmconstants.h | |||
| @@ -114,7 +114,7 @@ | |||
| 114 | * | 114 | * |
| 115 | * DLM_LKF_ORPHAN | 115 | * DLM_LKF_ORPHAN |
| 116 | * | 116 | * |
| 117 | * not yet implemented | 117 | * Acquire an orphan lock. |
| 118 | * | 118 | * |
| 119 | * DLM_LKF_ALTPR | 119 | * DLM_LKF_ALTPR |
| 120 | * | 120 | * |
diff --git a/include/uapi/linux/dm-ioctl.h b/include/uapi/linux/dm-ioctl.h index 3315ab21f728..a570d7b5796c 100644 --- a/include/uapi/linux/dm-ioctl.h +++ b/include/uapi/linux/dm-ioctl.h | |||
| @@ -267,9 +267,9 @@ enum { | |||
| 267 | #define DM_DEV_SET_GEOMETRY _IOWR(DM_IOCTL, DM_DEV_SET_GEOMETRY_CMD, struct dm_ioctl) | 267 | #define DM_DEV_SET_GEOMETRY _IOWR(DM_IOCTL, DM_DEV_SET_GEOMETRY_CMD, struct dm_ioctl) |
| 268 | 268 | ||
| 269 | #define DM_VERSION_MAJOR 4 | 269 | #define DM_VERSION_MAJOR 4 |
| 270 | #define DM_VERSION_MINOR 28 | 270 | #define DM_VERSION_MINOR 29 |
| 271 | #define DM_VERSION_PATCHLEVEL 0 | 271 | #define DM_VERSION_PATCHLEVEL 0 |
| 272 | #define DM_VERSION_EXTRA "-ioctl (2014-09-17)" | 272 | #define DM_VERSION_EXTRA "-ioctl (2014-10-28)" |
| 273 | 273 | ||
| 274 | /* Status bits */ | 274 | /* Status bits */ |
| 275 | #define DM_READONLY_FLAG (1 << 0) /* In/Out */ | 275 | #define DM_READONLY_FLAG (1 << 0) /* In/Out */ |
| @@ -352,4 +352,9 @@ enum { | |||
| 352 | */ | 352 | */ |
| 353 | #define DM_DEFERRED_REMOVE (1 << 17) /* In/Out */ | 353 | #define DM_DEFERRED_REMOVE (1 << 17) /* In/Out */ |
| 354 | 354 | ||
| 355 | /* | ||
| 356 | * If set, the device is suspended internally. | ||
| 357 | */ | ||
| 358 | #define DM_INTERNAL_SUSPEND_FLAG (1 << 18) /* Out */ | ||
| 359 | |||
| 355 | #endif /* _LINUX_DM_IOCTL_H */ | 360 | #endif /* _LINUX_DM_IOCTL_H */ |
diff --git a/include/uapi/linux/elf-em.h b/include/uapi/linux/elf-em.h index aa90bc98b6e2..ae99f7743cf4 100644 --- a/include/uapi/linux/elf-em.h +++ b/include/uapi/linux/elf-em.h | |||
| @@ -34,6 +34,7 @@ | |||
| 34 | #define EM_MN10300 89 /* Panasonic/MEI MN10300, AM33 */ | 34 | #define EM_MN10300 89 /* Panasonic/MEI MN10300, AM33 */ |
| 35 | #define EM_OPENRISC 92 /* OpenRISC 32-bit embedded processor */ | 35 | #define EM_OPENRISC 92 /* OpenRISC 32-bit embedded processor */ |
| 36 | #define EM_BLACKFIN 106 /* ADI Blackfin Processor */ | 36 | #define EM_BLACKFIN 106 /* ADI Blackfin Processor */ |
| 37 | #define EM_ALTERA_NIOS2 113 /* Altera Nios II soft-core processor */ | ||
| 37 | #define EM_TI_C6000 140 /* TI C6X DSPs */ | 38 | #define EM_TI_C6000 140 /* TI C6X DSPs */ |
| 38 | #define EM_AARCH64 183 /* ARM 64 bit */ | 39 | #define EM_AARCH64 183 /* ARM 64 bit */ |
| 39 | #define EM_FRV 0x5441 /* Fujitsu FR-V */ | 40 | #define EM_FRV 0x5441 /* Fujitsu FR-V */ |
diff --git a/include/uapi/linux/elf.h b/include/uapi/linux/elf.h index ea9bf2561b9e..71e1d0ed92f7 100644 --- a/include/uapi/linux/elf.h +++ b/include/uapi/linux/elf.h | |||
| @@ -397,6 +397,7 @@ typedef struct elf64_shdr { | |||
| 397 | #define NT_ARM_TLS 0x401 /* ARM TLS register */ | 397 | #define NT_ARM_TLS 0x401 /* ARM TLS register */ |
| 398 | #define NT_ARM_HW_BREAK 0x402 /* ARM hardware breakpoint registers */ | 398 | #define NT_ARM_HW_BREAK 0x402 /* ARM hardware breakpoint registers */ |
| 399 | #define NT_ARM_HW_WATCH 0x403 /* ARM hardware watchpoint registers */ | 399 | #define NT_ARM_HW_WATCH 0x403 /* ARM hardware watchpoint registers */ |
| 400 | #define NT_ARM_SYSTEM_CALL 0x404 /* ARM system call number */ | ||
| 400 | #define NT_METAG_CBUF 0x500 /* Metag catch buffer registers */ | 401 | #define NT_METAG_CBUF 0x500 /* Metag catch buffer registers */ |
| 401 | #define NT_METAG_RPIPE 0x501 /* Metag read pipeline state */ | 402 | #define NT_METAG_RPIPE 0x501 /* Metag read pipeline state */ |
| 402 | #define NT_METAG_TLS 0x502 /* Metag TLS pointer */ | 403 | #define NT_METAG_TLS 0x502 /* Metag TLS pointer */ |
diff --git a/include/uapi/linux/ethtool.h b/include/uapi/linux/ethtool.h index 99b43056a6fe..5f66d9c2889d 100644 --- a/include/uapi/linux/ethtool.h +++ b/include/uapi/linux/ethtool.h | |||
| @@ -534,6 +534,7 @@ struct ethtool_pauseparam { | |||
| 534 | * @ETH_SS_NTUPLE_FILTERS: Previously used with %ETHTOOL_GRXNTUPLE; | 534 | * @ETH_SS_NTUPLE_FILTERS: Previously used with %ETHTOOL_GRXNTUPLE; |
| 535 | * now deprecated | 535 | * now deprecated |
| 536 | * @ETH_SS_FEATURES: Device feature names | 536 | * @ETH_SS_FEATURES: Device feature names |
| 537 | * @ETH_SS_RSS_HASH_FUNCS: RSS hush function names | ||
| 537 | */ | 538 | */ |
| 538 | enum ethtool_stringset { | 539 | enum ethtool_stringset { |
| 539 | ETH_SS_TEST = 0, | 540 | ETH_SS_TEST = 0, |
| @@ -541,6 +542,7 @@ enum ethtool_stringset { | |||
| 541 | ETH_SS_PRIV_FLAGS, | 542 | ETH_SS_PRIV_FLAGS, |
| 542 | ETH_SS_NTUPLE_FILTERS, | 543 | ETH_SS_NTUPLE_FILTERS, |
| 543 | ETH_SS_FEATURES, | 544 | ETH_SS_FEATURES, |
| 545 | ETH_SS_RSS_HASH_FUNCS, | ||
| 544 | }; | 546 | }; |
| 545 | 547 | ||
| 546 | /** | 548 | /** |
| @@ -884,6 +886,8 @@ struct ethtool_rxfh_indir { | |||
| 884 | * @key_size: On entry, the array size of the user buffer for the hash key, | 886 | * @key_size: On entry, the array size of the user buffer for the hash key, |
| 885 | * which may be zero. On return from %ETHTOOL_GRSSH, the size of the | 887 | * which may be zero. On return from %ETHTOOL_GRSSH, the size of the |
| 886 | * hardware hash key. | 888 | * hardware hash key. |
| 889 | * @hfunc: Defines the current RSS hash function used by HW (or to be set to). | ||
| 890 | * Valid values are one of the %ETH_RSS_HASH_*. | ||
| 887 | * @rsvd: Reserved for future extensions. | 891 | * @rsvd: Reserved for future extensions. |
| 888 | * @rss_config: RX ring/queue index for each hash value i.e., indirection table | 892 | * @rss_config: RX ring/queue index for each hash value i.e., indirection table |
| 889 | * of @indir_size __u32 elements, followed by hash key of @key_size | 893 | * of @indir_size __u32 elements, followed by hash key of @key_size |
| @@ -893,14 +897,16 @@ struct ethtool_rxfh_indir { | |||
| 893 | * size should be returned. For %ETHTOOL_SRSSH, an @indir_size of | 897 | * size should be returned. For %ETHTOOL_SRSSH, an @indir_size of |
| 894 | * %ETH_RXFH_INDIR_NO_CHANGE means that indir table setting is not requested | 898 | * %ETH_RXFH_INDIR_NO_CHANGE means that indir table setting is not requested |
| 895 | * and a @indir_size of zero means the indir table should be reset to default | 899 | * and a @indir_size of zero means the indir table should be reset to default |
| 896 | * values. | 900 | * values. An hfunc of zero means that hash function setting is not requested. |
| 897 | */ | 901 | */ |
| 898 | struct ethtool_rxfh { | 902 | struct ethtool_rxfh { |
| 899 | __u32 cmd; | 903 | __u32 cmd; |
| 900 | __u32 rss_context; | 904 | __u32 rss_context; |
| 901 | __u32 indir_size; | 905 | __u32 indir_size; |
| 902 | __u32 key_size; | 906 | __u32 key_size; |
| 903 | __u32 rsvd[2]; | 907 | __u8 hfunc; |
| 908 | __u8 rsvd8[3]; | ||
| 909 | __u32 rsvd32; | ||
| 904 | __u32 rss_config[0]; | 910 | __u32 rss_config[0]; |
| 905 | }; | 911 | }; |
| 906 | #define ETH_RXFH_INDIR_NO_CHANGE 0xffffffff | 912 | #define ETH_RXFH_INDIR_NO_CHANGE 0xffffffff |
| @@ -1213,6 +1219,10 @@ enum ethtool_sfeatures_retval_bits { | |||
| 1213 | #define SUPPORTED_40000baseCR4_Full (1 << 24) | 1219 | #define SUPPORTED_40000baseCR4_Full (1 << 24) |
| 1214 | #define SUPPORTED_40000baseSR4_Full (1 << 25) | 1220 | #define SUPPORTED_40000baseSR4_Full (1 << 25) |
| 1215 | #define SUPPORTED_40000baseLR4_Full (1 << 26) | 1221 | #define SUPPORTED_40000baseLR4_Full (1 << 26) |
| 1222 | #define SUPPORTED_56000baseKR4_Full (1 << 27) | ||
| 1223 | #define SUPPORTED_56000baseCR4_Full (1 << 28) | ||
| 1224 | #define SUPPORTED_56000baseSR4_Full (1 << 29) | ||
| 1225 | #define SUPPORTED_56000baseLR4_Full (1 << 30) | ||
| 1216 | 1226 | ||
| 1217 | #define ADVERTISED_10baseT_Half (1 << 0) | 1227 | #define ADVERTISED_10baseT_Half (1 << 0) |
| 1218 | #define ADVERTISED_10baseT_Full (1 << 1) | 1228 | #define ADVERTISED_10baseT_Full (1 << 1) |
| @@ -1241,6 +1251,10 @@ enum ethtool_sfeatures_retval_bits { | |||
| 1241 | #define ADVERTISED_40000baseCR4_Full (1 << 24) | 1251 | #define ADVERTISED_40000baseCR4_Full (1 << 24) |
| 1242 | #define ADVERTISED_40000baseSR4_Full (1 << 25) | 1252 | #define ADVERTISED_40000baseSR4_Full (1 << 25) |
| 1243 | #define ADVERTISED_40000baseLR4_Full (1 << 26) | 1253 | #define ADVERTISED_40000baseLR4_Full (1 << 26) |
| 1254 | #define ADVERTISED_56000baseKR4_Full (1 << 27) | ||
| 1255 | #define ADVERTISED_56000baseCR4_Full (1 << 28) | ||
| 1256 | #define ADVERTISED_56000baseSR4_Full (1 << 29) | ||
| 1257 | #define ADVERTISED_56000baseLR4_Full (1 << 30) | ||
| 1244 | 1258 | ||
| 1245 | /* The following are all involved in forcing a particular link | 1259 | /* The following are all involved in forcing a particular link |
| 1246 | * mode for the device for setting things. When getting the | 1260 | * mode for the device for setting things. When getting the |
| @@ -1248,12 +1262,16 @@ enum ethtool_sfeatures_retval_bits { | |||
| 1248 | * it was forced up into this mode or autonegotiated. | 1262 | * it was forced up into this mode or autonegotiated. |
| 1249 | */ | 1263 | */ |
| 1250 | 1264 | ||
| 1251 | /* The forced speed, 10Mb, 100Mb, gigabit, 2.5Gb, 10GbE. */ | 1265 | /* The forced speed, 10Mb, 100Mb, gigabit, [2.5|10|20|40|56]GbE. */ |
| 1252 | #define SPEED_10 10 | 1266 | #define SPEED_10 10 |
| 1253 | #define SPEED_100 100 | 1267 | #define SPEED_100 100 |
| 1254 | #define SPEED_1000 1000 | 1268 | #define SPEED_1000 1000 |
| 1255 | #define SPEED_2500 2500 | 1269 | #define SPEED_2500 2500 |
| 1256 | #define SPEED_10000 10000 | 1270 | #define SPEED_10000 10000 |
| 1271 | #define SPEED_20000 20000 | ||
| 1272 | #define SPEED_40000 40000 | ||
| 1273 | #define SPEED_56000 56000 | ||
| 1274 | |||
| 1257 | #define SPEED_UNKNOWN -1 | 1275 | #define SPEED_UNKNOWN -1 |
| 1258 | 1276 | ||
| 1259 | /* Duplex, half or full. */ | 1277 | /* Duplex, half or full. */ |
| @@ -1343,6 +1361,10 @@ enum ethtool_sfeatures_retval_bits { | |||
| 1343 | #define ETH_MODULE_SFF_8079_LEN 256 | 1361 | #define ETH_MODULE_SFF_8079_LEN 256 |
| 1344 | #define ETH_MODULE_SFF_8472 0x2 | 1362 | #define ETH_MODULE_SFF_8472 0x2 |
| 1345 | #define ETH_MODULE_SFF_8472_LEN 512 | 1363 | #define ETH_MODULE_SFF_8472_LEN 512 |
| 1364 | #define ETH_MODULE_SFF_8636 0x3 | ||
| 1365 | #define ETH_MODULE_SFF_8636_LEN 256 | ||
| 1366 | #define ETH_MODULE_SFF_8436 0x4 | ||
| 1367 | #define ETH_MODULE_SFF_8436_LEN 256 | ||
| 1346 | 1368 | ||
| 1347 | /* Reset flags */ | 1369 | /* Reset flags */ |
| 1348 | /* The reset() operation must clear the flags for the components which | 1370 | /* The reset() operation must clear the flags for the components which |
diff --git a/include/uapi/linux/if_alg.h b/include/uapi/linux/if_alg.h index 0f9acce5b1ff..f2acd2fde1f3 100644 --- a/include/uapi/linux/if_alg.h +++ b/include/uapi/linux/if_alg.h | |||
| @@ -32,6 +32,8 @@ struct af_alg_iv { | |||
| 32 | #define ALG_SET_KEY 1 | 32 | #define ALG_SET_KEY 1 |
| 33 | #define ALG_SET_IV 2 | 33 | #define ALG_SET_IV 2 |
| 34 | #define ALG_SET_OP 3 | 34 | #define ALG_SET_OP 3 |
| 35 | #define ALG_SET_AEAD_ASSOCLEN 4 | ||
| 36 | #define ALG_SET_AEAD_AUTHSIZE 5 | ||
| 35 | 37 | ||
| 36 | /* Operations */ | 38 | /* Operations */ |
| 37 | #define ALG_OP_DECRYPT 0 | 39 | #define ALG_OP_DECRYPT 0 |
diff --git a/include/uapi/linux/if_bridge.h b/include/uapi/linux/if_bridge.h index 39f621a9fe82..b03ee8f62d3c 100644 --- a/include/uapi/linux/if_bridge.h +++ b/include/uapi/linux/if_bridge.h | |||
| @@ -15,6 +15,7 @@ | |||
| 15 | 15 | ||
| 16 | #include <linux/types.h> | 16 | #include <linux/types.h> |
| 17 | #include <linux/if_ether.h> | 17 | #include <linux/if_ether.h> |
| 18 | #include <linux/in6.h> | ||
| 18 | 19 | ||
| 19 | #define SYSFS_BRIDGE_ATTR "bridge" | 20 | #define SYSFS_BRIDGE_ATTR "bridge" |
| 20 | #define SYSFS_BRIDGE_FDB "brforward" | 21 | #define SYSFS_BRIDGE_FDB "brforward" |
| @@ -104,6 +105,7 @@ struct __fdb_entry { | |||
| 104 | 105 | ||
| 105 | #define BRIDGE_MODE_VEB 0 /* Default loopback mode */ | 106 | #define BRIDGE_MODE_VEB 0 /* Default loopback mode */ |
| 106 | #define BRIDGE_MODE_VEPA 1 /* 802.1Qbg defined VEPA mode */ | 107 | #define BRIDGE_MODE_VEPA 1 /* 802.1Qbg defined VEPA mode */ |
| 108 | #define BRIDGE_MODE_UNDEF 0xFFFF /* mode undefined */ | ||
| 107 | 109 | ||
| 108 | /* Bridge management nested attributes | 110 | /* Bridge management nested attributes |
| 109 | * [IFLA_AF_SPEC] = { | 111 | * [IFLA_AF_SPEC] = { |
diff --git a/include/uapi/linux/if_link.h b/include/uapi/linux/if_link.h index 0bdb77e16875..f7d0d2d7173a 100644 --- a/include/uapi/linux/if_link.h +++ b/include/uapi/linux/if_link.h | |||
| @@ -145,6 +145,7 @@ enum { | |||
| 145 | IFLA_CARRIER, | 145 | IFLA_CARRIER, |
| 146 | IFLA_PHYS_PORT_ID, | 146 | IFLA_PHYS_PORT_ID, |
| 147 | IFLA_CARRIER_CHANGES, | 147 | IFLA_CARRIER_CHANGES, |
| 148 | IFLA_PHYS_SWITCH_ID, | ||
| 148 | __IFLA_MAX | 149 | __IFLA_MAX |
| 149 | }; | 150 | }; |
| 150 | 151 | ||
| @@ -243,6 +244,8 @@ enum { | |||
| 243 | IFLA_BRPORT_FAST_LEAVE, /* multicast fast leave */ | 244 | IFLA_BRPORT_FAST_LEAVE, /* multicast fast leave */ |
| 244 | IFLA_BRPORT_LEARNING, /* mac learning */ | 245 | IFLA_BRPORT_LEARNING, /* mac learning */ |
| 245 | IFLA_BRPORT_UNICAST_FLOOD, /* flood unicast traffic */ | 246 | IFLA_BRPORT_UNICAST_FLOOD, /* flood unicast traffic */ |
| 247 | IFLA_BRPORT_PROXYARP, /* proxy ARP */ | ||
| 248 | IFLA_BRPORT_LEARNING_SYNC, /* mac learning sync from device */ | ||
| 246 | __IFLA_BRPORT_MAX | 249 | __IFLA_BRPORT_MAX |
| 247 | }; | 250 | }; |
| 248 | #define IFLA_BRPORT_MAX (__IFLA_BRPORT_MAX - 1) | 251 | #define IFLA_BRPORT_MAX (__IFLA_BRPORT_MAX - 1) |
| @@ -329,6 +332,21 @@ enum macvlan_macaddr_mode { | |||
| 329 | 332 | ||
| 330 | #define MACVLAN_FLAG_NOPROMISC 1 | 333 | #define MACVLAN_FLAG_NOPROMISC 1 |
| 331 | 334 | ||
| 335 | /* IPVLAN section */ | ||
| 336 | enum { | ||
| 337 | IFLA_IPVLAN_UNSPEC, | ||
| 338 | IFLA_IPVLAN_MODE, | ||
| 339 | __IFLA_IPVLAN_MAX | ||
| 340 | }; | ||
| 341 | |||
| 342 | #define IFLA_IPVLAN_MAX (__IFLA_IPVLAN_MAX - 1) | ||
| 343 | |||
| 344 | enum ipvlan_mode { | ||
| 345 | IPVLAN_MODE_L2 = 0, | ||
| 346 | IPVLAN_MODE_L3, | ||
| 347 | IPVLAN_MODE_MAX | ||
| 348 | }; | ||
| 349 | |||
| 332 | /* VXLAN section */ | 350 | /* VXLAN section */ |
| 333 | enum { | 351 | enum { |
| 334 | IFLA_VXLAN_UNSPEC, | 352 | IFLA_VXLAN_UNSPEC, |
diff --git a/include/uapi/linux/if_tun.h b/include/uapi/linux/if_tun.h index e9502dd1ee2c..18b2403982f9 100644 --- a/include/uapi/linux/if_tun.h +++ b/include/uapi/linux/if_tun.h | |||
| @@ -22,21 +22,11 @@ | |||
| 22 | 22 | ||
| 23 | /* Read queue size */ | 23 | /* Read queue size */ |
| 24 | #define TUN_READQ_SIZE 500 | 24 | #define TUN_READQ_SIZE 500 |
| 25 | 25 | /* TUN device type flags: deprecated. Use IFF_TUN/IFF_TAP instead. */ | |
| 26 | /* TUN device flags */ | 26 | #define TUN_TUN_DEV IFF_TUN |
| 27 | #define TUN_TUN_DEV 0x0001 | 27 | #define TUN_TAP_DEV IFF_TAP |
| 28 | #define TUN_TAP_DEV 0x0002 | ||
| 29 | #define TUN_TYPE_MASK 0x000f | 28 | #define TUN_TYPE_MASK 0x000f |
| 30 | 29 | ||
| 31 | #define TUN_FASYNC 0x0010 | ||
| 32 | #define TUN_NOCHECKSUM 0x0020 | ||
| 33 | #define TUN_NO_PI 0x0040 | ||
| 34 | /* This flag has no real effect */ | ||
| 35 | #define TUN_ONE_QUEUE 0x0080 | ||
| 36 | #define TUN_PERSIST 0x0100 | ||
| 37 | #define TUN_VNET_HDR 0x0200 | ||
| 38 | #define TUN_TAP_MQ 0x0400 | ||
| 39 | |||
| 40 | /* Ioctl defines */ | 30 | /* Ioctl defines */ |
| 41 | #define TUNSETNOCSUM _IOW('T', 200, int) | 31 | #define TUNSETNOCSUM _IOW('T', 200, int) |
| 42 | #define TUNSETDEBUG _IOW('T', 201, int) | 32 | #define TUNSETDEBUG _IOW('T', 201, int) |
| @@ -67,6 +57,7 @@ | |||
| 67 | #define IFF_ONE_QUEUE 0x2000 | 57 | #define IFF_ONE_QUEUE 0x2000 |
| 68 | #define IFF_VNET_HDR 0x4000 | 58 | #define IFF_VNET_HDR 0x4000 |
| 69 | #define IFF_TUN_EXCL 0x8000 | 59 | #define IFF_TUN_EXCL 0x8000 |
| 60 | #define IFF_VNET_LE 0x10000 | ||
| 70 | #define IFF_MULTI_QUEUE 0x0100 | 61 | #define IFF_MULTI_QUEUE 0x0100 |
| 71 | #define IFF_ATTACH_QUEUE 0x0200 | 62 | #define IFF_ATTACH_QUEUE 0x0200 |
| 72 | #define IFF_DETACH_QUEUE 0x0400 | 63 | #define IFF_DETACH_QUEUE 0x0400 |
diff --git a/include/uapi/linux/if_tunnel.h b/include/uapi/linux/if_tunnel.h index 280d9e092283..bd3cc11a431f 100644 --- a/include/uapi/linux/if_tunnel.h +++ b/include/uapi/linux/if_tunnel.h | |||
| @@ -69,6 +69,7 @@ enum tunnel_encap_types { | |||
| 69 | 69 | ||
| 70 | #define TUNNEL_ENCAP_FLAG_CSUM (1<<0) | 70 | #define TUNNEL_ENCAP_FLAG_CSUM (1<<0) |
| 71 | #define TUNNEL_ENCAP_FLAG_CSUM6 (1<<1) | 71 | #define TUNNEL_ENCAP_FLAG_CSUM6 (1<<1) |
| 72 | #define TUNNEL_ENCAP_FLAG_REMCSUM (1<<2) | ||
| 72 | 73 | ||
| 73 | /* SIT-mode i_flags */ | 74 | /* SIT-mode i_flags */ |
| 74 | #define SIT_ISATAP 0x0001 | 75 | #define SIT_ISATAP 0x0001 |
diff --git a/include/uapi/linux/ipv6.h b/include/uapi/linux/ipv6.h index efa2666f4b8a..e863d088b9a5 100644 --- a/include/uapi/linux/ipv6.h +++ b/include/uapi/linux/ipv6.h | |||
| @@ -164,6 +164,7 @@ enum { | |||
| 164 | DEVCONF_MLDV2_UNSOLICITED_REPORT_INTERVAL, | 164 | DEVCONF_MLDV2_UNSOLICITED_REPORT_INTERVAL, |
| 165 | DEVCONF_SUPPRESS_FRAG_NDISC, | 165 | DEVCONF_SUPPRESS_FRAG_NDISC, |
| 166 | DEVCONF_ACCEPT_RA_FROM_LOCAL, | 166 | DEVCONF_ACCEPT_RA_FROM_LOCAL, |
| 167 | DEVCONF_USE_OPTIMISTIC, | ||
| 167 | DEVCONF_MAX | 168 | DEVCONF_MAX |
| 168 | }; | 169 | }; |
| 169 | 170 | ||
diff --git a/include/uapi/linux/media-bus-format.h b/include/uapi/linux/media-bus-format.h new file mode 100644 index 000000000000..23b40908be30 --- /dev/null +++ b/include/uapi/linux/media-bus-format.h | |||
| @@ -0,0 +1,125 @@ | |||
| 1 | /* | ||
| 2 | * Media Bus API header | ||
| 3 | * | ||
| 4 | * Copyright (C) 2009, Guennadi Liakhovetski <g.liakhovetski@gmx.de> | ||
| 5 | * | ||
| 6 | * This program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License version 2 as | ||
| 8 | * published by the Free Software Foundation. | ||
| 9 | */ | ||
| 10 | |||
| 11 | #ifndef __LINUX_MEDIA_BUS_FORMAT_H | ||
| 12 | #define __LINUX_MEDIA_BUS_FORMAT_H | ||
| 13 | |||
| 14 | /* | ||
| 15 | * These bus formats uniquely identify data formats on the data bus. Format 0 | ||
| 16 | * is reserved, MEDIA_BUS_FMT_FIXED shall be used by host-client pairs, where | ||
| 17 | * the data format is fixed. Additionally, "2X8" means that one pixel is | ||
| 18 | * transferred in two 8-bit samples, "BE" or "LE" specify in which order those | ||
| 19 | * samples are transferred over the bus: "LE" means that the least significant | ||
| 20 | * bits are transferred first, "BE" means that the most significant bits are | ||
| 21 | * transferred first, and "PADHI" and "PADLO" define which bits - low or high, | ||
| 22 | * in the incomplete high byte, are filled with padding bits. | ||
| 23 | * | ||
| 24 | * The bus formats are grouped by type, bus_width, bits per component, samples | ||
| 25 | * per pixel and order of subsamples. Numerical values are sorted using generic | ||
| 26 | * numerical sort order (8 thus comes before 10). | ||
| 27 | * | ||
| 28 | * As their value can't change when a new bus format is inserted in the | ||
| 29 | * enumeration, the bus formats are explicitly given a numerical value. The next | ||
| 30 | * free values for each category are listed below, update them when inserting | ||
| 31 | * new pixel codes. | ||
| 32 | */ | ||
| 33 | |||
| 34 | #define MEDIA_BUS_FMT_FIXED 0x0001 | ||
| 35 | |||
| 36 | /* RGB - next is 0x100e */ | ||
| 37 | #define MEDIA_BUS_FMT_RGB444_2X8_PADHI_BE 0x1001 | ||
| 38 | #define MEDIA_BUS_FMT_RGB444_2X8_PADHI_LE 0x1002 | ||
| 39 | #define MEDIA_BUS_FMT_RGB555_2X8_PADHI_BE 0x1003 | ||
| 40 | #define MEDIA_BUS_FMT_RGB555_2X8_PADHI_LE 0x1004 | ||
| 41 | #define MEDIA_BUS_FMT_BGR565_2X8_BE 0x1005 | ||
| 42 | #define MEDIA_BUS_FMT_BGR565_2X8_LE 0x1006 | ||
| 43 | #define MEDIA_BUS_FMT_RGB565_2X8_BE 0x1007 | ||
| 44 | #define MEDIA_BUS_FMT_RGB565_2X8_LE 0x1008 | ||
| 45 | #define MEDIA_BUS_FMT_RGB666_1X18 0x1009 | ||
| 46 | #define MEDIA_BUS_FMT_RGB888_1X24 0x100a | ||
| 47 | #define MEDIA_BUS_FMT_RGB888_2X12_BE 0x100b | ||
| 48 | #define MEDIA_BUS_FMT_RGB888_2X12_LE 0x100c | ||
| 49 | #define MEDIA_BUS_FMT_ARGB8888_1X32 0x100d | ||
| 50 | |||
| 51 | /* YUV (including grey) - next is 0x2024 */ | ||
| 52 | #define MEDIA_BUS_FMT_Y8_1X8 0x2001 | ||
| 53 | #define MEDIA_BUS_FMT_UV8_1X8 0x2015 | ||
| 54 | #define MEDIA_BUS_FMT_UYVY8_1_5X8 0x2002 | ||
| 55 | #define MEDIA_BUS_FMT_VYUY8_1_5X8 0x2003 | ||
| 56 | #define MEDIA_BUS_FMT_YUYV8_1_5X8 0x2004 | ||
| 57 | #define MEDIA_BUS_FMT_YVYU8_1_5X8 0x2005 | ||
| 58 | #define MEDIA_BUS_FMT_UYVY8_2X8 0x2006 | ||
| 59 | #define MEDIA_BUS_FMT_VYUY8_2X8 0x2007 | ||
| 60 | #define MEDIA_BUS_FMT_YUYV8_2X8 0x2008 | ||
| 61 | #define MEDIA_BUS_FMT_YVYU8_2X8 0x2009 | ||
| 62 | #define MEDIA_BUS_FMT_Y10_1X10 0x200a | ||
| 63 | #define MEDIA_BUS_FMT_UYVY10_2X10 0x2018 | ||
| 64 | #define MEDIA_BUS_FMT_VYUY10_2X10 0x2019 | ||
| 65 | #define MEDIA_BUS_FMT_YUYV10_2X10 0x200b | ||
| 66 | #define MEDIA_BUS_FMT_YVYU10_2X10 0x200c | ||
| 67 | #define MEDIA_BUS_FMT_Y12_1X12 0x2013 | ||
| 68 | #define MEDIA_BUS_FMT_UYVY8_1X16 0x200f | ||
| 69 | #define MEDIA_BUS_FMT_VYUY8_1X16 0x2010 | ||
| 70 | #define MEDIA_BUS_FMT_YUYV8_1X16 0x2011 | ||
| 71 | #define MEDIA_BUS_FMT_YVYU8_1X16 0x2012 | ||
| 72 | #define MEDIA_BUS_FMT_YDYUYDYV8_1X16 0x2014 | ||
| 73 | #define MEDIA_BUS_FMT_UYVY10_1X20 0x201a | ||
| 74 | #define MEDIA_BUS_FMT_VYUY10_1X20 0x201b | ||
| 75 | #define MEDIA_BUS_FMT_YUYV10_1X20 0x200d | ||
| 76 | #define MEDIA_BUS_FMT_YVYU10_1X20 0x200e | ||
| 77 | #define MEDIA_BUS_FMT_YUV10_1X30 0x2016 | ||
| 78 | #define MEDIA_BUS_FMT_AYUV8_1X32 0x2017 | ||
| 79 | #define MEDIA_BUS_FMT_UYVY12_2X12 0x201c | ||
| 80 | #define MEDIA_BUS_FMT_VYUY12_2X12 0x201d | ||
| 81 | #define MEDIA_BUS_FMT_YUYV12_2X12 0x201e | ||
| 82 | #define MEDIA_BUS_FMT_YVYU12_2X12 0x201f | ||
| 83 | #define MEDIA_BUS_FMT_UYVY12_1X24 0x2020 | ||
| 84 | #define MEDIA_BUS_FMT_VYUY12_1X24 0x2021 | ||
| 85 | #define MEDIA_BUS_FMT_YUYV12_1X24 0x2022 | ||
| 86 | #define MEDIA_BUS_FMT_YVYU12_1X24 0x2023 | ||
| 87 | |||
| 88 | /* Bayer - next is 0x3019 */ | ||
| 89 | #define MEDIA_BUS_FMT_SBGGR8_1X8 0x3001 | ||
| 90 | #define MEDIA_BUS_FMT_SGBRG8_1X8 0x3013 | ||
| 91 | #define MEDIA_BUS_FMT_SGRBG8_1X8 0x3002 | ||
| 92 | #define MEDIA_BUS_FMT_SRGGB8_1X8 0x3014 | ||
| 93 | #define MEDIA_BUS_FMT_SBGGR10_ALAW8_1X8 0x3015 | ||
| 94 | #define MEDIA_BUS_FMT_SGBRG10_ALAW8_1X8 0x3016 | ||
| 95 | #define MEDIA_BUS_FMT_SGRBG10_ALAW8_1X8 0x3017 | ||
| 96 | #define MEDIA_BUS_FMT_SRGGB10_ALAW8_1X8 0x3018 | ||
| 97 | #define MEDIA_BUS_FMT_SBGGR10_DPCM8_1X8 0x300b | ||
| 98 | #define MEDIA_BUS_FMT_SGBRG10_DPCM8_1X8 0x300c | ||
| 99 | #define MEDIA_BUS_FMT_SGRBG10_DPCM8_1X8 0x3009 | ||
| 100 | #define MEDIA_BUS_FMT_SRGGB10_DPCM8_1X8 0x300d | ||
| 101 | #define MEDIA_BUS_FMT_SBGGR10_2X8_PADHI_BE 0x3003 | ||
| 102 | #define MEDIA_BUS_FMT_SBGGR10_2X8_PADHI_LE 0x3004 | ||
| 103 | #define MEDIA_BUS_FMT_SBGGR10_2X8_PADLO_BE 0x3005 | ||
| 104 | #define MEDIA_BUS_FMT_SBGGR10_2X8_PADLO_LE 0x3006 | ||
| 105 | #define MEDIA_BUS_FMT_SBGGR10_1X10 0x3007 | ||
| 106 | #define MEDIA_BUS_FMT_SGBRG10_1X10 0x300e | ||
| 107 | #define MEDIA_BUS_FMT_SGRBG10_1X10 0x300a | ||
| 108 | #define MEDIA_BUS_FMT_SRGGB10_1X10 0x300f | ||
| 109 | #define MEDIA_BUS_FMT_SBGGR12_1X12 0x3008 | ||
| 110 | #define MEDIA_BUS_FMT_SGBRG12_1X12 0x3010 | ||
| 111 | #define MEDIA_BUS_FMT_SGRBG12_1X12 0x3011 | ||
| 112 | #define MEDIA_BUS_FMT_SRGGB12_1X12 0x3012 | ||
| 113 | |||
| 114 | /* JPEG compressed formats - next is 0x4002 */ | ||
| 115 | #define MEDIA_BUS_FMT_JPEG_1X8 0x4001 | ||
| 116 | |||
| 117 | /* Vendor specific formats - next is 0x5002 */ | ||
| 118 | |||
| 119 | /* S5C73M3 sensor specific interleaved UYVY and JPEG */ | ||
| 120 | #define MEDIA_BUS_FMT_S5C_UYVY_JPEG_1X8 0x5001 | ||
| 121 | |||
| 122 | /* HSV - next is 0x6002 */ | ||
| 123 | #define MEDIA_BUS_FMT_AHSV8888_1X32 0x6001 | ||
| 124 | |||
| 125 | #endif /* __LINUX_MEDIA_BUS_FORMAT_H */ | ||
diff --git a/include/uapi/linux/msg.h b/include/uapi/linux/msg.h index a70375526578..f51c8001dbe5 100644 --- a/include/uapi/linux/msg.h +++ b/include/uapi/linux/msg.h | |||
| @@ -51,16 +51,28 @@ struct msginfo { | |||
| 51 | }; | 51 | }; |
| 52 | 52 | ||
| 53 | /* | 53 | /* |
| 54 | * Scaling factor to compute msgmni: | 54 | * MSGMNI, MSGMAX and MSGMNB are default values which can be |
| 55 | * the memory dedicated to msg queues (msgmni * msgmnb) should occupy | 55 | * modified by sysctl. |
| 56 | * at most 1/MSG_MEM_SCALE of the lowmem (see the formula in ipc/msg.c): | 56 | * |
| 57 | * up to 8MB : msgmni = 16 (MSGMNI) | 57 | * MSGMNI is the upper limit for the number of messages queues per |
| 58 | * 4 GB : msgmni = 8K | 58 | * namespace. |
| 59 | * more than 16 GB : msgmni = 32K (IPCMNI) | 59 | * It has been chosen to be as large possible without facilitating |
| 60 | * scenarios where userspace causes overflows when adjusting the limits via | ||
| 61 | * operations of the form retrieve current limit; add X; update limit". | ||
| 62 | * | ||
| 63 | * MSGMNB is the default size of a new message queue. Non-root tasks can | ||
| 64 | * decrease the size with msgctl(IPC_SET), root tasks | ||
| 65 | * (actually: CAP_SYS_RESOURCE) can both increase and decrease the queue | ||
| 66 | * size. The optimal value is application dependent. | ||
| 67 | * 16384 is used because it was always used (since 0.99.10) | ||
| 68 | * | ||
| 69 | * MAXMAX is the maximum size of an individual message, it's a global | ||
| 70 | * (per-namespace) limit that applies for all message queues. | ||
| 71 | * It's set to 1/2 of MSGMNB, to ensure that at least two messages fit into | ||
| 72 | * the queue. This is also an arbitrary choice (since 2.6.0). | ||
| 60 | */ | 73 | */ |
| 61 | #define MSG_MEM_SCALE 32 | ||
| 62 | 74 | ||
| 63 | #define MSGMNI 16 /* <= IPCMNI */ /* max # of msg queue identifiers */ | 75 | #define MSGMNI 32000 /* <= IPCMNI */ /* max # of msg queue identifiers */ |
| 64 | #define MSGMAX 8192 /* <= INT_MAX */ /* max size of message (bytes) */ | 76 | #define MSGMAX 8192 /* <= INT_MAX */ /* max size of message (bytes) */ |
| 65 | #define MSGMNB 16384 /* <= INT_MAX */ /* default max size of a message queue */ | 77 | #define MSGMNB 16384 /* <= INT_MAX */ /* default max size of a message queue */ |
| 66 | 78 | ||
diff --git a/include/uapi/linux/neighbour.h b/include/uapi/linux/neighbour.h index 4a1d7e96dfe3..f3d77f9f1e0b 100644 --- a/include/uapi/linux/neighbour.h +++ b/include/uapi/linux/neighbour.h | |||
| @@ -35,11 +35,11 @@ enum { | |||
| 35 | */ | 35 | */ |
| 36 | 36 | ||
| 37 | #define NTF_USE 0x01 | 37 | #define NTF_USE 0x01 |
| 38 | #define NTF_PROXY 0x08 /* == ATF_PUBL */ | ||
| 39 | #define NTF_ROUTER 0x80 | ||
| 40 | |||
| 41 | #define NTF_SELF 0x02 | 38 | #define NTF_SELF 0x02 |
| 42 | #define NTF_MASTER 0x04 | 39 | #define NTF_MASTER 0x04 |
| 40 | #define NTF_PROXY 0x08 /* == ATF_PUBL */ | ||
| 41 | #define NTF_EXT_LEARNED 0x10 | ||
| 42 | #define NTF_ROUTER 0x80 | ||
| 43 | 43 | ||
| 44 | /* | 44 | /* |
| 45 | * Neighbor Cache Entry States. | 45 | * Neighbor Cache Entry States. |
diff --git a/include/uapi/linux/net_tstamp.h b/include/uapi/linux/net_tstamp.h index ff354021bb69..edbc888ceb51 100644 --- a/include/uapi/linux/net_tstamp.h +++ b/include/uapi/linux/net_tstamp.h | |||
| @@ -23,8 +23,9 @@ enum { | |||
| 23 | SOF_TIMESTAMPING_OPT_ID = (1<<7), | 23 | SOF_TIMESTAMPING_OPT_ID = (1<<7), |
| 24 | SOF_TIMESTAMPING_TX_SCHED = (1<<8), | 24 | SOF_TIMESTAMPING_TX_SCHED = (1<<8), |
| 25 | SOF_TIMESTAMPING_TX_ACK = (1<<9), | 25 | SOF_TIMESTAMPING_TX_ACK = (1<<9), |
| 26 | SOF_TIMESTAMPING_OPT_CMSG = (1<<10), | ||
| 26 | 27 | ||
| 27 | SOF_TIMESTAMPING_LAST = SOF_TIMESTAMPING_TX_ACK, | 28 | SOF_TIMESTAMPING_LAST = SOF_TIMESTAMPING_OPT_CMSG, |
| 28 | SOF_TIMESTAMPING_MASK = (SOF_TIMESTAMPING_LAST - 1) | | 29 | SOF_TIMESTAMPING_MASK = (SOF_TIMESTAMPING_LAST - 1) | |
| 29 | SOF_TIMESTAMPING_LAST | 30 | SOF_TIMESTAMPING_LAST |
| 30 | }; | 31 | }; |
diff --git a/include/uapi/linux/netfilter/ipset/ip_set.h b/include/uapi/linux/netfilter/ipset/ip_set.h index ca03119111a2..5ab4e60894cf 100644 --- a/include/uapi/linux/netfilter/ipset/ip_set.h +++ b/include/uapi/linux/netfilter/ipset/ip_set.h | |||
| @@ -256,11 +256,17 @@ enum { | |||
| 256 | IPSET_COUNTER_GT, | 256 | IPSET_COUNTER_GT, |
| 257 | }; | 257 | }; |
| 258 | 258 | ||
| 259 | struct ip_set_counter_match { | 259 | /* Backward compatibility for set match v3 */ |
| 260 | struct ip_set_counter_match0 { | ||
| 260 | __u8 op; | 261 | __u8 op; |
| 261 | __u64 value; | 262 | __u64 value; |
| 262 | }; | 263 | }; |
| 263 | 264 | ||
| 265 | struct ip_set_counter_match { | ||
| 266 | __aligned_u64 value; | ||
| 267 | __u8 op; | ||
| 268 | }; | ||
| 269 | |||
| 264 | /* Interface to iptables/ip6tables */ | 270 | /* Interface to iptables/ip6tables */ |
| 265 | 271 | ||
| 266 | #define SO_IP_SET 83 | 272 | #define SO_IP_SET 83 |
diff --git a/include/uapi/linux/netfilter/nf_tables.h b/include/uapi/linux/netfilter/nf_tables.h index f31fe7b660a5..832bc46db78b 100644 --- a/include/uapi/linux/netfilter/nf_tables.h +++ b/include/uapi/linux/netfilter/nf_tables.h | |||
| @@ -579,6 +579,7 @@ enum nft_exthdr_attributes { | |||
| 579 | * @NFT_META_CPU: cpu id through smp_processor_id() | 579 | * @NFT_META_CPU: cpu id through smp_processor_id() |
| 580 | * @NFT_META_IIFGROUP: packet input interface group | 580 | * @NFT_META_IIFGROUP: packet input interface group |
| 581 | * @NFT_META_OIFGROUP: packet output interface group | 581 | * @NFT_META_OIFGROUP: packet output interface group |
| 582 | * @NFT_META_CGROUP: socket control group (skb->sk->sk_classid) | ||
| 582 | */ | 583 | */ |
| 583 | enum nft_meta_keys { | 584 | enum nft_meta_keys { |
| 584 | NFT_META_LEN, | 585 | NFT_META_LEN, |
| @@ -604,6 +605,7 @@ enum nft_meta_keys { | |||
| 604 | NFT_META_CPU, | 605 | NFT_META_CPU, |
| 605 | NFT_META_IIFGROUP, | 606 | NFT_META_IIFGROUP, |
| 606 | NFT_META_OIFGROUP, | 607 | NFT_META_OIFGROUP, |
| 608 | NFT_META_CGROUP, | ||
| 607 | }; | 609 | }; |
| 608 | 610 | ||
| 609 | /** | 611 | /** |
| @@ -838,6 +840,22 @@ enum nft_masq_attributes { | |||
| 838 | #define NFTA_MASQ_MAX (__NFTA_MASQ_MAX - 1) | 840 | #define NFTA_MASQ_MAX (__NFTA_MASQ_MAX - 1) |
| 839 | 841 | ||
| 840 | /** | 842 | /** |
| 843 | * enum nft_redir_attributes - nf_tables redirect expression netlink attributes | ||
| 844 | * | ||
| 845 | * @NFTA_REDIR_REG_PROTO_MIN: source register of proto range start (NLA_U32: nft_registers) | ||
| 846 | * @NFTA_REDIR_REG_PROTO_MAX: source register of proto range end (NLA_U32: nft_registers) | ||
| 847 | * @NFTA_REDIR_FLAGS: NAT flags (see NF_NAT_RANGE_* in linux/netfilter/nf_nat.h) (NLA_U32) | ||
| 848 | */ | ||
| 849 | enum nft_redir_attributes { | ||
| 850 | NFTA_REDIR_UNSPEC, | ||
| 851 | NFTA_REDIR_REG_PROTO_MIN, | ||
| 852 | NFTA_REDIR_REG_PROTO_MAX, | ||
| 853 | NFTA_REDIR_FLAGS, | ||
| 854 | __NFTA_REDIR_MAX | ||
| 855 | }; | ||
| 856 | #define NFTA_REDIR_MAX (__NFTA_REDIR_MAX - 1) | ||
| 857 | |||
| 858 | /** | ||
| 841 | * enum nft_gen_attributes - nf_tables ruleset generation attributes | 859 | * enum nft_gen_attributes - nf_tables ruleset generation attributes |
| 842 | * | 860 | * |
| 843 | * @NFTA_GEN_ID: Ruleset generation ID (NLA_U32) | 861 | * @NFTA_GEN_ID: Ruleset generation ID (NLA_U32) |
diff --git a/include/uapi/linux/netfilter/xt_set.h b/include/uapi/linux/netfilter/xt_set.h index d6a1df1f2947..d4e02348384c 100644 --- a/include/uapi/linux/netfilter/xt_set.h +++ b/include/uapi/linux/netfilter/xt_set.h | |||
| @@ -66,8 +66,8 @@ struct xt_set_info_target_v2 { | |||
| 66 | 66 | ||
| 67 | struct xt_set_info_match_v3 { | 67 | struct xt_set_info_match_v3 { |
| 68 | struct xt_set_info match_set; | 68 | struct xt_set_info match_set; |
| 69 | struct ip_set_counter_match packets; | 69 | struct ip_set_counter_match0 packets; |
| 70 | struct ip_set_counter_match bytes; | 70 | struct ip_set_counter_match0 bytes; |
| 71 | __u32 flags; | 71 | __u32 flags; |
| 72 | }; | 72 | }; |
| 73 | 73 | ||
| @@ -81,4 +81,13 @@ struct xt_set_info_target_v3 { | |||
| 81 | __u32 timeout; | 81 | __u32 timeout; |
| 82 | }; | 82 | }; |
| 83 | 83 | ||
| 84 | /* Revision 4 match */ | ||
| 85 | |||
| 86 | struct xt_set_info_match_v4 { | ||
| 87 | struct xt_set_info match_set; | ||
| 88 | struct ip_set_counter_match packets; | ||
| 89 | struct ip_set_counter_match bytes; | ||
| 90 | __u32 flags; | ||
| 91 | }; | ||
| 92 | |||
| 84 | #endif /*_XT_SET_H*/ | 93 | #endif /*_XT_SET_H*/ |
diff --git a/include/uapi/linux/nfc.h b/include/uapi/linux/nfc.h index 9b19b4461928..8119255feae4 100644 --- a/include/uapi/linux/nfc.h +++ b/include/uapi/linux/nfc.h | |||
| @@ -116,6 +116,7 @@ enum nfc_commands { | |||
| 116 | NFC_EVENT_SE_TRANSACTION, | 116 | NFC_EVENT_SE_TRANSACTION, |
| 117 | NFC_CMD_GET_SE, | 117 | NFC_CMD_GET_SE, |
| 118 | NFC_CMD_SE_IO, | 118 | NFC_CMD_SE_IO, |
| 119 | NFC_CMD_ACTIVATE_TARGET, | ||
| 119 | /* private: internal use only */ | 120 | /* private: internal use only */ |
| 120 | __NFC_CMD_AFTER_LAST | 121 | __NFC_CMD_AFTER_LAST |
| 121 | }; | 122 | }; |
| @@ -196,15 +197,19 @@ enum nfc_sdp_attr { | |||
| 196 | }; | 197 | }; |
| 197 | #define NFC_SDP_ATTR_MAX (__NFC_SDP_ATTR_AFTER_LAST - 1) | 198 | #define NFC_SDP_ATTR_MAX (__NFC_SDP_ATTR_AFTER_LAST - 1) |
| 198 | 199 | ||
| 199 | #define NFC_DEVICE_NAME_MAXSIZE 8 | 200 | #define NFC_DEVICE_NAME_MAXSIZE 8 |
| 200 | #define NFC_NFCID1_MAXSIZE 10 | 201 | #define NFC_NFCID1_MAXSIZE 10 |
| 201 | #define NFC_NFCID2_MAXSIZE 8 | 202 | #define NFC_NFCID2_MAXSIZE 8 |
| 202 | #define NFC_NFCID3_MAXSIZE 10 | 203 | #define NFC_NFCID3_MAXSIZE 10 |
| 203 | #define NFC_SENSB_RES_MAXSIZE 12 | 204 | #define NFC_SENSB_RES_MAXSIZE 12 |
| 204 | #define NFC_SENSF_RES_MAXSIZE 18 | 205 | #define NFC_SENSF_RES_MAXSIZE 18 |
| 205 | #define NFC_GB_MAXSIZE 48 | 206 | #define NFC_ATR_REQ_MAXSIZE 64 |
| 206 | #define NFC_FIRMWARE_NAME_MAXSIZE 32 | 207 | #define NFC_ATR_RES_MAXSIZE 64 |
| 207 | #define NFC_ISO15693_UID_MAXSIZE 8 | 208 | #define NFC_ATR_REQ_GB_MAXSIZE 48 |
| 209 | #define NFC_ATR_RES_GB_MAXSIZE 47 | ||
| 210 | #define NFC_GB_MAXSIZE 48 | ||
| 211 | #define NFC_FIRMWARE_NAME_MAXSIZE 32 | ||
| 212 | #define NFC_ISO15693_UID_MAXSIZE 8 | ||
| 208 | 213 | ||
| 209 | /* NFC protocols */ | 214 | /* NFC protocols */ |
| 210 | #define NFC_PROTO_JEWEL 1 | 215 | #define NFC_PROTO_JEWEL 1 |
diff --git a/include/uapi/linux/nfsd/debug.h b/include/uapi/linux/nfsd/debug.h index a6f453c740b8..1fdc95bb2375 100644 --- a/include/uapi/linux/nfsd/debug.h +++ b/include/uapi/linux/nfsd/debug.h | |||
| @@ -15,7 +15,7 @@ | |||
| 15 | * Enable debugging for nfsd. | 15 | * Enable debugging for nfsd. |
| 16 | * Requires RPC_DEBUG. | 16 | * Requires RPC_DEBUG. |
| 17 | */ | 17 | */ |
| 18 | #ifdef RPC_DEBUG | 18 | #if IS_ENABLED(CONFIG_SUNRPC_DEBUG) |
| 19 | # define NFSD_DEBUG 1 | 19 | # define NFSD_DEBUG 1 |
| 20 | #endif | 20 | #endif |
| 21 | 21 | ||
diff --git a/include/uapi/linux/nl80211.h b/include/uapi/linux/nl80211.h index 4b28dc07bcb1..b37bd5a1cb82 100644 --- a/include/uapi/linux/nl80211.h +++ b/include/uapi/linux/nl80211.h | |||
| @@ -227,7 +227,11 @@ | |||
| 227 | * the interface identified by %NL80211_ATTR_IFINDEX. | 227 | * the interface identified by %NL80211_ATTR_IFINDEX. |
| 228 | * @NL80211_CMD_DEL_STATION: Remove a station identified by %NL80211_ATTR_MAC | 228 | * @NL80211_CMD_DEL_STATION: Remove a station identified by %NL80211_ATTR_MAC |
| 229 | * or, if no MAC address given, all stations, on the interface identified | 229 | * or, if no MAC address given, all stations, on the interface identified |
| 230 | * by %NL80211_ATTR_IFINDEX. | 230 | * by %NL80211_ATTR_IFINDEX. %NL80211_ATTR_MGMT_SUBTYPE and |
| 231 | * %NL80211_ATTR_REASON_CODE can optionally be used to specify which type | ||
| 232 | * of disconnection indication should be sent to the station | ||
| 233 | * (Deauthentication or Disassociation frame and reason code for that | ||
| 234 | * frame). | ||
| 231 | * | 235 | * |
| 232 | * @NL80211_CMD_GET_MPATH: Get mesh path attributes for mesh path to | 236 | * @NL80211_CMD_GET_MPATH: Get mesh path attributes for mesh path to |
| 233 | * destination %NL80211_ATTR_MAC on the interface identified by | 237 | * destination %NL80211_ATTR_MAC on the interface identified by |
| @@ -639,7 +643,18 @@ | |||
| 639 | * @NL80211_CMD_CH_SWITCH_NOTIFY: An AP or GO may decide to switch channels | 643 | * @NL80211_CMD_CH_SWITCH_NOTIFY: An AP or GO may decide to switch channels |
| 640 | * independently of the userspace SME, send this event indicating | 644 | * independently of the userspace SME, send this event indicating |
| 641 | * %NL80211_ATTR_IFINDEX is now on %NL80211_ATTR_WIPHY_FREQ and the | 645 | * %NL80211_ATTR_IFINDEX is now on %NL80211_ATTR_WIPHY_FREQ and the |
| 642 | * attributes determining channel width. | 646 | * attributes determining channel width. This indication may also be |
| 647 | * sent when a remotely-initiated switch (e.g., when a STA receives a CSA | ||
| 648 | * from the remote AP) is completed; | ||
| 649 | * | ||
| 650 | * @NL80211_CMD_CH_SWITCH_STARTED_NOTIFY: Notify that a channel switch | ||
| 651 | * has been started on an interface, regardless of the initiator | ||
| 652 | * (ie. whether it was requested from a remote device or | ||
| 653 | * initiated on our own). It indicates that | ||
| 654 | * %NL80211_ATTR_IFINDEX will be on %NL80211_ATTR_WIPHY_FREQ | ||
| 655 | * after %NL80211_ATTR_CH_SWITCH_COUNT TBTT's. The userspace may | ||
| 656 | * decide to react to this indication by requesting other | ||
| 657 | * interfaces to change channel as well. | ||
| 643 | * | 658 | * |
| 644 | * @NL80211_CMD_START_P2P_DEVICE: Start the given P2P Device, identified by | 659 | * @NL80211_CMD_START_P2P_DEVICE: Start the given P2P Device, identified by |
| 645 | * its %NL80211_ATTR_WDEV identifier. It must have been created with | 660 | * its %NL80211_ATTR_WDEV identifier. It must have been created with |
| @@ -738,6 +753,27 @@ | |||
| 738 | * before removing a station entry entirely, or before disassociating | 753 | * before removing a station entry entirely, or before disassociating |
| 739 | * or similar, cleanup will happen in the driver/device in this case. | 754 | * or similar, cleanup will happen in the driver/device in this case. |
| 740 | * | 755 | * |
| 756 | * @NL80211_CMD_GET_MPP: Get mesh path attributes for mesh proxy path to | ||
| 757 | * destination %NL80211_ATTR_MAC on the interface identified by | ||
| 758 | * %NL80211_ATTR_IFINDEX. | ||
| 759 | * | ||
| 760 | * @NL80211_CMD_JOIN_OCB: Join the OCB network. The center frequency and | ||
| 761 | * bandwidth of a channel must be given. | ||
| 762 | * @NL80211_CMD_LEAVE_OCB: Leave the OCB network -- no special arguments, the | ||
| 763 | * network is determined by the network interface. | ||
| 764 | * | ||
| 765 | * @NL80211_CMD_TDLS_CHANNEL_SWITCH: Start channel-switching with a TDLS peer, | ||
| 766 | * identified by the %NL80211_ATTR_MAC parameter. A target channel is | ||
| 767 | * provided via %NL80211_ATTR_WIPHY_FREQ and other attributes determining | ||
| 768 | * channel width/type. The target operating class is given via | ||
| 769 | * %NL80211_ATTR_OPER_CLASS. | ||
| 770 | * The driver is responsible for continually initiating channel-switching | ||
| 771 | * operations and returning to the base channel for communication with the | ||
| 772 | * AP. | ||
| 773 | * @NL80211_CMD_TDLS_CANCEL_CHANNEL_SWITCH: Stop channel-switching with a TDLS | ||
| 774 | * peer given by %NL80211_ATTR_MAC. Both peers must be on the base channel | ||
| 775 | * when this command completes. | ||
| 776 | * | ||
| 741 | * @NL80211_CMD_MAX: highest used command number | 777 | * @NL80211_CMD_MAX: highest used command number |
| 742 | * @__NL80211_CMD_AFTER_LAST: internal use | 778 | * @__NL80211_CMD_AFTER_LAST: internal use |
| 743 | */ | 779 | */ |
| @@ -912,6 +948,16 @@ enum nl80211_commands { | |||
| 912 | NL80211_CMD_ADD_TX_TS, | 948 | NL80211_CMD_ADD_TX_TS, |
| 913 | NL80211_CMD_DEL_TX_TS, | 949 | NL80211_CMD_DEL_TX_TS, |
| 914 | 950 | ||
| 951 | NL80211_CMD_GET_MPP, | ||
| 952 | |||
| 953 | NL80211_CMD_JOIN_OCB, | ||
| 954 | NL80211_CMD_LEAVE_OCB, | ||
| 955 | |||
| 956 | NL80211_CMD_CH_SWITCH_STARTED_NOTIFY, | ||
| 957 | |||
| 958 | NL80211_CMD_TDLS_CHANNEL_SWITCH, | ||
| 959 | NL80211_CMD_TDLS_CANCEL_CHANNEL_SWITCH, | ||
| 960 | |||
| 915 | /* add new commands above here */ | 961 | /* add new commands above here */ |
| 916 | 962 | ||
| 917 | /* used to define NL80211_CMD_MAX below */ | 963 | /* used to define NL80211_CMD_MAX below */ |
| @@ -1606,9 +1652,9 @@ enum nl80211_commands { | |||
| 1606 | * @NL80211_ATTR_TDLS_PEER_CAPABILITY: flags for TDLS peer capabilities, u32. | 1652 | * @NL80211_ATTR_TDLS_PEER_CAPABILITY: flags for TDLS peer capabilities, u32. |
| 1607 | * As specified in the &enum nl80211_tdls_peer_capability. | 1653 | * As specified in the &enum nl80211_tdls_peer_capability. |
| 1608 | * | 1654 | * |
| 1609 | * @NL80211_ATTR_IFACE_SOCKET_OWNER: flag attribute, if set during interface | 1655 | * @NL80211_ATTR_SOCKET_OWNER: Flag attribute, if set during interface |
| 1610 | * creation then the new interface will be owned by the netlink socket | 1656 | * creation then the new interface will be owned by the netlink socket |
| 1611 | * that created it and will be destroyed when the socket is closed | 1657 | * that created it and will be destroyed when the socket is closed. |
| 1612 | * | 1658 | * |
| 1613 | * @NL80211_ATTR_TDLS_INITIATOR: flag attribute indicating the current end is | 1659 | * @NL80211_ATTR_TDLS_INITIATOR: flag attribute indicating the current end is |
| 1614 | * the TDLS link initiator. | 1660 | * the TDLS link initiator. |
| @@ -1638,6 +1684,11 @@ enum nl80211_commands { | |||
| 1638 | * @NL80211_ATTR_SMPS_MODE: SMPS mode to use (ap mode). see | 1684 | * @NL80211_ATTR_SMPS_MODE: SMPS mode to use (ap mode). see |
| 1639 | * &enum nl80211_smps_mode. | 1685 | * &enum nl80211_smps_mode. |
| 1640 | * | 1686 | * |
| 1687 | * @NL80211_ATTR_OPER_CLASS: operating class | ||
| 1688 | * | ||
| 1689 | * @NL80211_ATTR_MAC_MASK: MAC address mask | ||
| 1690 | * | ||
| 1691 | * @NUM_NL80211_ATTR: total number of nl80211_attrs available | ||
| 1641 | * @NL80211_ATTR_MAX: highest attribute number currently defined | 1692 | * @NL80211_ATTR_MAX: highest attribute number currently defined |
| 1642 | * @__NL80211_ATTR_AFTER_LAST: internal use | 1693 | * @__NL80211_ATTR_AFTER_LAST: internal use |
| 1643 | */ | 1694 | */ |
| @@ -1973,7 +2024,7 @@ enum nl80211_attrs { | |||
| 1973 | 2024 | ||
| 1974 | NL80211_ATTR_TDLS_PEER_CAPABILITY, | 2025 | NL80211_ATTR_TDLS_PEER_CAPABILITY, |
| 1975 | 2026 | ||
| 1976 | NL80211_ATTR_IFACE_SOCKET_OWNER, | 2027 | NL80211_ATTR_SOCKET_OWNER, |
| 1977 | 2028 | ||
| 1978 | NL80211_ATTR_CSA_C_OFFSETS_TX, | 2029 | NL80211_ATTR_CSA_C_OFFSETS_TX, |
| 1979 | NL80211_ATTR_MAX_CSA_COUNTERS, | 2030 | NL80211_ATTR_MAX_CSA_COUNTERS, |
| @@ -1990,15 +2041,21 @@ enum nl80211_attrs { | |||
| 1990 | 2041 | ||
| 1991 | NL80211_ATTR_SMPS_MODE, | 2042 | NL80211_ATTR_SMPS_MODE, |
| 1992 | 2043 | ||
| 2044 | NL80211_ATTR_OPER_CLASS, | ||
| 2045 | |||
| 2046 | NL80211_ATTR_MAC_MASK, | ||
| 2047 | |||
| 1993 | /* add attributes here, update the policy in nl80211.c */ | 2048 | /* add attributes here, update the policy in nl80211.c */ |
| 1994 | 2049 | ||
| 1995 | __NL80211_ATTR_AFTER_LAST, | 2050 | __NL80211_ATTR_AFTER_LAST, |
| 2051 | NUM_NL80211_ATTR = __NL80211_ATTR_AFTER_LAST, | ||
| 1996 | NL80211_ATTR_MAX = __NL80211_ATTR_AFTER_LAST - 1 | 2052 | NL80211_ATTR_MAX = __NL80211_ATTR_AFTER_LAST - 1 |
| 1997 | }; | 2053 | }; |
| 1998 | 2054 | ||
| 1999 | /* source-level API compatibility */ | 2055 | /* source-level API compatibility */ |
| 2000 | #define NL80211_ATTR_SCAN_GENERATION NL80211_ATTR_GENERATION | 2056 | #define NL80211_ATTR_SCAN_GENERATION NL80211_ATTR_GENERATION |
| 2001 | #define NL80211_ATTR_MESH_PARAMS NL80211_ATTR_MESH_CONFIG | 2057 | #define NL80211_ATTR_MESH_PARAMS NL80211_ATTR_MESH_CONFIG |
| 2058 | #define NL80211_ATTR_IFACE_SOCKET_OWNER NL80211_ATTR_SOCKET_OWNER | ||
| 2002 | 2059 | ||
| 2003 | /* | 2060 | /* |
| 2004 | * Allow user space programs to use #ifdef on new attributes by defining them | 2061 | * Allow user space programs to use #ifdef on new attributes by defining them |
| @@ -2064,6 +2121,8 @@ enum nl80211_attrs { | |||
| 2064 | * and therefore can't be created in the normal ways, use the | 2121 | * and therefore can't be created in the normal ways, use the |
| 2065 | * %NL80211_CMD_START_P2P_DEVICE and %NL80211_CMD_STOP_P2P_DEVICE | 2122 | * %NL80211_CMD_START_P2P_DEVICE and %NL80211_CMD_STOP_P2P_DEVICE |
| 2066 | * commands to create and destroy one | 2123 | * commands to create and destroy one |
| 2124 | * @NL80211_IF_TYPE_OCB: Outside Context of a BSS | ||
| 2125 | * This mode corresponds to the MIB variable dot11OCBActivated=true | ||
| 2067 | * @NL80211_IFTYPE_MAX: highest interface type number currently defined | 2126 | * @NL80211_IFTYPE_MAX: highest interface type number currently defined |
| 2068 | * @NUM_NL80211_IFTYPES: number of defined interface types | 2127 | * @NUM_NL80211_IFTYPES: number of defined interface types |
| 2069 | * | 2128 | * |
| @@ -2083,6 +2142,7 @@ enum nl80211_iftype { | |||
| 2083 | NL80211_IFTYPE_P2P_CLIENT, | 2142 | NL80211_IFTYPE_P2P_CLIENT, |
| 2084 | NL80211_IFTYPE_P2P_GO, | 2143 | NL80211_IFTYPE_P2P_GO, |
| 2085 | NL80211_IFTYPE_P2P_DEVICE, | 2144 | NL80211_IFTYPE_P2P_DEVICE, |
| 2145 | NL80211_IFTYPE_OCB, | ||
| 2086 | 2146 | ||
| 2087 | /* keep last */ | 2147 | /* keep last */ |
| 2088 | NUM_NL80211_IFTYPES, | 2148 | NUM_NL80211_IFTYPES, |
| @@ -2631,6 +2691,11 @@ enum nl80211_sched_scan_match_attr { | |||
| 2631 | * @NL80211_RRF_AUTO_BW: maximum available bandwidth should be calculated | 2691 | * @NL80211_RRF_AUTO_BW: maximum available bandwidth should be calculated |
| 2632 | * base on contiguous rules and wider channels will be allowed to cross | 2692 | * base on contiguous rules and wider channels will be allowed to cross |
| 2633 | * multiple contiguous/overlapping frequency ranges. | 2693 | * multiple contiguous/overlapping frequency ranges. |
| 2694 | * @NL80211_RRF_GO_CONCURRENT: See &NL80211_FREQUENCY_ATTR_GO_CONCURRENT | ||
| 2695 | * @NL80211_RRF_NO_HT40MINUS: channels can't be used in HT40- operation | ||
| 2696 | * @NL80211_RRF_NO_HT40PLUS: channels can't be used in HT40+ operation | ||
| 2697 | * @NL80211_RRF_NO_80MHZ: 80MHz operation not allowed | ||
| 2698 | * @NL80211_RRF_NO_160MHZ: 160MHz operation not allowed | ||
| 2634 | */ | 2699 | */ |
| 2635 | enum nl80211_reg_rule_flags { | 2700 | enum nl80211_reg_rule_flags { |
| 2636 | NL80211_RRF_NO_OFDM = 1<<0, | 2701 | NL80211_RRF_NO_OFDM = 1<<0, |
| @@ -2643,11 +2708,18 @@ enum nl80211_reg_rule_flags { | |||
| 2643 | NL80211_RRF_NO_IR = 1<<7, | 2708 | NL80211_RRF_NO_IR = 1<<7, |
| 2644 | __NL80211_RRF_NO_IBSS = 1<<8, | 2709 | __NL80211_RRF_NO_IBSS = 1<<8, |
| 2645 | NL80211_RRF_AUTO_BW = 1<<11, | 2710 | NL80211_RRF_AUTO_BW = 1<<11, |
| 2711 | NL80211_RRF_GO_CONCURRENT = 1<<12, | ||
| 2712 | NL80211_RRF_NO_HT40MINUS = 1<<13, | ||
| 2713 | NL80211_RRF_NO_HT40PLUS = 1<<14, | ||
| 2714 | NL80211_RRF_NO_80MHZ = 1<<15, | ||
| 2715 | NL80211_RRF_NO_160MHZ = 1<<16, | ||
| 2646 | }; | 2716 | }; |
| 2647 | 2717 | ||
| 2648 | #define NL80211_RRF_PASSIVE_SCAN NL80211_RRF_NO_IR | 2718 | #define NL80211_RRF_PASSIVE_SCAN NL80211_RRF_NO_IR |
| 2649 | #define NL80211_RRF_NO_IBSS NL80211_RRF_NO_IR | 2719 | #define NL80211_RRF_NO_IBSS NL80211_RRF_NO_IR |
| 2650 | #define NL80211_RRF_NO_IR NL80211_RRF_NO_IR | 2720 | #define NL80211_RRF_NO_IR NL80211_RRF_NO_IR |
| 2721 | #define NL80211_RRF_NO_HT40 (NL80211_RRF_NO_HT40MINUS |\ | ||
| 2722 | NL80211_RRF_NO_HT40PLUS) | ||
| 2651 | 2723 | ||
| 2652 | /* For backport compatibility with older userspace */ | 2724 | /* For backport compatibility with older userspace */ |
| 2653 | #define NL80211_RRF_NO_IR_ALL (NL80211_RRF_NO_IR | __NL80211_RRF_NO_IBSS) | 2725 | #define NL80211_RRF_NO_IR_ALL (NL80211_RRF_NO_IR | __NL80211_RRF_NO_IBSS) |
| @@ -3379,6 +3451,8 @@ enum nl80211_ps_state { | |||
| 3379 | * interval in which %NL80211_ATTR_CQM_TXE_PKTS and | 3451 | * interval in which %NL80211_ATTR_CQM_TXE_PKTS and |
| 3380 | * %NL80211_ATTR_CQM_TXE_RATE must be satisfied before generating an | 3452 | * %NL80211_ATTR_CQM_TXE_RATE must be satisfied before generating an |
| 3381 | * %NL80211_CMD_NOTIFY_CQM. Set to 0 to turn off TX error reporting. | 3453 | * %NL80211_CMD_NOTIFY_CQM. Set to 0 to turn off TX error reporting. |
| 3454 | * @NL80211_ATTR_CQM_BEACON_LOSS_EVENT: flag attribute that's set in a beacon | ||
| 3455 | * loss event | ||
| 3382 | * @__NL80211_ATTR_CQM_AFTER_LAST: internal | 3456 | * @__NL80211_ATTR_CQM_AFTER_LAST: internal |
| 3383 | * @NL80211_ATTR_CQM_MAX: highest key attribute | 3457 | * @NL80211_ATTR_CQM_MAX: highest key attribute |
| 3384 | */ | 3458 | */ |
| @@ -3391,6 +3465,7 @@ enum nl80211_attr_cqm { | |||
| 3391 | NL80211_ATTR_CQM_TXE_RATE, | 3465 | NL80211_ATTR_CQM_TXE_RATE, |
| 3392 | NL80211_ATTR_CQM_TXE_PKTS, | 3466 | NL80211_ATTR_CQM_TXE_PKTS, |
| 3393 | NL80211_ATTR_CQM_TXE_INTVL, | 3467 | NL80211_ATTR_CQM_TXE_INTVL, |
| 3468 | NL80211_ATTR_CQM_BEACON_LOSS_EVENT, | ||
| 3394 | 3469 | ||
| 3395 | /* keep last */ | 3470 | /* keep last */ |
| 3396 | __NL80211_ATTR_CQM_AFTER_LAST, | 3471 | __NL80211_ATTR_CQM_AFTER_LAST, |
| @@ -3403,9 +3478,7 @@ enum nl80211_attr_cqm { | |||
| 3403 | * configured threshold | 3478 | * configured threshold |
| 3404 | * @NL80211_CQM_RSSI_THRESHOLD_EVENT_HIGH: The RSSI is higher than the | 3479 | * @NL80211_CQM_RSSI_THRESHOLD_EVENT_HIGH: The RSSI is higher than the |
| 3405 | * configured threshold | 3480 | * configured threshold |
| 3406 | * @NL80211_CQM_RSSI_BEACON_LOSS_EVENT: The device experienced beacon loss. | 3481 | * @NL80211_CQM_RSSI_BEACON_LOSS_EVENT: (reserved, never sent) |
| 3407 | * (Note that deauth/disassoc will still follow if the AP is not | ||
| 3408 | * available. This event might get used as roaming event, etc.) | ||
| 3409 | */ | 3482 | */ |
| 3410 | enum nl80211_cqm_rssi_threshold_event { | 3483 | enum nl80211_cqm_rssi_threshold_event { |
| 3411 | NL80211_CQM_RSSI_THRESHOLD_EVENT_LOW, | 3484 | NL80211_CQM_RSSI_THRESHOLD_EVENT_LOW, |
| @@ -3545,6 +3618,25 @@ struct nl80211_pattern_support { | |||
| 3545 | * @NL80211_WOWLAN_TRIG_WAKEUP_TCP_NOMORETOKENS: For wakeup reporting only, | 3618 | * @NL80211_WOWLAN_TRIG_WAKEUP_TCP_NOMORETOKENS: For wakeup reporting only, |
| 3546 | * the TCP connection ran out of tokens to use for data to send to the | 3619 | * the TCP connection ran out of tokens to use for data to send to the |
| 3547 | * service | 3620 | * service |
| 3621 | * @NL80211_WOWLAN_TRIG_NET_DETECT: wake up when a configured network | ||
| 3622 | * is detected. This is a nested attribute that contains the | ||
| 3623 | * same attributes used with @NL80211_CMD_START_SCHED_SCAN. It | ||
| 3624 | * specifies how the scan is performed (e.g. the interval and the | ||
| 3625 | * channels to scan) as well as the scan results that will | ||
| 3626 | * trigger a wake (i.e. the matchsets). | ||
| 3627 | * @NL80211_WOWLAN_TRIG_NET_DETECT_RESULTS: nested attribute | ||
| 3628 | * containing an array with information about what triggered the | ||
| 3629 | * wake up. If no elements are present in the array, it means | ||
| 3630 | * that the information is not available. If more than one | ||
| 3631 | * element is present, it means that more than one match | ||
| 3632 | * occurred. | ||
| 3633 | * Each element in the array is a nested attribute that contains | ||
| 3634 | * one optional %NL80211_ATTR_SSID attribute and one optional | ||
| 3635 | * %NL80211_ATTR_SCAN_FREQUENCIES attribute. At least one of | ||
| 3636 | * these attributes must be present. If | ||
| 3637 | * %NL80211_ATTR_SCAN_FREQUENCIES contains more than one | ||
| 3638 | * frequency, it means that the match occurred in more than one | ||
| 3639 | * channel. | ||
| 3548 | * @NUM_NL80211_WOWLAN_TRIG: number of wake on wireless triggers | 3640 | * @NUM_NL80211_WOWLAN_TRIG: number of wake on wireless triggers |
| 3549 | * @MAX_NL80211_WOWLAN_TRIG: highest wowlan trigger attribute number | 3641 | * @MAX_NL80211_WOWLAN_TRIG: highest wowlan trigger attribute number |
| 3550 | * | 3642 | * |
| @@ -3570,6 +3662,8 @@ enum nl80211_wowlan_triggers { | |||
| 3570 | NL80211_WOWLAN_TRIG_WAKEUP_TCP_MATCH, | 3662 | NL80211_WOWLAN_TRIG_WAKEUP_TCP_MATCH, |
| 3571 | NL80211_WOWLAN_TRIG_WAKEUP_TCP_CONNLOST, | 3663 | NL80211_WOWLAN_TRIG_WAKEUP_TCP_CONNLOST, |
| 3572 | NL80211_WOWLAN_TRIG_WAKEUP_TCP_NOMORETOKENS, | 3664 | NL80211_WOWLAN_TRIG_WAKEUP_TCP_NOMORETOKENS, |
| 3665 | NL80211_WOWLAN_TRIG_NET_DETECT, | ||
| 3666 | NL80211_WOWLAN_TRIG_NET_DETECT_RESULTS, | ||
| 3573 | 3667 | ||
| 3574 | /* keep last */ | 3668 | /* keep last */ |
| 3575 | NUM_NL80211_WOWLAN_TRIG, | 3669 | NUM_NL80211_WOWLAN_TRIG, |
| @@ -4042,6 +4136,27 @@ enum nl80211_ap_sme_features { | |||
| 4042 | * multiplexing powersave, ie. can turn off all but one chain | 4136 | * multiplexing powersave, ie. can turn off all but one chain |
| 4043 | * and then wake the rest up as required after, for example, | 4137 | * and then wake the rest up as required after, for example, |
| 4044 | * rts/cts handshake. | 4138 | * rts/cts handshake. |
| 4139 | * @NL80211_FEATURE_SUPPORTS_WMM_ADMISSION: the device supports setting up WMM | ||
| 4140 | * TSPEC sessions (TID aka TSID 0-7) with the %NL80211_CMD_ADD_TX_TS | ||
| 4141 | * command. Standard IEEE 802.11 TSPEC setup is not yet supported, it | ||
| 4142 | * needs to be able to handle Block-Ack agreements and other things. | ||
| 4143 | * @NL80211_FEATURE_MAC_ON_CREATE: Device supports configuring | ||
| 4144 | * the vif's MAC address upon creation. | ||
| 4145 | * See 'macaddr' field in the vif_params (cfg80211.h). | ||
| 4146 | * @NL80211_FEATURE_TDLS_CHANNEL_SWITCH: Driver supports channel switching when | ||
| 4147 | * operating as a TDLS peer. | ||
| 4148 | * @NL80211_FEATURE_SCAN_RANDOM_MAC_ADDR: This device/driver supports using a | ||
| 4149 | * random MAC address during scan (if the device is unassociated); the | ||
| 4150 | * %NL80211_SCAN_FLAG_RANDOM_ADDR flag may be set for scans and the MAC | ||
| 4151 | * address mask/value will be used. | ||
| 4152 | * @NL80211_FEATURE_SCHED_SCAN_RANDOM_MAC_ADDR: This device/driver supports | ||
| 4153 | * using a random MAC address for every scan iteration during scheduled | ||
| 4154 | * scan (while not associated), the %NL80211_SCAN_FLAG_RANDOM_ADDR may | ||
| 4155 | * be set for scheduled scan and the MAC address mask/value will be used. | ||
| 4156 | * @NL80211_FEATURE_ND_RANDOM_MAC_ADDR: This device/driver supports using a | ||
| 4157 | * random MAC address for every scan iteration during "net detect", i.e. | ||
| 4158 | * scan in unassociated WoWLAN, the %NL80211_SCAN_FLAG_RANDOM_ADDR may | ||
| 4159 | * be set for scheduled scan and the MAC address mask/value will be used. | ||
| 4045 | */ | 4160 | */ |
| 4046 | enum nl80211_feature_flags { | 4161 | enum nl80211_feature_flags { |
| 4047 | NL80211_FEATURE_SK_TX_STATUS = 1 << 0, | 4162 | NL80211_FEATURE_SK_TX_STATUS = 1 << 0, |
| @@ -4070,6 +4185,12 @@ enum nl80211_feature_flags { | |||
| 4070 | NL80211_FEATURE_ACKTO_ESTIMATION = 1 << 23, | 4185 | NL80211_FEATURE_ACKTO_ESTIMATION = 1 << 23, |
| 4071 | NL80211_FEATURE_STATIC_SMPS = 1 << 24, | 4186 | NL80211_FEATURE_STATIC_SMPS = 1 << 24, |
| 4072 | NL80211_FEATURE_DYNAMIC_SMPS = 1 << 25, | 4187 | NL80211_FEATURE_DYNAMIC_SMPS = 1 << 25, |
| 4188 | NL80211_FEATURE_SUPPORTS_WMM_ADMISSION = 1 << 26, | ||
| 4189 | NL80211_FEATURE_MAC_ON_CREATE = 1 << 27, | ||
| 4190 | NL80211_FEATURE_TDLS_CHANNEL_SWITCH = 1 << 28, | ||
| 4191 | NL80211_FEATURE_SCAN_RANDOM_MAC_ADDR = 1 << 29, | ||
| 4192 | NL80211_FEATURE_SCHED_SCAN_RANDOM_MAC_ADDR = 1 << 30, | ||
| 4193 | NL80211_FEATURE_ND_RANDOM_MAC_ADDR = 1 << 31, | ||
| 4073 | }; | 4194 | }; |
| 4074 | 4195 | ||
| 4075 | /** | 4196 | /** |
| @@ -4118,11 +4239,21 @@ enum nl80211_connect_failed_reason { | |||
| 4118 | * dangerous because will destroy stations performance as a lot of frames | 4239 | * dangerous because will destroy stations performance as a lot of frames |
| 4119 | * will be lost while scanning off-channel, therefore it must be used only | 4240 | * will be lost while scanning off-channel, therefore it must be used only |
| 4120 | * when really needed | 4241 | * when really needed |
| 4242 | * @NL80211_SCAN_FLAG_RANDOM_ADDR: use a random MAC address for this scan (or | ||
| 4243 | * for scheduled scan: a different one for every scan iteration). When the | ||
| 4244 | * flag is set, depending on device capabilities the @NL80211_ATTR_MAC and | ||
| 4245 | * @NL80211_ATTR_MAC_MASK attributes may also be given in which case only | ||
| 4246 | * the masked bits will be preserved from the MAC address and the remainder | ||
| 4247 | * randomised. If the attributes are not given full randomisation (46 bits, | ||
| 4248 | * locally administered 1, multicast 0) is assumed. | ||
| 4249 | * This flag must not be requested when the feature isn't supported, check | ||
| 4250 | * the nl80211 feature flags for the device. | ||
| 4121 | */ | 4251 | */ |
| 4122 | enum nl80211_scan_flags { | 4252 | enum nl80211_scan_flags { |
| 4123 | NL80211_SCAN_FLAG_LOW_PRIORITY = 1<<0, | 4253 | NL80211_SCAN_FLAG_LOW_PRIORITY = 1<<0, |
| 4124 | NL80211_SCAN_FLAG_FLUSH = 1<<1, | 4254 | NL80211_SCAN_FLAG_FLUSH = 1<<1, |
| 4125 | NL80211_SCAN_FLAG_AP = 1<<2, | 4255 | NL80211_SCAN_FLAG_AP = 1<<2, |
| 4256 | NL80211_SCAN_FLAG_RANDOM_ADDR = 1<<3, | ||
| 4126 | }; | 4257 | }; |
| 4127 | 4258 | ||
| 4128 | /** | 4259 | /** |
diff --git a/include/uapi/linux/nvme.h b/include/uapi/linux/nvme.h index 29a7d8619d8d..26386cf3db44 100644 --- a/include/uapi/linux/nvme.h +++ b/include/uapi/linux/nvme.h | |||
| @@ -181,6 +181,22 @@ enum { | |||
| 181 | NVME_LBART_ATTRIB_HIDE = 1 << 1, | 181 | NVME_LBART_ATTRIB_HIDE = 1 << 1, |
| 182 | }; | 182 | }; |
| 183 | 183 | ||
| 184 | struct nvme_reservation_status { | ||
| 185 | __le32 gen; | ||
| 186 | __u8 rtype; | ||
| 187 | __u8 regctl[2]; | ||
| 188 | __u8 resv5[2]; | ||
| 189 | __u8 ptpls; | ||
| 190 | __u8 resv10[13]; | ||
| 191 | struct { | ||
| 192 | __le16 cntlid; | ||
| 193 | __u8 rcsts; | ||
| 194 | __u8 resv3[5]; | ||
| 195 | __le64 hostid; | ||
| 196 | __le64 rkey; | ||
| 197 | } regctl_ds[]; | ||
| 198 | }; | ||
| 199 | |||
| 184 | /* I/O commands */ | 200 | /* I/O commands */ |
| 185 | 201 | ||
| 186 | enum nvme_opcode { | 202 | enum nvme_opcode { |
| @@ -189,7 +205,12 @@ enum nvme_opcode { | |||
| 189 | nvme_cmd_read = 0x02, | 205 | nvme_cmd_read = 0x02, |
| 190 | nvme_cmd_write_uncor = 0x04, | 206 | nvme_cmd_write_uncor = 0x04, |
| 191 | nvme_cmd_compare = 0x05, | 207 | nvme_cmd_compare = 0x05, |
| 208 | nvme_cmd_write_zeroes = 0x08, | ||
| 192 | nvme_cmd_dsm = 0x09, | 209 | nvme_cmd_dsm = 0x09, |
| 210 | nvme_cmd_resv_register = 0x0d, | ||
| 211 | nvme_cmd_resv_report = 0x0e, | ||
| 212 | nvme_cmd_resv_acquire = 0x11, | ||
| 213 | nvme_cmd_resv_release = 0x15, | ||
| 193 | }; | 214 | }; |
| 194 | 215 | ||
| 195 | struct nvme_common_command { | 216 | struct nvme_common_command { |
| @@ -305,7 +326,11 @@ enum { | |||
| 305 | NVME_FEAT_IRQ_CONFIG = 0x09, | 326 | NVME_FEAT_IRQ_CONFIG = 0x09, |
| 306 | NVME_FEAT_WRITE_ATOMIC = 0x0a, | 327 | NVME_FEAT_WRITE_ATOMIC = 0x0a, |
| 307 | NVME_FEAT_ASYNC_EVENT = 0x0b, | 328 | NVME_FEAT_ASYNC_EVENT = 0x0b, |
| 308 | NVME_FEAT_SW_PROGRESS = 0x0c, | 329 | NVME_FEAT_AUTO_PST = 0x0c, |
| 330 | NVME_FEAT_SW_PROGRESS = 0x80, | ||
| 331 | NVME_FEAT_HOST_ID = 0x81, | ||
| 332 | NVME_FEAT_RESV_MASK = 0x82, | ||
| 333 | NVME_FEAT_RESV_PERSIST = 0x83, | ||
| 309 | NVME_LOG_ERROR = 0x01, | 334 | NVME_LOG_ERROR = 0x01, |
| 310 | NVME_LOG_SMART = 0x02, | 335 | NVME_LOG_SMART = 0x02, |
| 311 | NVME_LOG_FW_SLOT = 0x03, | 336 | NVME_LOG_FW_SLOT = 0x03, |
| @@ -440,9 +465,15 @@ enum { | |||
| 440 | NVME_SC_FUSED_MISSING = 0xa, | 465 | NVME_SC_FUSED_MISSING = 0xa, |
| 441 | NVME_SC_INVALID_NS = 0xb, | 466 | NVME_SC_INVALID_NS = 0xb, |
| 442 | NVME_SC_CMD_SEQ_ERROR = 0xc, | 467 | NVME_SC_CMD_SEQ_ERROR = 0xc, |
| 468 | NVME_SC_SGL_INVALID_LAST = 0xd, | ||
| 469 | NVME_SC_SGL_INVALID_COUNT = 0xe, | ||
| 470 | NVME_SC_SGL_INVALID_DATA = 0xf, | ||
| 471 | NVME_SC_SGL_INVALID_METADATA = 0x10, | ||
| 472 | NVME_SC_SGL_INVALID_TYPE = 0x11, | ||
| 443 | NVME_SC_LBA_RANGE = 0x80, | 473 | NVME_SC_LBA_RANGE = 0x80, |
| 444 | NVME_SC_CAP_EXCEEDED = 0x81, | 474 | NVME_SC_CAP_EXCEEDED = 0x81, |
| 445 | NVME_SC_NS_NOT_READY = 0x82, | 475 | NVME_SC_NS_NOT_READY = 0x82, |
| 476 | NVME_SC_RESERVATION_CONFLICT = 0x83, | ||
| 446 | NVME_SC_CQ_INVALID = 0x100, | 477 | NVME_SC_CQ_INVALID = 0x100, |
| 447 | NVME_SC_QID_INVALID = 0x101, | 478 | NVME_SC_QID_INVALID = 0x101, |
| 448 | NVME_SC_QUEUE_SIZE = 0x102, | 479 | NVME_SC_QUEUE_SIZE = 0x102, |
| @@ -454,7 +485,15 @@ enum { | |||
| 454 | NVME_SC_INVALID_VECTOR = 0x108, | 485 | NVME_SC_INVALID_VECTOR = 0x108, |
| 455 | NVME_SC_INVALID_LOG_PAGE = 0x109, | 486 | NVME_SC_INVALID_LOG_PAGE = 0x109, |
| 456 | NVME_SC_INVALID_FORMAT = 0x10a, | 487 | NVME_SC_INVALID_FORMAT = 0x10a, |
| 488 | NVME_SC_FIRMWARE_NEEDS_RESET = 0x10b, | ||
| 489 | NVME_SC_INVALID_QUEUE = 0x10c, | ||
| 490 | NVME_SC_FEATURE_NOT_SAVEABLE = 0x10d, | ||
| 491 | NVME_SC_FEATURE_NOT_CHANGEABLE = 0x10e, | ||
| 492 | NVME_SC_FEATURE_NOT_PER_NS = 0x10f, | ||
| 493 | NVME_SC_FW_NEEDS_RESET_SUBSYS = 0x110, | ||
| 457 | NVME_SC_BAD_ATTRIBUTES = 0x180, | 494 | NVME_SC_BAD_ATTRIBUTES = 0x180, |
| 495 | NVME_SC_INVALID_PI = 0x181, | ||
| 496 | NVME_SC_READ_ONLY = 0x182, | ||
| 458 | NVME_SC_WRITE_FAULT = 0x280, | 497 | NVME_SC_WRITE_FAULT = 0x280, |
| 459 | NVME_SC_READ_ERROR = 0x281, | 498 | NVME_SC_READ_ERROR = 0x281, |
| 460 | NVME_SC_GUARD_CHECK = 0x282, | 499 | NVME_SC_GUARD_CHECK = 0x282, |
| @@ -489,7 +528,7 @@ struct nvme_user_io { | |||
| 489 | __u16 appmask; | 528 | __u16 appmask; |
| 490 | }; | 529 | }; |
| 491 | 530 | ||
| 492 | struct nvme_admin_cmd { | 531 | struct nvme_passthru_cmd { |
| 493 | __u8 opcode; | 532 | __u8 opcode; |
| 494 | __u8 flags; | 533 | __u8 flags; |
| 495 | __u16 rsvd1; | 534 | __u16 rsvd1; |
| @@ -510,8 +549,11 @@ struct nvme_admin_cmd { | |||
| 510 | __u32 result; | 549 | __u32 result; |
| 511 | }; | 550 | }; |
| 512 | 551 | ||
| 552 | #define nvme_admin_cmd nvme_passthru_cmd | ||
| 553 | |||
| 513 | #define NVME_IOCTL_ID _IO('N', 0x40) | 554 | #define NVME_IOCTL_ID _IO('N', 0x40) |
| 514 | #define NVME_IOCTL_ADMIN_CMD _IOWR('N', 0x41, struct nvme_admin_cmd) | 555 | #define NVME_IOCTL_ADMIN_CMD _IOWR('N', 0x41, struct nvme_admin_cmd) |
| 515 | #define NVME_IOCTL_SUBMIT_IO _IOW('N', 0x42, struct nvme_user_io) | 556 | #define NVME_IOCTL_SUBMIT_IO _IOW('N', 0x42, struct nvme_user_io) |
| 557 | #define NVME_IOCTL_IO_CMD _IOWR('N', 0x43, struct nvme_passthru_cmd) | ||
| 516 | 558 | ||
| 517 | #endif /* _UAPI_LINUX_NVME_H */ | 559 | #endif /* _UAPI_LINUX_NVME_H */ |
diff --git a/include/uapi/linux/openvswitch.h b/include/uapi/linux/openvswitch.h index 435eabc5ffaa..3a6dcaa359b7 100644 --- a/include/uapi/linux/openvswitch.h +++ b/include/uapi/linux/openvswitch.h | |||
| @@ -157,6 +157,11 @@ enum ovs_packet_cmd { | |||
| 157 | * notification if the %OVS_ACTION_ATTR_USERSPACE action specified an | 157 | * notification if the %OVS_ACTION_ATTR_USERSPACE action specified an |
| 158 | * %OVS_USERSPACE_ATTR_USERDATA attribute, with the same length and content | 158 | * %OVS_USERSPACE_ATTR_USERDATA attribute, with the same length and content |
| 159 | * specified there. | 159 | * specified there. |
| 160 | * @OVS_PACKET_ATTR_EGRESS_TUN_KEY: Present for an %OVS_PACKET_CMD_ACTION | ||
| 161 | * notification if the %OVS_ACTION_ATTR_USERSPACE action specified an | ||
| 162 | * %OVS_USERSPACE_ATTR_EGRESS_TUN_PORT attribute, which is sent only if the | ||
| 163 | * output port is actually a tunnel port. Contains the output tunnel key | ||
| 164 | * extracted from the packet as nested %OVS_TUNNEL_KEY_ATTR_* attributes. | ||
| 160 | * | 165 | * |
| 161 | * These attributes follow the &struct ovs_header within the Generic Netlink | 166 | * These attributes follow the &struct ovs_header within the Generic Netlink |
| 162 | * payload for %OVS_PACKET_* commands. | 167 | * payload for %OVS_PACKET_* commands. |
| @@ -167,6 +172,8 @@ enum ovs_packet_attr { | |||
| 167 | OVS_PACKET_ATTR_KEY, /* Nested OVS_KEY_ATTR_* attributes. */ | 172 | OVS_PACKET_ATTR_KEY, /* Nested OVS_KEY_ATTR_* attributes. */ |
| 168 | OVS_PACKET_ATTR_ACTIONS, /* Nested OVS_ACTION_ATTR_* attributes. */ | 173 | OVS_PACKET_ATTR_ACTIONS, /* Nested OVS_ACTION_ATTR_* attributes. */ |
| 169 | OVS_PACKET_ATTR_USERDATA, /* OVS_ACTION_ATTR_USERSPACE arg. */ | 174 | OVS_PACKET_ATTR_USERDATA, /* OVS_ACTION_ATTR_USERSPACE arg. */ |
| 175 | OVS_PACKET_ATTR_EGRESS_TUN_KEY, /* Nested OVS_TUNNEL_KEY_ATTR_* | ||
| 176 | attributes. */ | ||
| 170 | __OVS_PACKET_ATTR_MAX | 177 | __OVS_PACKET_ATTR_MAX |
| 171 | }; | 178 | }; |
| 172 | 179 | ||
| @@ -293,6 +300,9 @@ enum ovs_key_attr { | |||
| 293 | OVS_KEY_ATTR_DP_HASH, /* u32 hash value. Value 0 indicates the hash | 300 | OVS_KEY_ATTR_DP_HASH, /* u32 hash value. Value 0 indicates the hash |
| 294 | is not computed by the datapath. */ | 301 | is not computed by the datapath. */ |
| 295 | OVS_KEY_ATTR_RECIRC_ID, /* u32 recirc id */ | 302 | OVS_KEY_ATTR_RECIRC_ID, /* u32 recirc id */ |
| 303 | OVS_KEY_ATTR_MPLS, /* array of struct ovs_key_mpls. | ||
| 304 | * The implementation may restrict | ||
| 305 | * the accepted length of the array. */ | ||
| 296 | 306 | ||
| 297 | #ifdef __KERNEL__ | 307 | #ifdef __KERNEL__ |
| 298 | OVS_KEY_ATTR_TUNNEL_INFO, /* struct ovs_tunnel_info */ | 308 | OVS_KEY_ATTR_TUNNEL_INFO, /* struct ovs_tunnel_info */ |
| @@ -312,6 +322,8 @@ enum ovs_tunnel_key_attr { | |||
| 312 | OVS_TUNNEL_KEY_ATTR_CSUM, /* No argument. CSUM packet. */ | 322 | OVS_TUNNEL_KEY_ATTR_CSUM, /* No argument. CSUM packet. */ |
| 313 | OVS_TUNNEL_KEY_ATTR_OAM, /* No argument. OAM frame. */ | 323 | OVS_TUNNEL_KEY_ATTR_OAM, /* No argument. OAM frame. */ |
| 314 | OVS_TUNNEL_KEY_ATTR_GENEVE_OPTS, /* Array of Geneve options. */ | 324 | OVS_TUNNEL_KEY_ATTR_GENEVE_OPTS, /* Array of Geneve options. */ |
| 325 | OVS_TUNNEL_KEY_ATTR_TP_SRC, /* be16 src Transport Port. */ | ||
| 326 | OVS_TUNNEL_KEY_ATTR_TP_DST, /* be16 dst Transport Port. */ | ||
| 315 | __OVS_TUNNEL_KEY_ATTR_MAX | 327 | __OVS_TUNNEL_KEY_ATTR_MAX |
| 316 | }; | 328 | }; |
| 317 | 329 | ||
| @@ -340,6 +352,10 @@ struct ovs_key_ethernet { | |||
| 340 | __u8 eth_dst[ETH_ALEN]; | 352 | __u8 eth_dst[ETH_ALEN]; |
| 341 | }; | 353 | }; |
| 342 | 354 | ||
| 355 | struct ovs_key_mpls { | ||
| 356 | __be32 mpls_lse; | ||
| 357 | }; | ||
| 358 | |||
| 343 | struct ovs_key_ipv4 { | 359 | struct ovs_key_ipv4 { |
| 344 | __be32 ipv4_src; | 360 | __be32 ipv4_src; |
| 345 | __be32 ipv4_dst; | 361 | __be32 ipv4_dst; |
| @@ -393,9 +409,9 @@ struct ovs_key_arp { | |||
| 393 | }; | 409 | }; |
| 394 | 410 | ||
| 395 | struct ovs_key_nd { | 411 | struct ovs_key_nd { |
| 396 | __u32 nd_target[4]; | 412 | __be32 nd_target[4]; |
| 397 | __u8 nd_sll[ETH_ALEN]; | 413 | __u8 nd_sll[ETH_ALEN]; |
| 398 | __u8 nd_tll[ETH_ALEN]; | 414 | __u8 nd_tll[ETH_ALEN]; |
| 399 | }; | 415 | }; |
| 400 | 416 | ||
| 401 | /** | 417 | /** |
| @@ -441,6 +457,8 @@ enum ovs_flow_attr { | |||
| 441 | OVS_FLOW_ATTR_USED, /* u64 msecs last used in monotonic time. */ | 457 | OVS_FLOW_ATTR_USED, /* u64 msecs last used in monotonic time. */ |
| 442 | OVS_FLOW_ATTR_CLEAR, /* Flag to clear stats, tcp_flags, used. */ | 458 | OVS_FLOW_ATTR_CLEAR, /* Flag to clear stats, tcp_flags, used. */ |
| 443 | OVS_FLOW_ATTR_MASK, /* Sequence of OVS_KEY_ATTR_* attributes. */ | 459 | OVS_FLOW_ATTR_MASK, /* Sequence of OVS_KEY_ATTR_* attributes. */ |
| 460 | OVS_FLOW_ATTR_PROBE, /* Flow operation is a feature probe, error | ||
| 461 | * logging should be suppressed. */ | ||
| 444 | __OVS_FLOW_ATTR_MAX | 462 | __OVS_FLOW_ATTR_MAX |
| 445 | }; | 463 | }; |
| 446 | 464 | ||
| @@ -473,17 +491,34 @@ enum ovs_sample_attr { | |||
| 473 | * message should be sent. Required. | 491 | * message should be sent. Required. |
| 474 | * @OVS_USERSPACE_ATTR_USERDATA: If present, its variable-length argument is | 492 | * @OVS_USERSPACE_ATTR_USERDATA: If present, its variable-length argument is |
| 475 | * copied to the %OVS_PACKET_CMD_ACTION message as %OVS_PACKET_ATTR_USERDATA. | 493 | * copied to the %OVS_PACKET_CMD_ACTION message as %OVS_PACKET_ATTR_USERDATA. |
| 494 | * @OVS_USERSPACE_ATTR_EGRESS_TUN_PORT: If present, u32 output port to get | ||
| 495 | * tunnel info. | ||
| 476 | */ | 496 | */ |
| 477 | enum ovs_userspace_attr { | 497 | enum ovs_userspace_attr { |
| 478 | OVS_USERSPACE_ATTR_UNSPEC, | 498 | OVS_USERSPACE_ATTR_UNSPEC, |
| 479 | OVS_USERSPACE_ATTR_PID, /* u32 Netlink PID to receive upcalls. */ | 499 | OVS_USERSPACE_ATTR_PID, /* u32 Netlink PID to receive upcalls. */ |
| 480 | OVS_USERSPACE_ATTR_USERDATA, /* Optional user-specified cookie. */ | 500 | OVS_USERSPACE_ATTR_USERDATA, /* Optional user-specified cookie. */ |
| 501 | OVS_USERSPACE_ATTR_EGRESS_TUN_PORT, /* Optional, u32 output port | ||
| 502 | * to get tunnel info. */ | ||
| 481 | __OVS_USERSPACE_ATTR_MAX | 503 | __OVS_USERSPACE_ATTR_MAX |
| 482 | }; | 504 | }; |
| 483 | 505 | ||
| 484 | #define OVS_USERSPACE_ATTR_MAX (__OVS_USERSPACE_ATTR_MAX - 1) | 506 | #define OVS_USERSPACE_ATTR_MAX (__OVS_USERSPACE_ATTR_MAX - 1) |
| 485 | 507 | ||
| 486 | /** | 508 | /** |
| 509 | * struct ovs_action_push_mpls - %OVS_ACTION_ATTR_PUSH_MPLS action argument. | ||
| 510 | * @mpls_lse: MPLS label stack entry to push. | ||
| 511 | * @mpls_ethertype: Ethertype to set in the encapsulating ethernet frame. | ||
| 512 | * | ||
| 513 | * The only values @mpls_ethertype should ever be given are %ETH_P_MPLS_UC and | ||
| 514 | * %ETH_P_MPLS_MC, indicating MPLS unicast or multicast. Other are rejected. | ||
| 515 | */ | ||
| 516 | struct ovs_action_push_mpls { | ||
| 517 | __be32 mpls_lse; | ||
| 518 | __be16 mpls_ethertype; /* Either %ETH_P_MPLS_UC or %ETH_P_MPLS_MC */ | ||
| 519 | }; | ||
| 520 | |||
| 521 | /** | ||
| 487 | * struct ovs_action_push_vlan - %OVS_ACTION_ATTR_PUSH_VLAN action argument. | 522 | * struct ovs_action_push_vlan - %OVS_ACTION_ATTR_PUSH_VLAN action argument. |
| 488 | * @vlan_tpid: Tag protocol identifier (TPID) to push. | 523 | * @vlan_tpid: Tag protocol identifier (TPID) to push. |
| 489 | * @vlan_tci: Tag control identifier (TCI) to push. The CFI bit must be set | 524 | * @vlan_tci: Tag control identifier (TCI) to push. The CFI bit must be set |
| @@ -534,6 +569,15 @@ struct ovs_action_hash { | |||
| 534 | * @OVS_ACTION_ATTR_POP_VLAN: Pop the outermost 802.1Q header off the packet. | 569 | * @OVS_ACTION_ATTR_POP_VLAN: Pop the outermost 802.1Q header off the packet. |
| 535 | * @OVS_ACTION_ATTR_SAMPLE: Probabilitically executes actions, as specified in | 570 | * @OVS_ACTION_ATTR_SAMPLE: Probabilitically executes actions, as specified in |
| 536 | * the nested %OVS_SAMPLE_ATTR_* attributes. | 571 | * the nested %OVS_SAMPLE_ATTR_* attributes. |
| 572 | * @OVS_ACTION_ATTR_PUSH_MPLS: Push a new MPLS label stack entry onto the | ||
| 573 | * top of the packets MPLS label stack. Set the ethertype of the | ||
| 574 | * encapsulating frame to either %ETH_P_MPLS_UC or %ETH_P_MPLS_MC to | ||
| 575 | * indicate the new packet contents. | ||
| 576 | * @OVS_ACTION_ATTR_POP_MPLS: Pop an MPLS label stack entry off of the | ||
| 577 | * packet's MPLS label stack. Set the encapsulating frame's ethertype to | ||
| 578 | * indicate the new packet contents. This could potentially still be | ||
| 579 | * %ETH_P_MPLS if the resulting MPLS label stack is not empty. If there | ||
| 580 | * is no MPLS label stack, as determined by ethertype, no action is taken. | ||
| 537 | * | 581 | * |
| 538 | * Only a single header can be set with a single %OVS_ACTION_ATTR_SET. Not all | 582 | * Only a single header can be set with a single %OVS_ACTION_ATTR_SET. Not all |
| 539 | * fields within a header are modifiable, e.g. the IPv4 protocol and fragment | 583 | * fields within a header are modifiable, e.g. the IPv4 protocol and fragment |
| @@ -550,6 +594,9 @@ enum ovs_action_attr { | |||
| 550 | OVS_ACTION_ATTR_SAMPLE, /* Nested OVS_SAMPLE_ATTR_*. */ | 594 | OVS_ACTION_ATTR_SAMPLE, /* Nested OVS_SAMPLE_ATTR_*. */ |
| 551 | OVS_ACTION_ATTR_RECIRC, /* u32 recirc_id. */ | 595 | OVS_ACTION_ATTR_RECIRC, /* u32 recirc_id. */ |
| 552 | OVS_ACTION_ATTR_HASH, /* struct ovs_action_hash. */ | 596 | OVS_ACTION_ATTR_HASH, /* struct ovs_action_hash. */ |
| 597 | OVS_ACTION_ATTR_PUSH_MPLS, /* struct ovs_action_push_mpls. */ | ||
| 598 | OVS_ACTION_ATTR_POP_MPLS, /* __be16 ethertype. */ | ||
| 599 | |||
| 553 | __OVS_ACTION_ATTR_MAX | 600 | __OVS_ACTION_ATTR_MAX |
| 554 | }; | 601 | }; |
| 555 | 602 | ||
diff --git a/include/uapi/linux/perf_event.h b/include/uapi/linux/perf_event.h index 9d845404d875..9b79abbd1ab8 100644 --- a/include/uapi/linux/perf_event.h +++ b/include/uapi/linux/perf_event.h | |||
| @@ -137,8 +137,9 @@ enum perf_event_sample_format { | |||
| 137 | PERF_SAMPLE_DATA_SRC = 1U << 15, | 137 | PERF_SAMPLE_DATA_SRC = 1U << 15, |
| 138 | PERF_SAMPLE_IDENTIFIER = 1U << 16, | 138 | PERF_SAMPLE_IDENTIFIER = 1U << 16, |
| 139 | PERF_SAMPLE_TRANSACTION = 1U << 17, | 139 | PERF_SAMPLE_TRANSACTION = 1U << 17, |
| 140 | PERF_SAMPLE_REGS_INTR = 1U << 18, | ||
| 140 | 141 | ||
| 141 | PERF_SAMPLE_MAX = 1U << 18, /* non-ABI */ | 142 | PERF_SAMPLE_MAX = 1U << 19, /* non-ABI */ |
| 142 | }; | 143 | }; |
| 143 | 144 | ||
| 144 | /* | 145 | /* |
| @@ -238,6 +239,7 @@ enum perf_event_read_format { | |||
| 238 | #define PERF_ATTR_SIZE_VER2 80 /* add: branch_sample_type */ | 239 | #define PERF_ATTR_SIZE_VER2 80 /* add: branch_sample_type */ |
| 239 | #define PERF_ATTR_SIZE_VER3 96 /* add: sample_regs_user */ | 240 | #define PERF_ATTR_SIZE_VER3 96 /* add: sample_regs_user */ |
| 240 | /* add: sample_stack_user */ | 241 | /* add: sample_stack_user */ |
| 242 | #define PERF_ATTR_SIZE_VER4 104 /* add: sample_regs_intr */ | ||
| 241 | 243 | ||
| 242 | /* | 244 | /* |
| 243 | * Hardware event_id to monitor via a performance monitoring event: | 245 | * Hardware event_id to monitor via a performance monitoring event: |
| @@ -334,6 +336,15 @@ struct perf_event_attr { | |||
| 334 | 336 | ||
| 335 | /* Align to u64. */ | 337 | /* Align to u64. */ |
| 336 | __u32 __reserved_2; | 338 | __u32 __reserved_2; |
| 339 | /* | ||
| 340 | * Defines set of regs to dump for each sample | ||
| 341 | * state captured on: | ||
| 342 | * - precise = 0: PMU interrupt | ||
| 343 | * - precise > 0: sampled instruction | ||
| 344 | * | ||
| 345 | * See asm/perf_regs.h for details. | ||
| 346 | */ | ||
| 347 | __u64 sample_regs_intr; | ||
| 337 | }; | 348 | }; |
| 338 | 349 | ||
| 339 | #define perf_flags(attr) (*(&(attr)->read_format + 1)) | 350 | #define perf_flags(attr) (*(&(attr)->read_format + 1)) |
| @@ -686,6 +697,8 @@ enum perf_event_type { | |||
| 686 | * { u64 weight; } && PERF_SAMPLE_WEIGHT | 697 | * { u64 weight; } && PERF_SAMPLE_WEIGHT |
| 687 | * { u64 data_src; } && PERF_SAMPLE_DATA_SRC | 698 | * { u64 data_src; } && PERF_SAMPLE_DATA_SRC |
| 688 | * { u64 transaction; } && PERF_SAMPLE_TRANSACTION | 699 | * { u64 transaction; } && PERF_SAMPLE_TRANSACTION |
| 700 | * { u64 abi; # enum perf_sample_regs_abi | ||
| 701 | * u64 regs[weight(mask)]; } && PERF_SAMPLE_REGS_INTR | ||
| 689 | * }; | 702 | * }; |
| 690 | */ | 703 | */ |
| 691 | PERF_RECORD_SAMPLE = 9, | 704 | PERF_RECORD_SAMPLE = 9, |
diff --git a/include/uapi/linux/prctl.h b/include/uapi/linux/prctl.h index 513df75d0fc9..89f63503f903 100644 --- a/include/uapi/linux/prctl.h +++ b/include/uapi/linux/prctl.h | |||
| @@ -179,4 +179,10 @@ struct prctl_mm_map { | |||
| 179 | #define PR_SET_THP_DISABLE 41 | 179 | #define PR_SET_THP_DISABLE 41 |
| 180 | #define PR_GET_THP_DISABLE 42 | 180 | #define PR_GET_THP_DISABLE 42 |
| 181 | 181 | ||
| 182 | /* | ||
| 183 | * Tell the kernel to start/stop helping userspace manage bounds tables. | ||
| 184 | */ | ||
| 185 | #define PR_MPX_ENABLE_MANAGEMENT 43 | ||
| 186 | #define PR_MPX_DISABLE_MANAGEMENT 44 | ||
| 187 | |||
| 182 | #endif /* _LINUX_PRCTL_H */ | 188 | #endif /* _LINUX_PRCTL_H */ |
diff --git a/include/uapi/linux/rtnetlink.h b/include/uapi/linux/rtnetlink.h index eb0f1a554d7b..9c9b8b4480cd 100644 --- a/include/uapi/linux/rtnetlink.h +++ b/include/uapi/linux/rtnetlink.h | |||
| @@ -235,6 +235,7 @@ enum { | |||
| 235 | #define RTPROT_NTK 15 /* Netsukuku */ | 235 | #define RTPROT_NTK 15 /* Netsukuku */ |
| 236 | #define RTPROT_DHCP 16 /* DHCP client */ | 236 | #define RTPROT_DHCP 16 /* DHCP client */ |
| 237 | #define RTPROT_MROUTED 17 /* Multicast daemon */ | 237 | #define RTPROT_MROUTED 17 /* Multicast daemon */ |
| 238 | #define RTPROT_BABEL 42 /* Babel daemon */ | ||
| 238 | 239 | ||
| 239 | /* rtm_scope | 240 | /* rtm_scope |
| 240 | 241 | ||
diff --git a/include/uapi/linux/sched.h b/include/uapi/linux/sched.h index b932be9f5c5b..cc89ddefa926 100644 --- a/include/uapi/linux/sched.h +++ b/include/uapi/linux/sched.h | |||
| @@ -23,8 +23,8 @@ | |||
| 23 | #define CLONE_CHILD_SETTID 0x01000000 /* set the TID in the child */ | 23 | #define CLONE_CHILD_SETTID 0x01000000 /* set the TID in the child */ |
| 24 | /* 0x02000000 was previously the unused CLONE_STOPPED (Start in stopped state) | 24 | /* 0x02000000 was previously the unused CLONE_STOPPED (Start in stopped state) |
| 25 | and is now available for re-use. */ | 25 | and is now available for re-use. */ |
| 26 | #define CLONE_NEWUTS 0x04000000 /* New utsname group? */ | 26 | #define CLONE_NEWUTS 0x04000000 /* New utsname namespace */ |
| 27 | #define CLONE_NEWIPC 0x08000000 /* New ipcs */ | 27 | #define CLONE_NEWIPC 0x08000000 /* New ipc namespace */ |
| 28 | #define CLONE_NEWUSER 0x10000000 /* New user namespace */ | 28 | #define CLONE_NEWUSER 0x10000000 /* New user namespace */ |
| 29 | #define CLONE_NEWPID 0x20000000 /* New pid namespace */ | 29 | #define CLONE_NEWPID 0x20000000 /* New pid namespace */ |
| 30 | #define CLONE_NEWNET 0x40000000 /* New network namespace */ | 30 | #define CLONE_NEWNET 0x40000000 /* New network namespace */ |
diff --git a/include/uapi/linux/sem.h b/include/uapi/linux/sem.h index 541fce03b50c..dd73b908b2f3 100644 --- a/include/uapi/linux/sem.h +++ b/include/uapi/linux/sem.h | |||
| @@ -63,10 +63,22 @@ struct seminfo { | |||
| 63 | int semaem; | 63 | int semaem; |
| 64 | }; | 64 | }; |
| 65 | 65 | ||
| 66 | #define SEMMNI 128 /* <= IPCMNI max # of semaphore identifiers */ | 66 | /* |
| 67 | #define SEMMSL 250 /* <= 8 000 max num of semaphores per id */ | 67 | * SEMMNI, SEMMSL and SEMMNS are default values which can be |
| 68 | * modified by sysctl. | ||
| 69 | * The values has been chosen to be larger than necessary for any | ||
| 70 | * known configuration. | ||
| 71 | * | ||
| 72 | * SEMOPM should not be increased beyond 1000, otherwise there is the | ||
| 73 | * risk that semop()/semtimedop() fails due to kernel memory fragmentation when | ||
| 74 | * allocating the sop array. | ||
| 75 | */ | ||
| 76 | |||
| 77 | |||
| 78 | #define SEMMNI 32000 /* <= IPCMNI max # of semaphore identifiers */ | ||
| 79 | #define SEMMSL 32000 /* <= INT_MAX max num of semaphores per id */ | ||
| 68 | #define SEMMNS (SEMMNI*SEMMSL) /* <= INT_MAX max # of semaphores in system */ | 80 | #define SEMMNS (SEMMNI*SEMMSL) /* <= INT_MAX max # of semaphores in system */ |
| 69 | #define SEMOPM 32 /* <= 1 000 max num of ops per semop call */ | 81 | #define SEMOPM 500 /* <= 1 000 max num of ops per semop call */ |
| 70 | #define SEMVMX 32767 /* <= 32767 semaphore maximum value */ | 82 | #define SEMVMX 32767 /* <= 32767 semaphore maximum value */ |
| 71 | #define SEMAEM SEMVMX /* adjust on exit max value */ | 83 | #define SEMAEM SEMVMX /* adjust on exit max value */ |
| 72 | 84 | ||
diff --git a/include/uapi/linux/serial_core.h b/include/uapi/linux/serial_core.h index 16ad8521af6a..c17218094f18 100644 --- a/include/uapi/linux/serial_core.h +++ b/include/uapi/linux/serial_core.h | |||
| @@ -54,7 +54,8 @@ | |||
| 54 | #define PORT_ALTR_16550_F32 26 /* Altera 16550 UART with 32 FIFOs */ | 54 | #define PORT_ALTR_16550_F32 26 /* Altera 16550 UART with 32 FIFOs */ |
| 55 | #define PORT_ALTR_16550_F64 27 /* Altera 16550 UART with 64 FIFOs */ | 55 | #define PORT_ALTR_16550_F64 27 /* Altera 16550 UART with 64 FIFOs */ |
| 56 | #define PORT_ALTR_16550_F128 28 /* Altera 16550 UART with 128 FIFOs */ | 56 | #define PORT_ALTR_16550_F128 28 /* Altera 16550 UART with 128 FIFOs */ |
| 57 | #define PORT_MAX_8250 28 /* max port ID */ | 57 | #define PORT_RT2880 29 /* Ralink RT2880 internal UART */ |
| 58 | #define PORT_MAX_8250 29 /* max port ID */ | ||
| 58 | 59 | ||
| 59 | /* | 60 | /* |
| 60 | * ARM specific type numbers. These are not currently guaranteed | 61 | * ARM specific type numbers. These are not currently guaranteed |
diff --git a/include/uapi/linux/serial_reg.h b/include/uapi/linux/serial_reg.h index df6c9ab6b0cd..53af3b790129 100644 --- a/include/uapi/linux/serial_reg.h +++ b/include/uapi/linux/serial_reg.h | |||
| @@ -359,6 +359,7 @@ | |||
| 359 | #define UART_OMAP_SYSC 0x15 /* System configuration register */ | 359 | #define UART_OMAP_SYSC 0x15 /* System configuration register */ |
| 360 | #define UART_OMAP_SYSS 0x16 /* System status register */ | 360 | #define UART_OMAP_SYSS 0x16 /* System status register */ |
| 361 | #define UART_OMAP_WER 0x17 /* Wake-up enable register */ | 361 | #define UART_OMAP_WER 0x17 /* Wake-up enable register */ |
| 362 | #define UART_OMAP_TX_LVL 0x1a /* TX FIFO level register */ | ||
| 362 | 363 | ||
| 363 | /* | 364 | /* |
| 364 | * These are the definitions for the MDR1 register | 365 | * These are the definitions for the MDR1 register |
diff --git a/include/uapi/linux/snmp.h b/include/uapi/linux/snmp.h index df40137f33dd..b22224100011 100644 --- a/include/uapi/linux/snmp.h +++ b/include/uapi/linux/snmp.h | |||
| @@ -156,6 +156,7 @@ enum | |||
| 156 | UDP_MIB_RCVBUFERRORS, /* RcvbufErrors */ | 156 | UDP_MIB_RCVBUFERRORS, /* RcvbufErrors */ |
| 157 | UDP_MIB_SNDBUFERRORS, /* SndbufErrors */ | 157 | UDP_MIB_SNDBUFERRORS, /* SndbufErrors */ |
| 158 | UDP_MIB_CSUMERRORS, /* InCsumErrors */ | 158 | UDP_MIB_CSUMERRORS, /* InCsumErrors */ |
| 159 | UDP_MIB_IGNOREDMULTI, /* IgnoredMulti */ | ||
| 159 | __UDP_MIB_MAX | 160 | __UDP_MIB_MAX |
| 160 | }; | 161 | }; |
| 161 | 162 | ||
| @@ -265,6 +266,10 @@ enum | |||
| 265 | LINUX_MIB_TCPWANTZEROWINDOWADV, /* TCPWantZeroWindowAdv */ | 266 | LINUX_MIB_TCPWANTZEROWINDOWADV, /* TCPWantZeroWindowAdv */ |
| 266 | LINUX_MIB_TCPSYNRETRANS, /* TCPSynRetrans */ | 267 | LINUX_MIB_TCPSYNRETRANS, /* TCPSynRetrans */ |
| 267 | LINUX_MIB_TCPORIGDATASENT, /* TCPOrigDataSent */ | 268 | LINUX_MIB_TCPORIGDATASENT, /* TCPOrigDataSent */ |
| 269 | LINUX_MIB_TCPHYSTARTTRAINDETECT, /* TCPHystartTrainDetect */ | ||
| 270 | LINUX_MIB_TCPHYSTARTTRAINCWND, /* TCPHystartTrainCwnd */ | ||
| 271 | LINUX_MIB_TCPHYSTARTDELAYDETECT, /* TCPHystartDelayDetect */ | ||
| 272 | LINUX_MIB_TCPHYSTARTDELAYCWND, /* TCPHystartDelayCwnd */ | ||
| 268 | __LINUX_MIB_MAX | 273 | __LINUX_MIB_MAX |
| 269 | }; | 274 | }; |
| 270 | 275 | ||
diff --git a/include/uapi/linux/sysctl.h b/include/uapi/linux/sysctl.h index 43aaba1cc037..0956373b56db 100644 --- a/include/uapi/linux/sysctl.h +++ b/include/uapi/linux/sysctl.h | |||
| @@ -153,6 +153,7 @@ enum | |||
| 153 | KERN_MAX_LOCK_DEPTH=74, /* int: rtmutex's maximum lock depth */ | 153 | KERN_MAX_LOCK_DEPTH=74, /* int: rtmutex's maximum lock depth */ |
| 154 | KERN_NMI_WATCHDOG=75, /* int: enable/disable nmi watchdog */ | 154 | KERN_NMI_WATCHDOG=75, /* int: enable/disable nmi watchdog */ |
| 155 | KERN_PANIC_ON_NMI=76, /* int: whether we will panic on an unrecovered */ | 155 | KERN_PANIC_ON_NMI=76, /* int: whether we will panic on an unrecovered */ |
| 156 | KERN_PANIC_ON_WARN=77, /* int: call panic() in WARN() functions */ | ||
| 156 | }; | 157 | }; |
| 157 | 158 | ||
| 158 | 159 | ||
diff --git a/include/uapi/linux/tc_act/Kbuild b/include/uapi/linux/tc_act/Kbuild index 56f121605c99..b057da2b87a4 100644 --- a/include/uapi/linux/tc_act/Kbuild +++ b/include/uapi/linux/tc_act/Kbuild | |||
| @@ -7,3 +7,4 @@ header-y += tc_mirred.h | |||
| 7 | header-y += tc_nat.h | 7 | header-y += tc_nat.h |
| 8 | header-y += tc_pedit.h | 8 | header-y += tc_pedit.h |
| 9 | header-y += tc_skbedit.h | 9 | header-y += tc_skbedit.h |
| 10 | header-y += tc_vlan.h | ||
diff --git a/include/uapi/linux/tc_act/tc_vlan.h b/include/uapi/linux/tc_act/tc_vlan.h new file mode 100644 index 000000000000..f7b8d448b960 --- /dev/null +++ b/include/uapi/linux/tc_act/tc_vlan.h | |||
| @@ -0,0 +1,35 @@ | |||
| 1 | /* | ||
| 2 | * Copyright (c) 2014 Jiri Pirko <jiri@resnulli.us> | ||
| 3 | * | ||
| 4 | * This program is free software; you can redistribute it and/or modify | ||
| 5 | * it under the terms of the GNU General Public License as published by | ||
| 6 | * the Free Software Foundation; either version 2 of the License, or | ||
| 7 | * (at your option) any later version. | ||
| 8 | */ | ||
| 9 | |||
| 10 | #ifndef __LINUX_TC_VLAN_H | ||
| 11 | #define __LINUX_TC_VLAN_H | ||
| 12 | |||
| 13 | #include <linux/pkt_cls.h> | ||
| 14 | |||
| 15 | #define TCA_ACT_VLAN 12 | ||
| 16 | |||
| 17 | #define TCA_VLAN_ACT_POP 1 | ||
| 18 | #define TCA_VLAN_ACT_PUSH 2 | ||
| 19 | |||
| 20 | struct tc_vlan { | ||
| 21 | tc_gen; | ||
| 22 | int v_action; | ||
| 23 | }; | ||
| 24 | |||
| 25 | enum { | ||
| 26 | TCA_VLAN_UNSPEC, | ||
| 27 | TCA_VLAN_TM, | ||
| 28 | TCA_VLAN_PARMS, | ||
| 29 | TCA_VLAN_PUSH_VLAN_ID, | ||
| 30 | TCA_VLAN_PUSH_VLAN_PROTOCOL, | ||
| 31 | __TCA_VLAN_MAX, | ||
| 32 | }; | ||
| 33 | #define TCA_VLAN_MAX (__TCA_VLAN_MAX - 1) | ||
| 34 | |||
| 35 | #endif | ||
diff --git a/include/uapi/linux/tipc_netlink.h b/include/uapi/linux/tipc_netlink.h new file mode 100644 index 000000000000..8d723824ad69 --- /dev/null +++ b/include/uapi/linux/tipc_netlink.h | |||
| @@ -0,0 +1,244 @@ | |||
| 1 | /* | ||
| 2 | * Copyright (c) 2014, Ericsson AB | ||
| 3 | * All rights reserved. | ||
| 4 | * | ||
| 5 | * Redistribution and use in source and binary forms, with or without | ||
| 6 | * modification, are permitted provided that the following conditions are met: | ||
| 7 | * | ||
| 8 | * 1. Redistributions of source code must retain the above copyright | ||
| 9 | * notice, this list of conditions and the following disclaimer. | ||
| 10 | * 2. Redistributions in binary form must reproduce the above copyright | ||
| 11 | * notice, this list of conditions and the following disclaimer in the | ||
| 12 | * documentation and/or other materials provided with the distribution. | ||
| 13 | * 3. Neither the names of the copyright holders nor the names of its | ||
| 14 | * contributors may be used to endorse or promote products derived from | ||
| 15 | * this software without specific prior written permission. | ||
| 16 | * | ||
| 17 | * Alternatively, this software may be distributed under the terms of the | ||
| 18 | * GNU General Public License ("GPL") version 2 as published by the Free | ||
| 19 | * Software Foundation. | ||
| 20 | * | ||
| 21 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | ||
| 22 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
| 23 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||
| 24 | * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE | ||
| 25 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | ||
| 26 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | ||
| 27 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | ||
| 28 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN | ||
| 29 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | ||
| 30 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | ||
| 31 | * POSSIBILITY OF SUCH DAMAGE. | ||
| 32 | */ | ||
| 33 | |||
| 34 | #ifndef _LINUX_TIPC_NETLINK_H_ | ||
| 35 | #define _LINUX_TIPC_NETLINK_H_ | ||
| 36 | |||
| 37 | #define TIPC_GENL_V2_NAME "TIPCv2" | ||
| 38 | #define TIPC_GENL_V2_VERSION 0x1 | ||
| 39 | |||
| 40 | /* Netlink commands */ | ||
| 41 | enum { | ||
| 42 | TIPC_NL_UNSPEC, | ||
| 43 | TIPC_NL_LEGACY, | ||
| 44 | TIPC_NL_BEARER_DISABLE, | ||
| 45 | TIPC_NL_BEARER_ENABLE, | ||
| 46 | TIPC_NL_BEARER_GET, | ||
| 47 | TIPC_NL_BEARER_SET, | ||
| 48 | TIPC_NL_SOCK_GET, | ||
| 49 | TIPC_NL_PUBL_GET, | ||
| 50 | TIPC_NL_LINK_GET, | ||
| 51 | TIPC_NL_LINK_SET, | ||
| 52 | TIPC_NL_LINK_RESET_STATS, | ||
| 53 | TIPC_NL_MEDIA_GET, | ||
| 54 | TIPC_NL_MEDIA_SET, | ||
| 55 | TIPC_NL_NODE_GET, | ||
| 56 | TIPC_NL_NET_GET, | ||
| 57 | TIPC_NL_NET_SET, | ||
| 58 | TIPC_NL_NAME_TABLE_GET, | ||
| 59 | |||
| 60 | __TIPC_NL_CMD_MAX, | ||
| 61 | TIPC_NL_CMD_MAX = __TIPC_NL_CMD_MAX - 1 | ||
| 62 | }; | ||
| 63 | |||
| 64 | /* Top level netlink attributes */ | ||
| 65 | enum { | ||
| 66 | TIPC_NLA_UNSPEC, | ||
| 67 | TIPC_NLA_BEARER, /* nest */ | ||
| 68 | TIPC_NLA_SOCK, /* nest */ | ||
| 69 | TIPC_NLA_PUBL, /* nest */ | ||
| 70 | TIPC_NLA_LINK, /* nest */ | ||
| 71 | TIPC_NLA_MEDIA, /* nest */ | ||
| 72 | TIPC_NLA_NODE, /* nest */ | ||
| 73 | TIPC_NLA_NET, /* nest */ | ||
| 74 | TIPC_NLA_NAME_TABLE, /* nest */ | ||
| 75 | |||
| 76 | __TIPC_NLA_MAX, | ||
| 77 | TIPC_NLA_MAX = __TIPC_NLA_MAX - 1 | ||
| 78 | }; | ||
| 79 | |||
| 80 | /* Bearer info */ | ||
| 81 | enum { | ||
| 82 | TIPC_NLA_BEARER_UNSPEC, | ||
| 83 | TIPC_NLA_BEARER_NAME, /* string */ | ||
| 84 | TIPC_NLA_BEARER_PROP, /* nest */ | ||
| 85 | TIPC_NLA_BEARER_DOMAIN, /* u32 */ | ||
| 86 | |||
| 87 | __TIPC_NLA_BEARER_MAX, | ||
| 88 | TIPC_NLA_BEARER_MAX = __TIPC_NLA_BEARER_MAX - 1 | ||
| 89 | }; | ||
| 90 | |||
| 91 | /* Socket info */ | ||
| 92 | enum { | ||
| 93 | TIPC_NLA_SOCK_UNSPEC, | ||
| 94 | TIPC_NLA_SOCK_ADDR, /* u32 */ | ||
| 95 | TIPC_NLA_SOCK_REF, /* u32 */ | ||
| 96 | TIPC_NLA_SOCK_CON, /* nest */ | ||
| 97 | TIPC_NLA_SOCK_HAS_PUBL, /* flag */ | ||
| 98 | |||
| 99 | __TIPC_NLA_SOCK_MAX, | ||
| 100 | TIPC_NLA_SOCK_MAX = __TIPC_NLA_SOCK_MAX - 1 | ||
| 101 | }; | ||
| 102 | |||
| 103 | /* Link info */ | ||
| 104 | enum { | ||
| 105 | TIPC_NLA_LINK_UNSPEC, | ||
| 106 | TIPC_NLA_LINK_NAME, /* string */ | ||
| 107 | TIPC_NLA_LINK_DEST, /* u32 */ | ||
| 108 | TIPC_NLA_LINK_MTU, /* u32 */ | ||
| 109 | TIPC_NLA_LINK_BROADCAST, /* flag */ | ||
| 110 | TIPC_NLA_LINK_UP, /* flag */ | ||
| 111 | TIPC_NLA_LINK_ACTIVE, /* flag */ | ||
| 112 | TIPC_NLA_LINK_PROP, /* nest */ | ||
| 113 | TIPC_NLA_LINK_STATS, /* nest */ | ||
| 114 | TIPC_NLA_LINK_RX, /* u32 */ | ||
| 115 | TIPC_NLA_LINK_TX, /* u32 */ | ||
| 116 | |||
| 117 | __TIPC_NLA_LINK_MAX, | ||
| 118 | TIPC_NLA_LINK_MAX = __TIPC_NLA_LINK_MAX - 1 | ||
| 119 | }; | ||
| 120 | |||
| 121 | /* Media info */ | ||
| 122 | enum { | ||
| 123 | TIPC_NLA_MEDIA_UNSPEC, | ||
| 124 | TIPC_NLA_MEDIA_NAME, /* string */ | ||
| 125 | TIPC_NLA_MEDIA_PROP, /* nest */ | ||
| 126 | |||
| 127 | __TIPC_NLA_MEDIA_MAX, | ||
| 128 | TIPC_NLA_MEDIA_MAX = __TIPC_NLA_MEDIA_MAX - 1 | ||
| 129 | }; | ||
| 130 | |||
| 131 | /* Node info */ | ||
| 132 | enum { | ||
| 133 | TIPC_NLA_NODE_UNSPEC, | ||
| 134 | TIPC_NLA_NODE_ADDR, /* u32 */ | ||
| 135 | TIPC_NLA_NODE_UP, /* flag */ | ||
| 136 | |||
| 137 | __TIPC_NLA_NODE_MAX, | ||
| 138 | TIPC_NLA_NODE_MAX = __TIPC_NLA_NODE_MAX - 1 | ||
| 139 | }; | ||
| 140 | |||
| 141 | /* Net info */ | ||
| 142 | enum { | ||
| 143 | TIPC_NLA_NET_UNSPEC, | ||
| 144 | TIPC_NLA_NET_ID, /* u32 */ | ||
| 145 | TIPC_NLA_NET_ADDR, /* u32 */ | ||
| 146 | |||
| 147 | __TIPC_NLA_NET_MAX, | ||
| 148 | TIPC_NLA_NET_MAX = __TIPC_NLA_NET_MAX - 1 | ||
| 149 | }; | ||
| 150 | |||
| 151 | /* Name table info */ | ||
| 152 | enum { | ||
| 153 | TIPC_NLA_NAME_TABLE_UNSPEC, | ||
| 154 | TIPC_NLA_NAME_TABLE_PUBL, /* nest */ | ||
| 155 | |||
| 156 | __TIPC_NLA_NAME_TABLE_MAX, | ||
| 157 | TIPC_NLA_NAME_TABLE_MAX = __TIPC_NLA_NAME_TABLE_MAX - 1 | ||
| 158 | }; | ||
| 159 | |||
| 160 | /* Publication info */ | ||
| 161 | enum { | ||
| 162 | TIPC_NLA_PUBL_UNSPEC, | ||
| 163 | |||
| 164 | TIPC_NLA_PUBL_TYPE, /* u32 */ | ||
| 165 | TIPC_NLA_PUBL_LOWER, /* u32 */ | ||
| 166 | TIPC_NLA_PUBL_UPPER, /* u32 */ | ||
| 167 | TIPC_NLA_PUBL_SCOPE, /* u32 */ | ||
| 168 | TIPC_NLA_PUBL_NODE, /* u32 */ | ||
| 169 | TIPC_NLA_PUBL_REF, /* u32 */ | ||
| 170 | TIPC_NLA_PUBL_KEY, /* u32 */ | ||
| 171 | |||
| 172 | __TIPC_NLA_PUBL_MAX, | ||
| 173 | TIPC_NLA_PUBL_MAX = __TIPC_NLA_PUBL_MAX - 1 | ||
| 174 | }; | ||
| 175 | |||
| 176 | /* Nest, connection info */ | ||
| 177 | enum { | ||
| 178 | TIPC_NLA_CON_UNSPEC, | ||
| 179 | |||
| 180 | TIPC_NLA_CON_FLAG, /* flag */ | ||
| 181 | TIPC_NLA_CON_NODE, /* u32 */ | ||
| 182 | TIPC_NLA_CON_SOCK, /* u32 */ | ||
| 183 | TIPC_NLA_CON_TYPE, /* u32 */ | ||
| 184 | TIPC_NLA_CON_INST, /* u32 */ | ||
| 185 | |||
| 186 | __TIPC_NLA_CON_MAX, | ||
| 187 | TIPC_NLA_CON_MAX = __TIPC_NLA_CON_MAX - 1 | ||
| 188 | }; | ||
| 189 | |||
| 190 | /* Nest, link propreties. Valid for link, media and bearer */ | ||
| 191 | enum { | ||
| 192 | TIPC_NLA_PROP_UNSPEC, | ||
| 193 | |||
| 194 | TIPC_NLA_PROP_PRIO, /* u32 */ | ||
| 195 | TIPC_NLA_PROP_TOL, /* u32 */ | ||
| 196 | TIPC_NLA_PROP_WIN, /* u32 */ | ||
| 197 | |||
| 198 | __TIPC_NLA_PROP_MAX, | ||
| 199 | TIPC_NLA_PROP_MAX = __TIPC_NLA_PROP_MAX - 1 | ||
| 200 | }; | ||
| 201 | |||
| 202 | /* Nest, statistics info */ | ||
| 203 | enum { | ||
| 204 | TIPC_NLA_STATS_UNSPEC, | ||
| 205 | |||
| 206 | TIPC_NLA_STATS_RX_INFO, /* u32 */ | ||
| 207 | TIPC_NLA_STATS_RX_FRAGMENTS, /* u32 */ | ||
| 208 | TIPC_NLA_STATS_RX_FRAGMENTED, /* u32 */ | ||
| 209 | TIPC_NLA_STATS_RX_BUNDLES, /* u32 */ | ||
| 210 | TIPC_NLA_STATS_RX_BUNDLED, /* u32 */ | ||
| 211 | TIPC_NLA_STATS_TX_INFO, /* u32 */ | ||
| 212 | TIPC_NLA_STATS_TX_FRAGMENTS, /* u32 */ | ||
| 213 | TIPC_NLA_STATS_TX_FRAGMENTED, /* u32 */ | ||
| 214 | TIPC_NLA_STATS_TX_BUNDLES, /* u32 */ | ||
| 215 | TIPC_NLA_STATS_TX_BUNDLED, /* u32 */ | ||
| 216 | TIPC_NLA_STATS_MSG_PROF_TOT, /* u32 */ | ||
| 217 | TIPC_NLA_STATS_MSG_LEN_CNT, /* u32 */ | ||
| 218 | TIPC_NLA_STATS_MSG_LEN_TOT, /* u32 */ | ||
| 219 | TIPC_NLA_STATS_MSG_LEN_P0, /* u32 */ | ||
| 220 | TIPC_NLA_STATS_MSG_LEN_P1, /* u32 */ | ||
| 221 | TIPC_NLA_STATS_MSG_LEN_P2, /* u32 */ | ||
| 222 | TIPC_NLA_STATS_MSG_LEN_P3, /* u32 */ | ||
| 223 | TIPC_NLA_STATS_MSG_LEN_P4, /* u32 */ | ||
| 224 | TIPC_NLA_STATS_MSG_LEN_P5, /* u32 */ | ||
| 225 | TIPC_NLA_STATS_MSG_LEN_P6, /* u32 */ | ||
| 226 | TIPC_NLA_STATS_RX_STATES, /* u32 */ | ||
| 227 | TIPC_NLA_STATS_RX_PROBES, /* u32 */ | ||
| 228 | TIPC_NLA_STATS_RX_NACKS, /* u32 */ | ||
| 229 | TIPC_NLA_STATS_RX_DEFERRED, /* u32 */ | ||
| 230 | TIPC_NLA_STATS_TX_STATES, /* u32 */ | ||
| 231 | TIPC_NLA_STATS_TX_PROBES, /* u32 */ | ||
| 232 | TIPC_NLA_STATS_TX_NACKS, /* u32 */ | ||
| 233 | TIPC_NLA_STATS_TX_ACKS, /* u32 */ | ||
| 234 | TIPC_NLA_STATS_RETRANSMITTED, /* u32 */ | ||
| 235 | TIPC_NLA_STATS_DUPLICATES, /* u32 */ | ||
| 236 | TIPC_NLA_STATS_LINK_CONGS, /* u32 */ | ||
| 237 | TIPC_NLA_STATS_MAX_QUEUE, /* u32 */ | ||
| 238 | TIPC_NLA_STATS_AVG_QUEUE, /* u32 */ | ||
| 239 | |||
| 240 | __TIPC_NLA_STATS_MAX, | ||
| 241 | TIPC_NLA_STATS_MAX = __TIPC_NLA_STATS_MAX - 1 | ||
| 242 | }; | ||
| 243 | |||
| 244 | #endif | ||
diff --git a/include/uapi/linux/tty_flags.h b/include/uapi/linux/tty_flags.h index eefcb483a2c0..fae4864737fa 100644 --- a/include/uapi/linux/tty_flags.h +++ b/include/uapi/linux/tty_flags.h | |||
| @@ -6,27 +6,31 @@ | |||
| 6 | * shared by the tty_port flags structures. | 6 | * shared by the tty_port flags structures. |
| 7 | * | 7 | * |
| 8 | * Define ASYNCB_* for convenient use with {test,set,clear}_bit. | 8 | * Define ASYNCB_* for convenient use with {test,set,clear}_bit. |
| 9 | * | ||
| 10 | * Bits [0..ASYNCB_LAST_USER] are userspace defined/visible/changeable | ||
| 11 | * [x] in the bit comments indicates the flag is defunct and no longer used. | ||
| 9 | */ | 12 | */ |
| 10 | #define ASYNCB_HUP_NOTIFY 0 /* Notify getty on hangups and closes | 13 | #define ASYNCB_HUP_NOTIFY 0 /* Notify getty on hangups and closes |
| 11 | * on the callout port */ | 14 | * on the callout port */ |
| 12 | #define ASYNCB_FOURPORT 1 /* Set OU1, OUT2 per AST Fourport settings */ | 15 | #define ASYNCB_FOURPORT 1 /* Set OU1, OUT2 per AST Fourport settings */ |
| 13 | #define ASYNCB_SAK 2 /* Secure Attention Key (Orange book) */ | 16 | #define ASYNCB_SAK 2 /* Secure Attention Key (Orange book) */ |
| 14 | #define ASYNCB_SPLIT_TERMIOS 3 /* Separate termios for dialin/callout */ | 17 | #define ASYNCB_SPLIT_TERMIOS 3 /* [x] Separate termios for dialin/callout */ |
| 15 | #define ASYNCB_SPD_HI 4 /* Use 56000 instead of 38400 bps */ | 18 | #define ASYNCB_SPD_HI 4 /* Use 56000 instead of 38400 bps */ |
| 16 | #define ASYNCB_SPD_VHI 5 /* Use 115200 instead of 38400 bps */ | 19 | #define ASYNCB_SPD_VHI 5 /* Use 115200 instead of 38400 bps */ |
| 17 | #define ASYNCB_SKIP_TEST 6 /* Skip UART test during autoconfiguration */ | 20 | #define ASYNCB_SKIP_TEST 6 /* Skip UART test during autoconfiguration */ |
| 18 | #define ASYNCB_AUTO_IRQ 7 /* Do automatic IRQ during | 21 | #define ASYNCB_AUTO_IRQ 7 /* Do automatic IRQ during |
| 19 | * autoconfiguration */ | 22 | * autoconfiguration */ |
| 20 | #define ASYNCB_SESSION_LOCKOUT 8 /* Lock out cua opens based on session */ | 23 | #define ASYNCB_SESSION_LOCKOUT 8 /* [x] Lock out cua opens based on session */ |
| 21 | #define ASYNCB_PGRP_LOCKOUT 9 /* Lock out cua opens based on pgrp */ | 24 | #define ASYNCB_PGRP_LOCKOUT 9 /* [x] Lock out cua opens based on pgrp */ |
| 22 | #define ASYNCB_CALLOUT_NOHUP 10 /* Don't do hangups for cua device */ | 25 | #define ASYNCB_CALLOUT_NOHUP 10 /* [x] Don't do hangups for cua device */ |
| 23 | #define ASYNCB_HARDPPS_CD 11 /* Call hardpps when CD goes high */ | 26 | #define ASYNCB_HARDPPS_CD 11 /* Call hardpps when CD goes high */ |
| 24 | #define ASYNCB_SPD_SHI 12 /* Use 230400 instead of 38400 bps */ | 27 | #define ASYNCB_SPD_SHI 12 /* Use 230400 instead of 38400 bps */ |
| 25 | #define ASYNCB_LOW_LATENCY 13 /* Request low latency behaviour */ | 28 | #define ASYNCB_LOW_LATENCY 13 /* Request low latency behaviour */ |
| 26 | #define ASYNCB_BUGGY_UART 14 /* This is a buggy UART, skip some safety | 29 | #define ASYNCB_BUGGY_UART 14 /* This is a buggy UART, skip some safety |
| 27 | * checks. Note: can be dangerous! */ | 30 | * checks. Note: can be dangerous! */ |
| 28 | #define ASYNCB_AUTOPROBE 15 /* Port was autoprobed by PCI or PNP code */ | 31 | #define ASYNCB_AUTOPROBE 15 /* [x] Port was autoprobed by PCI/PNP code */ |
| 29 | #define ASYNCB_LAST_USER 15 | 32 | #define ASYNCB_MAGIC_MULTIPLIER 16 /* Use special CLK or divisor */ |
| 33 | #define ASYNCB_LAST_USER 16 | ||
| 30 | 34 | ||
| 31 | /* Internal flags used only by kernel */ | 35 | /* Internal flags used only by kernel */ |
| 32 | #define ASYNCB_INITIALIZED 31 /* Serial port was initialized */ | 36 | #define ASYNCB_INITIALIZED 31 /* Serial port was initialized */ |
| @@ -57,8 +61,11 @@ | |||
| 57 | #define ASYNC_LOW_LATENCY (1U << ASYNCB_LOW_LATENCY) | 61 | #define ASYNC_LOW_LATENCY (1U << ASYNCB_LOW_LATENCY) |
| 58 | #define ASYNC_BUGGY_UART (1U << ASYNCB_BUGGY_UART) | 62 | #define ASYNC_BUGGY_UART (1U << ASYNCB_BUGGY_UART) |
| 59 | #define ASYNC_AUTOPROBE (1U << ASYNCB_AUTOPROBE) | 63 | #define ASYNC_AUTOPROBE (1U << ASYNCB_AUTOPROBE) |
| 64 | #define ASYNC_MAGIC_MULTIPLIER (1U << ASYNCB_MAGIC_MULTIPLIER) | ||
| 60 | 65 | ||
| 61 | #define ASYNC_FLAGS ((1U << (ASYNCB_LAST_USER + 1)) - 1) | 66 | #define ASYNC_FLAGS ((1U << (ASYNCB_LAST_USER + 1)) - 1) |
| 67 | #define ASYNC_DEPRECATED (ASYNC_SESSION_LOCKOUT | ASYNC_PGRP_LOCKOUT | \ | ||
| 68 | ASYNC_CALLOUT_NOHUP | ASYNC_AUTOPROBE) | ||
| 62 | #define ASYNC_USR_MASK (ASYNC_SPD_MASK|ASYNC_CALLOUT_NOHUP| \ | 69 | #define ASYNC_USR_MASK (ASYNC_SPD_MASK|ASYNC_CALLOUT_NOHUP| \ |
| 63 | ASYNC_LOW_LATENCY) | 70 | ASYNC_LOW_LATENCY) |
| 64 | #define ASYNC_SPD_CUST (ASYNC_SPD_HI|ASYNC_SPD_VHI) | 71 | #define ASYNC_SPD_CUST (ASYNC_SPD_HI|ASYNC_SPD_VHI) |
diff --git a/include/uapi/linux/v4l2-common.h b/include/uapi/linux/v4l2-common.h index 2f6f8cafe773..15273987093e 100644 --- a/include/uapi/linux/v4l2-common.h +++ b/include/uapi/linux/v4l2-common.h | |||
| @@ -43,6 +43,8 @@ | |||
| 43 | #define V4L2_SEL_TGT_CROP_DEFAULT 0x0001 | 43 | #define V4L2_SEL_TGT_CROP_DEFAULT 0x0001 |
| 44 | /* Cropping bounds */ | 44 | /* Cropping bounds */ |
| 45 | #define V4L2_SEL_TGT_CROP_BOUNDS 0x0002 | 45 | #define V4L2_SEL_TGT_CROP_BOUNDS 0x0002 |
| 46 | /* Native frame size */ | ||
| 47 | #define V4L2_SEL_TGT_NATIVE_SIZE 0x0003 | ||
| 46 | /* Current composing area */ | 48 | /* Current composing area */ |
| 47 | #define V4L2_SEL_TGT_COMPOSE 0x0100 | 49 | #define V4L2_SEL_TGT_COMPOSE 0x0100 |
| 48 | /* Default composing area */ | 50 | /* Default composing area */ |
diff --git a/include/uapi/linux/v4l2-mediabus.h b/include/uapi/linux/v4l2-mediabus.h index 1445e858854f..5a86d8ede09c 100644 --- a/include/uapi/linux/v4l2-mediabus.h +++ b/include/uapi/linux/v4l2-mediabus.h | |||
| @@ -11,122 +11,10 @@ | |||
| 11 | #ifndef __LINUX_V4L2_MEDIABUS_H | 11 | #ifndef __LINUX_V4L2_MEDIABUS_H |
| 12 | #define __LINUX_V4L2_MEDIABUS_H | 12 | #define __LINUX_V4L2_MEDIABUS_H |
| 13 | 13 | ||
| 14 | #include <linux/media-bus-format.h> | ||
| 14 | #include <linux/types.h> | 15 | #include <linux/types.h> |
| 15 | #include <linux/videodev2.h> | 16 | #include <linux/videodev2.h> |
| 16 | 17 | ||
| 17 | /* | ||
| 18 | * These pixel codes uniquely identify data formats on the media bus. Mostly | ||
| 19 | * they correspond to similarly named V4L2_PIX_FMT_* formats, format 0 is | ||
| 20 | * reserved, V4L2_MBUS_FMT_FIXED shall be used by host-client pairs, where the | ||
| 21 | * data format is fixed. Additionally, "2X8" means that one pixel is transferred | ||
| 22 | * in two 8-bit samples, "BE" or "LE" specify in which order those samples are | ||
| 23 | * transferred over the bus: "LE" means that the least significant bits are | ||
| 24 | * transferred first, "BE" means that the most significant bits are transferred | ||
| 25 | * first, and "PADHI" and "PADLO" define which bits - low or high, in the | ||
| 26 | * incomplete high byte, are filled with padding bits. | ||
| 27 | * | ||
| 28 | * The pixel codes are grouped by type, bus_width, bits per component, samples | ||
| 29 | * per pixel and order of subsamples. Numerical values are sorted using generic | ||
| 30 | * numerical sort order (8 thus comes before 10). | ||
| 31 | * | ||
| 32 | * As their value can't change when a new pixel code is inserted in the | ||
| 33 | * enumeration, the pixel codes are explicitly given a numerical value. The next | ||
| 34 | * free values for each category are listed below, update them when inserting | ||
| 35 | * new pixel codes. | ||
| 36 | */ | ||
| 37 | enum v4l2_mbus_pixelcode { | ||
| 38 | V4L2_MBUS_FMT_FIXED = 0x0001, | ||
| 39 | |||
| 40 | /* RGB - next is 0x100e */ | ||
| 41 | V4L2_MBUS_FMT_RGB444_2X8_PADHI_BE = 0x1001, | ||
| 42 | V4L2_MBUS_FMT_RGB444_2X8_PADHI_LE = 0x1002, | ||
| 43 | V4L2_MBUS_FMT_RGB555_2X8_PADHI_BE = 0x1003, | ||
| 44 | V4L2_MBUS_FMT_RGB555_2X8_PADHI_LE = 0x1004, | ||
| 45 | V4L2_MBUS_FMT_BGR565_2X8_BE = 0x1005, | ||
| 46 | V4L2_MBUS_FMT_BGR565_2X8_LE = 0x1006, | ||
| 47 | V4L2_MBUS_FMT_RGB565_2X8_BE = 0x1007, | ||
| 48 | V4L2_MBUS_FMT_RGB565_2X8_LE = 0x1008, | ||
| 49 | V4L2_MBUS_FMT_RGB666_1X18 = 0x1009, | ||
| 50 | V4L2_MBUS_FMT_RGB888_1X24 = 0x100a, | ||
| 51 | V4L2_MBUS_FMT_RGB888_2X12_BE = 0x100b, | ||
| 52 | V4L2_MBUS_FMT_RGB888_2X12_LE = 0x100c, | ||
| 53 | V4L2_MBUS_FMT_ARGB8888_1X32 = 0x100d, | ||
| 54 | |||
| 55 | /* YUV (including grey) - next is 0x2024 */ | ||
| 56 | V4L2_MBUS_FMT_Y8_1X8 = 0x2001, | ||
| 57 | V4L2_MBUS_FMT_UV8_1X8 = 0x2015, | ||
| 58 | V4L2_MBUS_FMT_UYVY8_1_5X8 = 0x2002, | ||
| 59 | V4L2_MBUS_FMT_VYUY8_1_5X8 = 0x2003, | ||
| 60 | V4L2_MBUS_FMT_YUYV8_1_5X8 = 0x2004, | ||
| 61 | V4L2_MBUS_FMT_YVYU8_1_5X8 = 0x2005, | ||
| 62 | V4L2_MBUS_FMT_UYVY8_2X8 = 0x2006, | ||
| 63 | V4L2_MBUS_FMT_VYUY8_2X8 = 0x2007, | ||
| 64 | V4L2_MBUS_FMT_YUYV8_2X8 = 0x2008, | ||
| 65 | V4L2_MBUS_FMT_YVYU8_2X8 = 0x2009, | ||
| 66 | V4L2_MBUS_FMT_Y10_1X10 = 0x200a, | ||
| 67 | V4L2_MBUS_FMT_UYVY10_2X10 = 0x2018, | ||
| 68 | V4L2_MBUS_FMT_VYUY10_2X10 = 0x2019, | ||
| 69 | V4L2_MBUS_FMT_YUYV10_2X10 = 0x200b, | ||
| 70 | V4L2_MBUS_FMT_YVYU10_2X10 = 0x200c, | ||
| 71 | V4L2_MBUS_FMT_Y12_1X12 = 0x2013, | ||
| 72 | V4L2_MBUS_FMT_UYVY8_1X16 = 0x200f, | ||
| 73 | V4L2_MBUS_FMT_VYUY8_1X16 = 0x2010, | ||
| 74 | V4L2_MBUS_FMT_YUYV8_1X16 = 0x2011, | ||
| 75 | V4L2_MBUS_FMT_YVYU8_1X16 = 0x2012, | ||
| 76 | V4L2_MBUS_FMT_YDYUYDYV8_1X16 = 0x2014, | ||
| 77 | V4L2_MBUS_FMT_UYVY10_1X20 = 0x201a, | ||
| 78 | V4L2_MBUS_FMT_VYUY10_1X20 = 0x201b, | ||
| 79 | V4L2_MBUS_FMT_YUYV10_1X20 = 0x200d, | ||
| 80 | V4L2_MBUS_FMT_YVYU10_1X20 = 0x200e, | ||
| 81 | V4L2_MBUS_FMT_YUV10_1X30 = 0x2016, | ||
| 82 | V4L2_MBUS_FMT_AYUV8_1X32 = 0x2017, | ||
| 83 | V4L2_MBUS_FMT_UYVY12_2X12 = 0x201c, | ||
| 84 | V4L2_MBUS_FMT_VYUY12_2X12 = 0x201d, | ||
| 85 | V4L2_MBUS_FMT_YUYV12_2X12 = 0x201e, | ||
| 86 | V4L2_MBUS_FMT_YVYU12_2X12 = 0x201f, | ||
| 87 | V4L2_MBUS_FMT_UYVY12_1X24 = 0x2020, | ||
| 88 | V4L2_MBUS_FMT_VYUY12_1X24 = 0x2021, | ||
| 89 | V4L2_MBUS_FMT_YUYV12_1X24 = 0x2022, | ||
| 90 | V4L2_MBUS_FMT_YVYU12_1X24 = 0x2023, | ||
| 91 | |||
| 92 | /* Bayer - next is 0x3019 */ | ||
| 93 | V4L2_MBUS_FMT_SBGGR8_1X8 = 0x3001, | ||
| 94 | V4L2_MBUS_FMT_SGBRG8_1X8 = 0x3013, | ||
| 95 | V4L2_MBUS_FMT_SGRBG8_1X8 = 0x3002, | ||
| 96 | V4L2_MBUS_FMT_SRGGB8_1X8 = 0x3014, | ||
| 97 | V4L2_MBUS_FMT_SBGGR10_ALAW8_1X8 = 0x3015, | ||
| 98 | V4L2_MBUS_FMT_SGBRG10_ALAW8_1X8 = 0x3016, | ||
| 99 | V4L2_MBUS_FMT_SGRBG10_ALAW8_1X8 = 0x3017, | ||
| 100 | V4L2_MBUS_FMT_SRGGB10_ALAW8_1X8 = 0x3018, | ||
| 101 | V4L2_MBUS_FMT_SBGGR10_DPCM8_1X8 = 0x300b, | ||
| 102 | V4L2_MBUS_FMT_SGBRG10_DPCM8_1X8 = 0x300c, | ||
| 103 | V4L2_MBUS_FMT_SGRBG10_DPCM8_1X8 = 0x3009, | ||
| 104 | V4L2_MBUS_FMT_SRGGB10_DPCM8_1X8 = 0x300d, | ||
| 105 | V4L2_MBUS_FMT_SBGGR10_2X8_PADHI_BE = 0x3003, | ||
| 106 | V4L2_MBUS_FMT_SBGGR10_2X8_PADHI_LE = 0x3004, | ||
| 107 | V4L2_MBUS_FMT_SBGGR10_2X8_PADLO_BE = 0x3005, | ||
| 108 | V4L2_MBUS_FMT_SBGGR10_2X8_PADLO_LE = 0x3006, | ||
| 109 | V4L2_MBUS_FMT_SBGGR10_1X10 = 0x3007, | ||
| 110 | V4L2_MBUS_FMT_SGBRG10_1X10 = 0x300e, | ||
| 111 | V4L2_MBUS_FMT_SGRBG10_1X10 = 0x300a, | ||
| 112 | V4L2_MBUS_FMT_SRGGB10_1X10 = 0x300f, | ||
| 113 | V4L2_MBUS_FMT_SBGGR12_1X12 = 0x3008, | ||
| 114 | V4L2_MBUS_FMT_SGBRG12_1X12 = 0x3010, | ||
| 115 | V4L2_MBUS_FMT_SGRBG12_1X12 = 0x3011, | ||
| 116 | V4L2_MBUS_FMT_SRGGB12_1X12 = 0x3012, | ||
| 117 | |||
| 118 | /* JPEG compressed formats - next is 0x4002 */ | ||
| 119 | V4L2_MBUS_FMT_JPEG_1X8 = 0x4001, | ||
| 120 | |||
| 121 | /* Vendor specific formats - next is 0x5002 */ | ||
| 122 | |||
| 123 | /* S5C73M3 sensor specific interleaved UYVY and JPEG */ | ||
| 124 | V4L2_MBUS_FMT_S5C_UYVY_JPEG_1X8 = 0x5001, | ||
| 125 | |||
| 126 | /* HSV - next is 0x6002 */ | ||
| 127 | V4L2_MBUS_FMT_AHSV8888_1X32 = 0x6001, | ||
| 128 | }; | ||
| 129 | |||
| 130 | /** | 18 | /** |
| 131 | * struct v4l2_mbus_framefmt - frame format on the media bus | 19 | * struct v4l2_mbus_framefmt - frame format on the media bus |
| 132 | * @width: frame width | 20 | * @width: frame width |
| @@ -134,6 +22,8 @@ enum v4l2_mbus_pixelcode { | |||
| 134 | * @code: data format code (from enum v4l2_mbus_pixelcode) | 22 | * @code: data format code (from enum v4l2_mbus_pixelcode) |
| 135 | * @field: used interlacing type (from enum v4l2_field) | 23 | * @field: used interlacing type (from enum v4l2_field) |
| 136 | * @colorspace: colorspace of the data (from enum v4l2_colorspace) | 24 | * @colorspace: colorspace of the data (from enum v4l2_colorspace) |
| 25 | * @ycbcr_enc: YCbCr encoding of the data (from enum v4l2_ycbcr_encoding) | ||
| 26 | * @quantization: quantization of the data (from enum v4l2_quantization) | ||
| 137 | */ | 27 | */ |
| 138 | struct v4l2_mbus_framefmt { | 28 | struct v4l2_mbus_framefmt { |
| 139 | __u32 width; | 29 | __u32 width; |
| @@ -141,7 +31,108 @@ struct v4l2_mbus_framefmt { | |||
| 141 | __u32 code; | 31 | __u32 code; |
| 142 | __u32 field; | 32 | __u32 field; |
| 143 | __u32 colorspace; | 33 | __u32 colorspace; |
| 144 | __u32 reserved[7]; | 34 | __u32 ycbcr_enc; |
| 35 | __u32 quantization; | ||
| 36 | __u32 reserved[5]; | ||
| 37 | }; | ||
| 38 | |||
| 39 | #ifndef __KERNEL__ | ||
| 40 | /* | ||
| 41 | * enum v4l2_mbus_pixelcode and its definitions are now deprecated, and | ||
| 42 | * MEDIA_BUS_FMT_ definitions (defined in media-bus-format.h) should be | ||
| 43 | * used instead. | ||
| 44 | * | ||
| 45 | * New defines should only be added to media-bus-format.h. The | ||
| 46 | * v4l2_mbus_pixelcode enum is frozen. | ||
| 47 | */ | ||
| 48 | |||
| 49 | #define V4L2_MBUS_FROM_MEDIA_BUS_FMT(name) \ | ||
| 50 | V4L2_MBUS_FMT_ ## name = MEDIA_BUS_FMT_ ## name | ||
| 51 | |||
| 52 | enum v4l2_mbus_pixelcode { | ||
| 53 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(FIXED), | ||
| 54 | |||
| 55 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB444_2X8_PADHI_BE), | ||
| 56 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB444_2X8_PADHI_LE), | ||
| 57 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB555_2X8_PADHI_BE), | ||
| 58 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB555_2X8_PADHI_LE), | ||
| 59 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(BGR565_2X8_BE), | ||
| 60 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(BGR565_2X8_LE), | ||
| 61 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB565_2X8_BE), | ||
| 62 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB565_2X8_LE), | ||
| 63 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB666_1X18), | ||
| 64 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB888_1X24), | ||
| 65 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB888_2X12_BE), | ||
| 66 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB888_2X12_LE), | ||
| 67 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(ARGB8888_1X32), | ||
| 68 | |||
| 69 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(Y8_1X8), | ||
| 70 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(UV8_1X8), | ||
| 71 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(UYVY8_1_5X8), | ||
| 72 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(VYUY8_1_5X8), | ||
| 73 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(YUYV8_1_5X8), | ||
| 74 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(YVYU8_1_5X8), | ||
| 75 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(UYVY8_2X8), | ||
| 76 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(VYUY8_2X8), | ||
| 77 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(YUYV8_2X8), | ||
| 78 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(YVYU8_2X8), | ||
| 79 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(Y10_1X10), | ||
| 80 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(UYVY10_2X10), | ||
| 81 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(VYUY10_2X10), | ||
| 82 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(YUYV10_2X10), | ||
| 83 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(YVYU10_2X10), | ||
| 84 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(Y12_1X12), | ||
| 85 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(UYVY8_1X16), | ||
| 86 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(VYUY8_1X16), | ||
| 87 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(YUYV8_1X16), | ||
| 88 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(YVYU8_1X16), | ||
| 89 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(YDYUYDYV8_1X16), | ||
| 90 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(UYVY10_1X20), | ||
| 91 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(VYUY10_1X20), | ||
| 92 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(YUYV10_1X20), | ||
| 93 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(YVYU10_1X20), | ||
| 94 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(YUV10_1X30), | ||
| 95 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(AYUV8_1X32), | ||
| 96 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(UYVY12_2X12), | ||
| 97 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(VYUY12_2X12), | ||
| 98 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(YUYV12_2X12), | ||
| 99 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(YVYU12_2X12), | ||
| 100 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(UYVY12_1X24), | ||
| 101 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(VYUY12_1X24), | ||
| 102 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(YUYV12_1X24), | ||
| 103 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(YVYU12_1X24), | ||
| 104 | |||
| 105 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR8_1X8), | ||
| 106 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGBRG8_1X8), | ||
| 107 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGRBG8_1X8), | ||
| 108 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(SRGGB8_1X8), | ||
| 109 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR10_ALAW8_1X8), | ||
| 110 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGBRG10_ALAW8_1X8), | ||
| 111 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGRBG10_ALAW8_1X8), | ||
| 112 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(SRGGB10_ALAW8_1X8), | ||
| 113 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR10_DPCM8_1X8), | ||
| 114 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGBRG10_DPCM8_1X8), | ||
| 115 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGRBG10_DPCM8_1X8), | ||
| 116 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(SRGGB10_DPCM8_1X8), | ||
| 117 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR10_2X8_PADHI_BE), | ||
| 118 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR10_2X8_PADHI_LE), | ||
| 119 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR10_2X8_PADLO_BE), | ||
| 120 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR10_2X8_PADLO_LE), | ||
| 121 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR10_1X10), | ||
| 122 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGBRG10_1X10), | ||
| 123 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGRBG10_1X10), | ||
| 124 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(SRGGB10_1X10), | ||
| 125 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR12_1X12), | ||
| 126 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGBRG12_1X12), | ||
| 127 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGRBG12_1X12), | ||
| 128 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(SRGGB12_1X12), | ||
| 129 | |||
| 130 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(JPEG_1X8), | ||
| 131 | |||
| 132 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(S5C_UYVY_JPEG_1X8), | ||
| 133 | |||
| 134 | V4L2_MBUS_FROM_MEDIA_BUS_FMT(AHSV8888_1X32), | ||
| 145 | }; | 135 | }; |
| 136 | #endif /* __KERNEL__ */ | ||
| 146 | 137 | ||
| 147 | #endif | 138 | #endif |
diff --git a/include/uapi/linux/v4l2-subdev.h b/include/uapi/linux/v4l2-subdev.h index a619cdd300ac..e0a7e3da498a 100644 --- a/include/uapi/linux/v4l2-subdev.h +++ b/include/uapi/linux/v4l2-subdev.h | |||
| @@ -68,7 +68,7 @@ struct v4l2_subdev_crop { | |||
| 68 | * struct v4l2_subdev_mbus_code_enum - Media bus format enumeration | 68 | * struct v4l2_subdev_mbus_code_enum - Media bus format enumeration |
| 69 | * @pad: pad number, as reported by the media API | 69 | * @pad: pad number, as reported by the media API |
| 70 | * @index: format index during enumeration | 70 | * @index: format index during enumeration |
| 71 | * @code: format code (from enum v4l2_mbus_pixelcode) | 71 | * @code: format code (MEDIA_BUS_FMT_ definitions) |
| 72 | */ | 72 | */ |
| 73 | struct v4l2_subdev_mbus_code_enum { | 73 | struct v4l2_subdev_mbus_code_enum { |
| 74 | __u32 pad; | 74 | __u32 pad; |
| @@ -81,7 +81,7 @@ struct v4l2_subdev_mbus_code_enum { | |||
| 81 | * struct v4l2_subdev_frame_size_enum - Media bus format enumeration | 81 | * struct v4l2_subdev_frame_size_enum - Media bus format enumeration |
| 82 | * @pad: pad number, as reported by the media API | 82 | * @pad: pad number, as reported by the media API |
| 83 | * @index: format index during enumeration | 83 | * @index: format index during enumeration |
| 84 | * @code: format code (from enum v4l2_mbus_pixelcode) | 84 | * @code: format code (MEDIA_BUS_FMT_ definitions) |
| 85 | */ | 85 | */ |
| 86 | struct v4l2_subdev_frame_size_enum { | 86 | struct v4l2_subdev_frame_size_enum { |
| 87 | __u32 index; | 87 | __u32 index; |
| @@ -109,7 +109,7 @@ struct v4l2_subdev_frame_interval { | |||
| 109 | * struct v4l2_subdev_frame_interval_enum - Frame interval enumeration | 109 | * struct v4l2_subdev_frame_interval_enum - Frame interval enumeration |
| 110 | * @pad: pad number, as reported by the media API | 110 | * @pad: pad number, as reported by the media API |
| 111 | * @index: frame interval index during enumeration | 111 | * @index: frame interval index during enumeration |
| 112 | * @code: format code (from enum v4l2_mbus_pixelcode) | 112 | * @code: format code (MEDIA_BUS_FMT_ definitions) |
| 113 | * @width: frame width in pixels | 113 | * @width: frame width in pixels |
| 114 | * @height: frame height in pixels | 114 | * @height: frame height in pixels |
| 115 | * @interval: frame interval in seconds | 115 | * @interval: frame interval in seconds |
diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h index 1c2f84fd4d99..d279c1b75cf7 100644 --- a/include/uapi/linux/videodev2.h +++ b/include/uapi/linux/videodev2.h | |||
| @@ -178,30 +178,103 @@ enum v4l2_memory { | |||
| 178 | 178 | ||
| 179 | /* see also http://vektor.theorem.ca/graphics/ycbcr/ */ | 179 | /* see also http://vektor.theorem.ca/graphics/ycbcr/ */ |
| 180 | enum v4l2_colorspace { | 180 | enum v4l2_colorspace { |
| 181 | /* ITU-R 601 -- broadcast NTSC/PAL */ | 181 | /* SMPTE 170M: used for broadcast NTSC/PAL SDTV */ |
| 182 | V4L2_COLORSPACE_SMPTE170M = 1, | 182 | V4L2_COLORSPACE_SMPTE170M = 1, |
| 183 | 183 | ||
| 184 | /* 1125-Line (US) HDTV */ | 184 | /* Obsolete pre-1998 SMPTE 240M HDTV standard, superseded by Rec 709 */ |
| 185 | V4L2_COLORSPACE_SMPTE240M = 2, | 185 | V4L2_COLORSPACE_SMPTE240M = 2, |
| 186 | 186 | ||
| 187 | /* HD and modern captures. */ | 187 | /* Rec.709: used for HDTV */ |
| 188 | V4L2_COLORSPACE_REC709 = 3, | 188 | V4L2_COLORSPACE_REC709 = 3, |
| 189 | 189 | ||
| 190 | /* broken BT878 extents (601, luma range 16-253 instead of 16-235) */ | 190 | /* |
| 191 | * Deprecated, do not use. No driver will ever return this. This was | ||
| 192 | * based on a misunderstanding of the bt878 datasheet. | ||
| 193 | */ | ||
| 191 | V4L2_COLORSPACE_BT878 = 4, | 194 | V4L2_COLORSPACE_BT878 = 4, |
| 192 | 195 | ||
| 193 | /* These should be useful. Assume 601 extents. */ | 196 | /* |
| 197 | * NTSC 1953 colorspace. This only makes sense when dealing with | ||
| 198 | * really, really old NTSC recordings. Superseded by SMPTE 170M. | ||
| 199 | */ | ||
| 194 | V4L2_COLORSPACE_470_SYSTEM_M = 5, | 200 | V4L2_COLORSPACE_470_SYSTEM_M = 5, |
| 201 | |||
| 202 | /* | ||
| 203 | * EBU Tech 3213 PAL/SECAM colorspace. This only makes sense when | ||
| 204 | * dealing with really old PAL/SECAM recordings. Superseded by | ||
| 205 | * SMPTE 170M. | ||
| 206 | */ | ||
| 195 | V4L2_COLORSPACE_470_SYSTEM_BG = 6, | 207 | V4L2_COLORSPACE_470_SYSTEM_BG = 6, |
| 196 | 208 | ||
| 197 | /* I know there will be cameras that send this. So, this is | 209 | /* |
| 198 | * unspecified chromaticities and full 0-255 on each of the | 210 | * Effectively shorthand for V4L2_COLORSPACE_SRGB, V4L2_YCBCR_ENC_601 |
| 199 | * Y'CbCr components | 211 | * and V4L2_QUANTIZATION_FULL_RANGE. To be used for (Motion-)JPEG. |
| 200 | */ | 212 | */ |
| 201 | V4L2_COLORSPACE_JPEG = 7, | 213 | V4L2_COLORSPACE_JPEG = 7, |
| 202 | 214 | ||
| 203 | /* For RGB colourspaces, this is probably a good start. */ | 215 | /* For RGB colorspaces such as produces by most webcams. */ |
| 204 | V4L2_COLORSPACE_SRGB = 8, | 216 | V4L2_COLORSPACE_SRGB = 8, |
| 217 | |||
| 218 | /* AdobeRGB colorspace */ | ||
| 219 | V4L2_COLORSPACE_ADOBERGB = 9, | ||
| 220 | |||
| 221 | /* BT.2020 colorspace, used for UHDTV. */ | ||
| 222 | V4L2_COLORSPACE_BT2020 = 10, | ||
| 223 | }; | ||
| 224 | |||
| 225 | enum v4l2_ycbcr_encoding { | ||
| 226 | /* | ||
| 227 | * Mapping of V4L2_YCBCR_ENC_DEFAULT to actual encodings for the | ||
| 228 | * various colorspaces: | ||
| 229 | * | ||
| 230 | * V4L2_COLORSPACE_SMPTE170M, V4L2_COLORSPACE_470_SYSTEM_M, | ||
| 231 | * V4L2_COLORSPACE_470_SYSTEM_BG, V4L2_COLORSPACE_ADOBERGB and | ||
| 232 | * V4L2_COLORSPACE_JPEG: V4L2_YCBCR_ENC_601 | ||
| 233 | * | ||
| 234 | * V4L2_COLORSPACE_REC709: V4L2_YCBCR_ENC_709 | ||
| 235 | * | ||
| 236 | * V4L2_COLORSPACE_SRGB: V4L2_YCBCR_ENC_SYCC | ||
| 237 | * | ||
| 238 | * V4L2_COLORSPACE_BT2020: V4L2_YCBCR_ENC_BT2020 | ||
| 239 | * | ||
| 240 | * V4L2_COLORSPACE_SMPTE240M: V4L2_YCBCR_ENC_SMPTE240M | ||
| 241 | */ | ||
| 242 | V4L2_YCBCR_ENC_DEFAULT = 0, | ||
| 243 | |||
| 244 | /* ITU-R 601 -- SDTV */ | ||
| 245 | V4L2_YCBCR_ENC_601 = 1, | ||
| 246 | |||
| 247 | /* Rec. 709 -- HDTV */ | ||
| 248 | V4L2_YCBCR_ENC_709 = 2, | ||
| 249 | |||
| 250 | /* ITU-R 601/EN 61966-2-4 Extended Gamut -- SDTV */ | ||
| 251 | V4L2_YCBCR_ENC_XV601 = 3, | ||
| 252 | |||
| 253 | /* Rec. 709/EN 61966-2-4 Extended Gamut -- HDTV */ | ||
| 254 | V4L2_YCBCR_ENC_XV709 = 4, | ||
| 255 | |||
| 256 | /* sYCC (Y'CbCr encoding of sRGB) */ | ||
| 257 | V4L2_YCBCR_ENC_SYCC = 5, | ||
| 258 | |||
| 259 | /* BT.2020 Non-constant Luminance Y'CbCr */ | ||
| 260 | V4L2_YCBCR_ENC_BT2020 = 6, | ||
| 261 | |||
| 262 | /* BT.2020 Constant Luminance Y'CbcCrc */ | ||
| 263 | V4L2_YCBCR_ENC_BT2020_CONST_LUM = 7, | ||
| 264 | |||
| 265 | /* SMPTE 240M -- Obsolete HDTV */ | ||
| 266 | V4L2_YCBCR_ENC_SMPTE240M = 8, | ||
| 267 | }; | ||
| 268 | |||
| 269 | enum v4l2_quantization { | ||
| 270 | /* | ||
| 271 | * The default for R'G'B' quantization is always full range. For | ||
| 272 | * Y'CbCr the quantization is always limited range, except for | ||
| 273 | * SYCC, XV601, XV709 or JPEG: those are full range. | ||
| 274 | */ | ||
| 275 | V4L2_QUANTIZATION_DEFAULT = 0, | ||
| 276 | V4L2_QUANTIZATION_FULL_RANGE = 1, | ||
| 277 | V4L2_QUANTIZATION_LIM_RANGE = 2, | ||
| 205 | }; | 278 | }; |
| 206 | 279 | ||
| 207 | enum v4l2_priority { | 280 | enum v4l2_priority { |
| @@ -294,6 +367,8 @@ struct v4l2_pix_format { | |||
| 294 | __u32 colorspace; /* enum v4l2_colorspace */ | 367 | __u32 colorspace; /* enum v4l2_colorspace */ |
| 295 | __u32 priv; /* private data, depends on pixelformat */ | 368 | __u32 priv; /* private data, depends on pixelformat */ |
| 296 | __u32 flags; /* format flags (V4L2_PIX_FMT_FLAG_*) */ | 369 | __u32 flags; /* format flags (V4L2_PIX_FMT_FLAG_*) */ |
| 370 | __u32 ycbcr_enc; /* enum v4l2_ycbcr_encoding */ | ||
| 371 | __u32 quantization; /* enum v4l2_quantization */ | ||
| 297 | }; | 372 | }; |
| 298 | 373 | ||
| 299 | /* Pixel format FOURCC depth Description */ | 374 | /* Pixel format FOURCC depth Description */ |
| @@ -1249,6 +1324,7 @@ struct v4l2_input { | |||
| 1249 | #define V4L2_IN_CAP_DV_TIMINGS 0x00000002 /* Supports S_DV_TIMINGS */ | 1324 | #define V4L2_IN_CAP_DV_TIMINGS 0x00000002 /* Supports S_DV_TIMINGS */ |
| 1250 | #define V4L2_IN_CAP_CUSTOM_TIMINGS V4L2_IN_CAP_DV_TIMINGS /* For compatibility */ | 1325 | #define V4L2_IN_CAP_CUSTOM_TIMINGS V4L2_IN_CAP_DV_TIMINGS /* For compatibility */ |
| 1251 | #define V4L2_IN_CAP_STD 0x00000004 /* Supports S_STD */ | 1326 | #define V4L2_IN_CAP_STD 0x00000004 /* Supports S_STD */ |
| 1327 | #define V4L2_IN_CAP_NATIVE_SIZE 0x00000008 /* Supports setting native size */ | ||
| 1252 | 1328 | ||
| 1253 | /* | 1329 | /* |
| 1254 | * V I D E O O U T P U T S | 1330 | * V I D E O O U T P U T S |
| @@ -1272,6 +1348,7 @@ struct v4l2_output { | |||
| 1272 | #define V4L2_OUT_CAP_DV_TIMINGS 0x00000002 /* Supports S_DV_TIMINGS */ | 1348 | #define V4L2_OUT_CAP_DV_TIMINGS 0x00000002 /* Supports S_DV_TIMINGS */ |
| 1273 | #define V4L2_OUT_CAP_CUSTOM_TIMINGS V4L2_OUT_CAP_DV_TIMINGS /* For compatibility */ | 1349 | #define V4L2_OUT_CAP_CUSTOM_TIMINGS V4L2_OUT_CAP_DV_TIMINGS /* For compatibility */ |
| 1274 | #define V4L2_OUT_CAP_STD 0x00000004 /* Supports S_STD */ | 1350 | #define V4L2_OUT_CAP_STD 0x00000004 /* Supports S_STD */ |
| 1351 | #define V4L2_OUT_CAP_NATIVE_SIZE 0x00000008 /* Supports setting native size */ | ||
| 1275 | 1352 | ||
| 1276 | /* | 1353 | /* |
| 1277 | * C O N T R O L S | 1354 | * C O N T R O L S |
| @@ -1777,6 +1854,8 @@ struct v4l2_plane_pix_format { | |||
| 1777 | * @plane_fmt: per-plane information | 1854 | * @plane_fmt: per-plane information |
| 1778 | * @num_planes: number of planes for this format | 1855 | * @num_planes: number of planes for this format |
| 1779 | * @flags: format flags (V4L2_PIX_FMT_FLAG_*) | 1856 | * @flags: format flags (V4L2_PIX_FMT_FLAG_*) |
| 1857 | * @ycbcr_enc: enum v4l2_ycbcr_encoding, Y'CbCr encoding | ||
| 1858 | * @quantization: enum v4l2_quantization, colorspace quantization | ||
| 1780 | */ | 1859 | */ |
| 1781 | struct v4l2_pix_format_mplane { | 1860 | struct v4l2_pix_format_mplane { |
| 1782 | __u32 width; | 1861 | __u32 width; |
| @@ -1788,7 +1867,9 @@ struct v4l2_pix_format_mplane { | |||
| 1788 | struct v4l2_plane_pix_format plane_fmt[VIDEO_MAX_PLANES]; | 1867 | struct v4l2_plane_pix_format plane_fmt[VIDEO_MAX_PLANES]; |
| 1789 | __u8 num_planes; | 1868 | __u8 num_planes; |
| 1790 | __u8 flags; | 1869 | __u8 flags; |
| 1791 | __u8 reserved[10]; | 1870 | __u8 ycbcr_enc; |
| 1871 | __u8 quantization; | ||
| 1872 | __u8 reserved[8]; | ||
| 1792 | } __attribute__ ((packed)); | 1873 | } __attribute__ ((packed)); |
| 1793 | 1874 | ||
| 1794 | /** | 1875 | /** |
diff --git a/include/uapi/linux/virtio_blk.h b/include/uapi/linux/virtio_blk.h index 9ad67b267584..247c8ba8544a 100644 --- a/include/uapi/linux/virtio_blk.h +++ b/include/uapi/linux/virtio_blk.h | |||
| @@ -28,6 +28,7 @@ | |||
| 28 | #include <linux/types.h> | 28 | #include <linux/types.h> |
| 29 | #include <linux/virtio_ids.h> | 29 | #include <linux/virtio_ids.h> |
| 30 | #include <linux/virtio_config.h> | 30 | #include <linux/virtio_config.h> |
| 31 | #include <linux/virtio_types.h> | ||
| 31 | 32 | ||
| 32 | /* Feature bits */ | 33 | /* Feature bits */ |
| 33 | #define VIRTIO_BLK_F_BARRIER 0 /* Does host support barriers? */ | 34 | #define VIRTIO_BLK_F_BARRIER 0 /* Does host support barriers? */ |
| @@ -114,18 +115,18 @@ struct virtio_blk_config { | |||
| 114 | /* This is the first element of the read scatter-gather list. */ | 115 | /* This is the first element of the read scatter-gather list. */ |
| 115 | struct virtio_blk_outhdr { | 116 | struct virtio_blk_outhdr { |
| 116 | /* VIRTIO_BLK_T* */ | 117 | /* VIRTIO_BLK_T* */ |
| 117 | __u32 type; | 118 | __virtio32 type; |
| 118 | /* io priority. */ | 119 | /* io priority. */ |
| 119 | __u32 ioprio; | 120 | __virtio32 ioprio; |
| 120 | /* Sector (ie. 512 byte offset) */ | 121 | /* Sector (ie. 512 byte offset) */ |
| 121 | __u64 sector; | 122 | __virtio64 sector; |
| 122 | }; | 123 | }; |
| 123 | 124 | ||
| 124 | struct virtio_scsi_inhdr { | 125 | struct virtio_scsi_inhdr { |
| 125 | __u32 errors; | 126 | __virtio32 errors; |
| 126 | __u32 data_len; | 127 | __virtio32 data_len; |
| 127 | __u32 sense_len; | 128 | __virtio32 sense_len; |
| 128 | __u32 residual; | 129 | __virtio32 residual; |
| 129 | }; | 130 | }; |
| 130 | 131 | ||
| 131 | /* And this is the final byte of the write scatter-gather list. */ | 132 | /* And this is the final byte of the write scatter-gather list. */ |
diff --git a/include/uapi/linux/virtio_config.h b/include/uapi/linux/virtio_config.h index 3ce768c6910d..a6d0cdeaacd4 100644 --- a/include/uapi/linux/virtio_config.h +++ b/include/uapi/linux/virtio_config.h | |||
| @@ -38,14 +38,16 @@ | |||
| 38 | #define VIRTIO_CONFIG_S_DRIVER 2 | 38 | #define VIRTIO_CONFIG_S_DRIVER 2 |
| 39 | /* Driver has used its parts of the config, and is happy */ | 39 | /* Driver has used its parts of the config, and is happy */ |
| 40 | #define VIRTIO_CONFIG_S_DRIVER_OK 4 | 40 | #define VIRTIO_CONFIG_S_DRIVER_OK 4 |
| 41 | /* Driver has finished configuring features */ | ||
| 42 | #define VIRTIO_CONFIG_S_FEATURES_OK 8 | ||
| 41 | /* We've given up on this device. */ | 43 | /* We've given up on this device. */ |
| 42 | #define VIRTIO_CONFIG_S_FAILED 0x80 | 44 | #define VIRTIO_CONFIG_S_FAILED 0x80 |
| 43 | 45 | ||
| 44 | /* Some virtio feature bits (currently bits 28 through 31) are reserved for the | 46 | /* Some virtio feature bits (currently bits 28 through 32) are reserved for the |
| 45 | * transport being used (eg. virtio_ring), the rest are per-device feature | 47 | * transport being used (eg. virtio_ring), the rest are per-device feature |
| 46 | * bits. */ | 48 | * bits. */ |
| 47 | #define VIRTIO_TRANSPORT_F_START 28 | 49 | #define VIRTIO_TRANSPORT_F_START 28 |
| 48 | #define VIRTIO_TRANSPORT_F_END 32 | 50 | #define VIRTIO_TRANSPORT_F_END 33 |
| 49 | 51 | ||
| 50 | /* Do we get callbacks when the ring is completely used, even if we've | 52 | /* Do we get callbacks when the ring is completely used, even if we've |
| 51 | * suppressed them? */ | 53 | * suppressed them? */ |
| @@ -54,4 +56,7 @@ | |||
| 54 | /* Can the device handle any descriptor layout? */ | 56 | /* Can the device handle any descriptor layout? */ |
| 55 | #define VIRTIO_F_ANY_LAYOUT 27 | 57 | #define VIRTIO_F_ANY_LAYOUT 27 |
| 56 | 58 | ||
| 59 | /* v1.0 compliant. */ | ||
| 60 | #define VIRTIO_F_VERSION_1 32 | ||
| 61 | |||
| 57 | #endif /* _UAPI_LINUX_VIRTIO_CONFIG_H */ | 62 | #endif /* _UAPI_LINUX_VIRTIO_CONFIG_H */ |
diff --git a/include/uapi/linux/virtio_console.h b/include/uapi/linux/virtio_console.h index ba260dd0b33a..b7fb108c9310 100644 --- a/include/uapi/linux/virtio_console.h +++ b/include/uapi/linux/virtio_console.h | |||
| @@ -32,6 +32,7 @@ | |||
| 32 | #ifndef _UAPI_LINUX_VIRTIO_CONSOLE_H | 32 | #ifndef _UAPI_LINUX_VIRTIO_CONSOLE_H |
| 33 | #define _UAPI_LINUX_VIRTIO_CONSOLE_H | 33 | #define _UAPI_LINUX_VIRTIO_CONSOLE_H |
| 34 | #include <linux/types.h> | 34 | #include <linux/types.h> |
| 35 | #include <linux/virtio_types.h> | ||
| 35 | #include <linux/virtio_ids.h> | 36 | #include <linux/virtio_ids.h> |
| 36 | #include <linux/virtio_config.h> | 37 | #include <linux/virtio_config.h> |
| 37 | 38 | ||
| @@ -58,9 +59,9 @@ struct virtio_console_config { | |||
| 58 | * particular port. | 59 | * particular port. |
| 59 | */ | 60 | */ |
| 60 | struct virtio_console_control { | 61 | struct virtio_console_control { |
| 61 | __u32 id; /* Port number */ | 62 | __virtio32 id; /* Port number */ |
| 62 | __u16 event; /* The kind of control event (see below) */ | 63 | __virtio16 event; /* The kind of control event (see below) */ |
| 63 | __u16 value; /* Extra information for the key */ | 64 | __virtio16 value; /* Extra information for the key */ |
| 64 | }; | 65 | }; |
| 65 | 66 | ||
| 66 | /* Some events for control messages */ | 67 | /* Some events for control messages */ |
diff --git a/include/uapi/linux/virtio_net.h b/include/uapi/linux/virtio_net.h index 172a7f00780c..b5f1677b291c 100644 --- a/include/uapi/linux/virtio_net.h +++ b/include/uapi/linux/virtio_net.h | |||
| @@ -28,6 +28,7 @@ | |||
| 28 | #include <linux/types.h> | 28 | #include <linux/types.h> |
| 29 | #include <linux/virtio_ids.h> | 29 | #include <linux/virtio_ids.h> |
| 30 | #include <linux/virtio_config.h> | 30 | #include <linux/virtio_config.h> |
| 31 | #include <linux/virtio_types.h> | ||
| 31 | #include <linux/if_ether.h> | 32 | #include <linux/if_ether.h> |
| 32 | 33 | ||
| 33 | /* The feature bitmap for virtio net */ | 34 | /* The feature bitmap for virtio net */ |
| @@ -84,17 +85,17 @@ struct virtio_net_hdr { | |||
| 84 | #define VIRTIO_NET_HDR_GSO_TCPV6 4 // GSO frame, IPv6 TCP | 85 | #define VIRTIO_NET_HDR_GSO_TCPV6 4 // GSO frame, IPv6 TCP |
| 85 | #define VIRTIO_NET_HDR_GSO_ECN 0x80 // TCP has ECN set | 86 | #define VIRTIO_NET_HDR_GSO_ECN 0x80 // TCP has ECN set |
| 86 | __u8 gso_type; | 87 | __u8 gso_type; |
| 87 | __u16 hdr_len; /* Ethernet + IP + tcp/udp hdrs */ | 88 | __virtio16 hdr_len; /* Ethernet + IP + tcp/udp hdrs */ |
| 88 | __u16 gso_size; /* Bytes to append to hdr_len per frame */ | 89 | __virtio16 gso_size; /* Bytes to append to hdr_len per frame */ |
| 89 | __u16 csum_start; /* Position to start checksumming from */ | 90 | __virtio16 csum_start; /* Position to start checksumming from */ |
| 90 | __u16 csum_offset; /* Offset after that to place checksum */ | 91 | __virtio16 csum_offset; /* Offset after that to place checksum */ |
| 91 | }; | 92 | }; |
| 92 | 93 | ||
| 93 | /* This is the version of the header to use when the MRG_RXBUF | 94 | /* This is the version of the header to use when the MRG_RXBUF |
| 94 | * feature has been negotiated. */ | 95 | * feature has been negotiated. */ |
| 95 | struct virtio_net_hdr_mrg_rxbuf { | 96 | struct virtio_net_hdr_mrg_rxbuf { |
| 96 | struct virtio_net_hdr hdr; | 97 | struct virtio_net_hdr hdr; |
| 97 | __u16 num_buffers; /* Number of merged rx buffers */ | 98 | __virtio16 num_buffers; /* Number of merged rx buffers */ |
| 98 | }; | 99 | }; |
| 99 | 100 | ||
| 100 | /* | 101 | /* |
| @@ -149,7 +150,7 @@ typedef __u8 virtio_net_ctrl_ack; | |||
| 149 | * VIRTIO_NET_F_CTRL_MAC_ADDR feature is available. | 150 | * VIRTIO_NET_F_CTRL_MAC_ADDR feature is available. |
| 150 | */ | 151 | */ |
| 151 | struct virtio_net_ctrl_mac { | 152 | struct virtio_net_ctrl_mac { |
| 152 | __u32 entries; | 153 | __virtio32 entries; |
| 153 | __u8 macs[][ETH_ALEN]; | 154 | __u8 macs[][ETH_ALEN]; |
| 154 | } __attribute__((packed)); | 155 | } __attribute__((packed)); |
| 155 | 156 | ||
| @@ -193,7 +194,7 @@ struct virtio_net_ctrl_mac { | |||
| 193 | * specified. | 194 | * specified. |
| 194 | */ | 195 | */ |
| 195 | struct virtio_net_ctrl_mq { | 196 | struct virtio_net_ctrl_mq { |
| 196 | __u16 virtqueue_pairs; | 197 | __virtio16 virtqueue_pairs; |
| 197 | }; | 198 | }; |
| 198 | 199 | ||
| 199 | #define VIRTIO_NET_CTRL_MQ 4 | 200 | #define VIRTIO_NET_CTRL_MQ 4 |
diff --git a/include/uapi/linux/virtio_ring.h b/include/uapi/linux/virtio_ring.h index a99f9b7caa67..61c818a7fe70 100644 --- a/include/uapi/linux/virtio_ring.h +++ b/include/uapi/linux/virtio_ring.h | |||
| @@ -32,6 +32,7 @@ | |||
| 32 | * | 32 | * |
| 33 | * Copyright Rusty Russell IBM Corporation 2007. */ | 33 | * Copyright Rusty Russell IBM Corporation 2007. */ |
| 34 | #include <linux/types.h> | 34 | #include <linux/types.h> |
| 35 | #include <linux/virtio_types.h> | ||
| 35 | 36 | ||
| 36 | /* This marks a buffer as continuing via the next field. */ | 37 | /* This marks a buffer as continuing via the next field. */ |
| 37 | #define VRING_DESC_F_NEXT 1 | 38 | #define VRING_DESC_F_NEXT 1 |
| @@ -61,32 +62,32 @@ | |||
| 61 | /* Virtio ring descriptors: 16 bytes. These can chain together via "next". */ | 62 | /* Virtio ring descriptors: 16 bytes. These can chain together via "next". */ |
| 62 | struct vring_desc { | 63 | struct vring_desc { |
| 63 | /* Address (guest-physical). */ | 64 | /* Address (guest-physical). */ |
| 64 | __u64 addr; | 65 | __virtio64 addr; |
| 65 | /* Length. */ | 66 | /* Length. */ |
| 66 | __u32 len; | 67 | __virtio32 len; |
| 67 | /* The flags as indicated above. */ | 68 | /* The flags as indicated above. */ |
| 68 | __u16 flags; | 69 | __virtio16 flags; |
| 69 | /* We chain unused descriptors via this, too */ | 70 | /* We chain unused descriptors via this, too */ |
| 70 | __u16 next; | 71 | __virtio16 next; |
| 71 | }; | 72 | }; |
| 72 | 73 | ||
| 73 | struct vring_avail { | 74 | struct vring_avail { |
| 74 | __u16 flags; | 75 | __virtio16 flags; |
| 75 | __u16 idx; | 76 | __virtio16 idx; |
| 76 | __u16 ring[]; | 77 | __virtio16 ring[]; |
| 77 | }; | 78 | }; |
| 78 | 79 | ||
| 79 | /* u32 is used here for ids for padding reasons. */ | 80 | /* u32 is used here for ids for padding reasons. */ |
| 80 | struct vring_used_elem { | 81 | struct vring_used_elem { |
| 81 | /* Index of start of used descriptor chain. */ | 82 | /* Index of start of used descriptor chain. */ |
| 82 | __u32 id; | 83 | __virtio32 id; |
| 83 | /* Total length of the descriptor chain which was used (written to) */ | 84 | /* Total length of the descriptor chain which was used (written to) */ |
| 84 | __u32 len; | 85 | __virtio32 len; |
| 85 | }; | 86 | }; |
| 86 | 87 | ||
| 87 | struct vring_used { | 88 | struct vring_used { |
| 88 | __u16 flags; | 89 | __virtio16 flags; |
| 89 | __u16 idx; | 90 | __virtio16 idx; |
| 90 | struct vring_used_elem ring[]; | 91 | struct vring_used_elem ring[]; |
| 91 | }; | 92 | }; |
| 92 | 93 | ||
| @@ -109,25 +110,25 @@ struct vring { | |||
| 109 | * struct vring_desc desc[num]; | 110 | * struct vring_desc desc[num]; |
| 110 | * | 111 | * |
| 111 | * // A ring of available descriptor heads with free-running index. | 112 | * // A ring of available descriptor heads with free-running index. |
| 112 | * __u16 avail_flags; | 113 | * __virtio16 avail_flags; |
| 113 | * __u16 avail_idx; | 114 | * __virtio16 avail_idx; |
| 114 | * __u16 available[num]; | 115 | * __virtio16 available[num]; |
| 115 | * __u16 used_event_idx; | 116 | * __virtio16 used_event_idx; |
| 116 | * | 117 | * |
| 117 | * // Padding to the next align boundary. | 118 | * // Padding to the next align boundary. |
| 118 | * char pad[]; | 119 | * char pad[]; |
| 119 | * | 120 | * |
| 120 | * // A ring of used descriptor heads with free-running index. | 121 | * // A ring of used descriptor heads with free-running index. |
| 121 | * __u16 used_flags; | 122 | * __virtio16 used_flags; |
| 122 | * __u16 used_idx; | 123 | * __virtio16 used_idx; |
| 123 | * struct vring_used_elem used[num]; | 124 | * struct vring_used_elem used[num]; |
| 124 | * __u16 avail_event_idx; | 125 | * __virtio16 avail_event_idx; |
| 125 | * }; | 126 | * }; |
| 126 | */ | 127 | */ |
| 127 | /* We publish the used event index at the end of the available ring, and vice | 128 | /* We publish the used event index at the end of the available ring, and vice |
| 128 | * versa. They are at the end for backwards compatibility. */ | 129 | * versa. They are at the end for backwards compatibility. */ |
| 129 | #define vring_used_event(vr) ((vr)->avail->ring[(vr)->num]) | 130 | #define vring_used_event(vr) ((vr)->avail->ring[(vr)->num]) |
| 130 | #define vring_avail_event(vr) (*(__u16 *)&(vr)->used->ring[(vr)->num]) | 131 | #define vring_avail_event(vr) (*(__virtio16 *)&(vr)->used->ring[(vr)->num]) |
| 131 | 132 | ||
| 132 | static inline void vring_init(struct vring *vr, unsigned int num, void *p, | 133 | static inline void vring_init(struct vring *vr, unsigned int num, void *p, |
| 133 | unsigned long align) | 134 | unsigned long align) |
| @@ -135,15 +136,15 @@ static inline void vring_init(struct vring *vr, unsigned int num, void *p, | |||
| 135 | vr->num = num; | 136 | vr->num = num; |
| 136 | vr->desc = p; | 137 | vr->desc = p; |
| 137 | vr->avail = p + num*sizeof(struct vring_desc); | 138 | vr->avail = p + num*sizeof(struct vring_desc); |
| 138 | vr->used = (void *)(((unsigned long)&vr->avail->ring[num] + sizeof(__u16) | 139 | vr->used = (void *)(((unsigned long)&vr->avail->ring[num] + sizeof(__virtio16) |
| 139 | + align-1) & ~(align - 1)); | 140 | + align-1) & ~(align - 1)); |
| 140 | } | 141 | } |
| 141 | 142 | ||
| 142 | static inline unsigned vring_size(unsigned int num, unsigned long align) | 143 | static inline unsigned vring_size(unsigned int num, unsigned long align) |
| 143 | { | 144 | { |
| 144 | return ((sizeof(struct vring_desc) * num + sizeof(__u16) * (3 + num) | 145 | return ((sizeof(struct vring_desc) * num + sizeof(__virtio16) * (3 + num) |
| 145 | + align - 1) & ~(align - 1)) | 146 | + align - 1) & ~(align - 1)) |
| 146 | + sizeof(__u16) * 3 + sizeof(struct vring_used_elem) * num; | 147 | + sizeof(__virtio16) * 3 + sizeof(struct vring_used_elem) * num; |
| 147 | } | 148 | } |
| 148 | 149 | ||
| 149 | /* The following is used with USED_EVENT_IDX and AVAIL_EVENT_IDX */ | 150 | /* The following is used with USED_EVENT_IDX and AVAIL_EVENT_IDX */ |
diff --git a/include/uapi/linux/virtio_scsi.h b/include/uapi/linux/virtio_scsi.h new file mode 100644 index 000000000000..42b9370771b0 --- /dev/null +++ b/include/uapi/linux/virtio_scsi.h | |||
| @@ -0,0 +1,164 @@ | |||
| 1 | /* | ||
| 2 | * This header is BSD licensed so anyone can use the definitions to implement | ||
| 3 | * compatible drivers/servers. | ||
| 4 | * | ||
| 5 | * Redistribution and use in source and binary forms, with or without | ||
| 6 | * modification, are permitted provided that the following conditions | ||
| 7 | * are met: | ||
| 8 | * 1. Redistributions of source code must retain the above copyright | ||
| 9 | * notice, this list of conditions and the following disclaimer. | ||
| 10 | * 2. Redistributions in binary form must reproduce the above copyright | ||
| 11 | * notice, this list of conditions and the following disclaimer in the | ||
| 12 | * documentation and/or other materials provided with the distribution. | ||
| 13 | * | ||
| 14 | * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND | ||
| 15 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
| 16 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||
| 17 | * ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE | ||
| 18 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||
| 19 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | ||
| 20 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||
| 21 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||
| 22 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||
| 23 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | ||
| 24 | * SUCH DAMAGE. | ||
| 25 | */ | ||
| 26 | |||
| 27 | #ifndef _LINUX_VIRTIO_SCSI_H | ||
| 28 | #define _LINUX_VIRTIO_SCSI_H | ||
| 29 | |||
| 30 | #include <linux/virtio_types.h> | ||
| 31 | |||
| 32 | #define VIRTIO_SCSI_CDB_SIZE 32 | ||
| 33 | #define VIRTIO_SCSI_SENSE_SIZE 96 | ||
| 34 | |||
| 35 | /* SCSI command request, followed by data-out */ | ||
| 36 | struct virtio_scsi_cmd_req { | ||
| 37 | __u8 lun[8]; /* Logical Unit Number */ | ||
| 38 | __virtio64 tag; /* Command identifier */ | ||
| 39 | __u8 task_attr; /* Task attribute */ | ||
| 40 | __u8 prio; /* SAM command priority field */ | ||
| 41 | __u8 crn; | ||
| 42 | __u8 cdb[VIRTIO_SCSI_CDB_SIZE]; | ||
| 43 | } __attribute__((packed)); | ||
| 44 | |||
| 45 | /* SCSI command request, followed by protection information */ | ||
| 46 | struct virtio_scsi_cmd_req_pi { | ||
| 47 | __u8 lun[8]; /* Logical Unit Number */ | ||
| 48 | __virtio64 tag; /* Command identifier */ | ||
| 49 | __u8 task_attr; /* Task attribute */ | ||
| 50 | __u8 prio; /* SAM command priority field */ | ||
| 51 | __u8 crn; | ||
| 52 | __virtio32 pi_bytesout; /* DataOUT PI Number of bytes */ | ||
| 53 | __virtio32 pi_bytesin; /* DataIN PI Number of bytes */ | ||
| 54 | __u8 cdb[VIRTIO_SCSI_CDB_SIZE]; | ||
| 55 | } __attribute__((packed)); | ||
| 56 | |||
| 57 | /* Response, followed by sense data and data-in */ | ||
| 58 | struct virtio_scsi_cmd_resp { | ||
| 59 | __virtio32 sense_len; /* Sense data length */ | ||
| 60 | __virtio32 resid; /* Residual bytes in data buffer */ | ||
| 61 | __virtio16 status_qualifier; /* Status qualifier */ | ||
| 62 | __u8 status; /* Command completion status */ | ||
| 63 | __u8 response; /* Response values */ | ||
| 64 | __u8 sense[VIRTIO_SCSI_SENSE_SIZE]; | ||
| 65 | } __attribute__((packed)); | ||
| 66 | |||
| 67 | /* Task Management Request */ | ||
| 68 | struct virtio_scsi_ctrl_tmf_req { | ||
| 69 | __virtio32 type; | ||
| 70 | __virtio32 subtype; | ||
| 71 | __u8 lun[8]; | ||
| 72 | __virtio64 tag; | ||
| 73 | } __attribute__((packed)); | ||
| 74 | |||
| 75 | struct virtio_scsi_ctrl_tmf_resp { | ||
| 76 | __u8 response; | ||
| 77 | } __attribute__((packed)); | ||
| 78 | |||
| 79 | /* Asynchronous notification query/subscription */ | ||
| 80 | struct virtio_scsi_ctrl_an_req { | ||
| 81 | __virtio32 type; | ||
| 82 | __u8 lun[8]; | ||
| 83 | __virtio32 event_requested; | ||
| 84 | } __attribute__((packed)); | ||
| 85 | |||
| 86 | struct virtio_scsi_ctrl_an_resp { | ||
| 87 | __virtio32 event_actual; | ||
| 88 | __u8 response; | ||
| 89 | } __attribute__((packed)); | ||
| 90 | |||
| 91 | struct virtio_scsi_event { | ||
| 92 | __virtio32 event; | ||
| 93 | __u8 lun[8]; | ||
| 94 | __virtio32 reason; | ||
| 95 | } __attribute__((packed)); | ||
| 96 | |||
| 97 | struct virtio_scsi_config { | ||
| 98 | __u32 num_queues; | ||
| 99 | __u32 seg_max; | ||
| 100 | __u32 max_sectors; | ||
| 101 | __u32 cmd_per_lun; | ||
| 102 | __u32 event_info_size; | ||
| 103 | __u32 sense_size; | ||
| 104 | __u32 cdb_size; | ||
| 105 | __u16 max_channel; | ||
| 106 | __u16 max_target; | ||
| 107 | __u32 max_lun; | ||
| 108 | } __attribute__((packed)); | ||
| 109 | |||
| 110 | /* Feature Bits */ | ||
| 111 | #define VIRTIO_SCSI_F_INOUT 0 | ||
| 112 | #define VIRTIO_SCSI_F_HOTPLUG 1 | ||
| 113 | #define VIRTIO_SCSI_F_CHANGE 2 | ||
| 114 | #define VIRTIO_SCSI_F_T10_PI 3 | ||
| 115 | |||
| 116 | /* Response codes */ | ||
| 117 | #define VIRTIO_SCSI_S_OK 0 | ||
| 118 | #define VIRTIO_SCSI_S_OVERRUN 1 | ||
| 119 | #define VIRTIO_SCSI_S_ABORTED 2 | ||
| 120 | #define VIRTIO_SCSI_S_BAD_TARGET 3 | ||
| 121 | #define VIRTIO_SCSI_S_RESET 4 | ||
| 122 | #define VIRTIO_SCSI_S_BUSY 5 | ||
| 123 | #define VIRTIO_SCSI_S_TRANSPORT_FAILURE 6 | ||
| 124 | #define VIRTIO_SCSI_S_TARGET_FAILURE 7 | ||
| 125 | #define VIRTIO_SCSI_S_NEXUS_FAILURE 8 | ||
| 126 | #define VIRTIO_SCSI_S_FAILURE 9 | ||
| 127 | #define VIRTIO_SCSI_S_FUNCTION_SUCCEEDED 10 | ||
| 128 | #define VIRTIO_SCSI_S_FUNCTION_REJECTED 11 | ||
| 129 | #define VIRTIO_SCSI_S_INCORRECT_LUN 12 | ||
| 130 | |||
| 131 | /* Controlq type codes. */ | ||
| 132 | #define VIRTIO_SCSI_T_TMF 0 | ||
| 133 | #define VIRTIO_SCSI_T_AN_QUERY 1 | ||
| 134 | #define VIRTIO_SCSI_T_AN_SUBSCRIBE 2 | ||
| 135 | |||
| 136 | /* Valid TMF subtypes. */ | ||
| 137 | #define VIRTIO_SCSI_T_TMF_ABORT_TASK 0 | ||
| 138 | #define VIRTIO_SCSI_T_TMF_ABORT_TASK_SET 1 | ||
| 139 | #define VIRTIO_SCSI_T_TMF_CLEAR_ACA 2 | ||
| 140 | #define VIRTIO_SCSI_T_TMF_CLEAR_TASK_SET 3 | ||
| 141 | #define VIRTIO_SCSI_T_TMF_I_T_NEXUS_RESET 4 | ||
| 142 | #define VIRTIO_SCSI_T_TMF_LOGICAL_UNIT_RESET 5 | ||
| 143 | #define VIRTIO_SCSI_T_TMF_QUERY_TASK 6 | ||
| 144 | #define VIRTIO_SCSI_T_TMF_QUERY_TASK_SET 7 | ||
| 145 | |||
| 146 | /* Events. */ | ||
| 147 | #define VIRTIO_SCSI_T_EVENTS_MISSED 0x80000000 | ||
| 148 | #define VIRTIO_SCSI_T_NO_EVENT 0 | ||
| 149 | #define VIRTIO_SCSI_T_TRANSPORT_RESET 1 | ||
| 150 | #define VIRTIO_SCSI_T_ASYNC_NOTIFY 2 | ||
| 151 | #define VIRTIO_SCSI_T_PARAM_CHANGE 3 | ||
| 152 | |||
| 153 | /* Reasons of transport reset event */ | ||
| 154 | #define VIRTIO_SCSI_EVT_RESET_HARD 0 | ||
| 155 | #define VIRTIO_SCSI_EVT_RESET_RESCAN 1 | ||
| 156 | #define VIRTIO_SCSI_EVT_RESET_REMOVED 2 | ||
| 157 | |||
| 158 | #define VIRTIO_SCSI_S_SIMPLE 0 | ||
| 159 | #define VIRTIO_SCSI_S_ORDERED 1 | ||
| 160 | #define VIRTIO_SCSI_S_HEAD 2 | ||
| 161 | #define VIRTIO_SCSI_S_ACA 3 | ||
| 162 | |||
| 163 | |||
| 164 | #endif /* _LINUX_VIRTIO_SCSI_H */ | ||
diff --git a/include/uapi/linux/virtio_types.h b/include/uapi/linux/virtio_types.h new file mode 100644 index 000000000000..e845e8c4cbee --- /dev/null +++ b/include/uapi/linux/virtio_types.h | |||
| @@ -0,0 +1,46 @@ | |||
| 1 | #ifndef _UAPI_LINUX_VIRTIO_TYPES_H | ||
| 2 | #define _UAPI_LINUX_VIRTIO_TYPES_H | ||
| 3 | /* Type definitions for virtio implementations. | ||
| 4 | * | ||
| 5 | * This header is BSD licensed so anyone can use the definitions to implement | ||
| 6 | * compatible drivers/servers. | ||
| 7 | * | ||
| 8 | * Redistribution and use in source and binary forms, with or without | ||
| 9 | * modification, are permitted provided that the following conditions | ||
| 10 | * are met: | ||
| 11 | * 1. Redistributions of source code must retain the above copyright | ||
| 12 | * notice, this list of conditions and the following disclaimer. | ||
| 13 | * 2. Redistributions in binary form must reproduce the above copyright | ||
| 14 | * notice, this list of conditions and the following disclaimer in the | ||
| 15 | * documentation and/or other materials provided with the distribution. | ||
| 16 | * 3. Neither the name of IBM nor the names of its contributors | ||
| 17 | * may be used to endorse or promote products derived from this software | ||
| 18 | * without specific prior written permission. | ||
| 19 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' AND | ||
| 20 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
| 21 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||
| 22 | * ARE DISCLAIMED. IN NO EVENT SHALL IBM OR CONTRIBUTORS BE LIABLE | ||
| 23 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||
| 24 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | ||
| 25 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||
| 26 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||
| 27 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||
| 28 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | ||
| 29 | * SUCH DAMAGE. | ||
| 30 | * | ||
| 31 | * Copyright (C) 2014 Red Hat, Inc. | ||
| 32 | * Author: Michael S. Tsirkin <mst@redhat.com> | ||
| 33 | */ | ||
| 34 | #include <linux/types.h> | ||
| 35 | |||
| 36 | /* | ||
| 37 | * __virtio{16,32,64} have the following meaning: | ||
| 38 | * - __u{16,32,64} for virtio devices in legacy mode, accessed in native endian | ||
| 39 | * - __le{16,32,64} for standard-compliant virtio devices | ||
| 40 | */ | ||
| 41 | |||
| 42 | typedef __u16 __bitwise__ __virtio16; | ||
| 43 | typedef __u32 __bitwise__ __virtio32; | ||
| 44 | typedef __u64 __bitwise__ __virtio64; | ||
| 45 | |||
| 46 | #endif /* _UAPI_LINUX_VIRTIO_TYPES_H */ | ||
diff --git a/include/uapi/linux/vt.h b/include/uapi/linux/vt.h index 4b59a26799a3..978578bd1895 100644 --- a/include/uapi/linux/vt.h +++ b/include/uapi/linux/vt.h | |||
| @@ -84,7 +84,4 @@ struct vt_setactivate { | |||
| 84 | 84 | ||
| 85 | #define VT_SETACTIVATE 0x560F /* Activate and set the mode of a console */ | 85 | #define VT_SETACTIVATE 0x560F /* Activate and set the mode of a console */ |
| 86 | 86 | ||
| 87 | |||
| 88 | #define vt_get_kmsg_redirect() vt_kmsg_redirect(-1) | ||
| 89 | |||
| 90 | #endif /* _UAPI_LINUX_VT_H */ | 87 | #endif /* _UAPI_LINUX_VT_H */ |
