twx-linux/include/uapi/linux
Alex Williamson 033291eccb vfio: Include No-IOMMU mode
There is really no way to safely give a user full access to a DMA
capable device without an IOMMU to protect the host system.  There is
also no way to provide DMA translation, for use cases such as device
assignment to virtual machines.  However, there are still those users
that want userspace drivers even under those conditions.  The UIO
driver exists for this use case, but does not provide the degree of
device access and programming that VFIO has.  In an effort to avoid
code duplication, this introduces a No-IOMMU mode for VFIO.

This mode requires building VFIO with CONFIG_VFIO_NOIOMMU and enabling
the "enable_unsafe_noiommu_mode" option on the vfio driver.  This
should make it very clear that this mode is not safe.  Additionally,
CAP_SYS_RAWIO privileges are necessary to work with groups and
containers using this mode.  Groups making use of this support are
named /dev/vfio/noiommu-$GROUP and can only make use of the special
VFIO_NOIOMMU_IOMMU for the container.  Use of this mode, specifically
binding a device without a native IOMMU group to a VFIO bus driver
will taint the kernel and should therefore not be considered
supported.  This patch includes no-iommu support for the vfio-pci bus
driver only.

Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
2015-11-04 09:56:16 -07:00
..
android
byteorder
caif
can
cifs
dvb
genwqe
hdlc
hsi
iio
isdn
mmc
netfilter netfilter: nf_conntrack: add efficient mark to zone mapping 2015-08-18 01:24:05 +02:00
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6 netfilter: ip6t_REJECT: added missing icmpv6 codes 2015-08-26 20:32:35 +02:00
nfsd
raid
spi
sunrpc
tc_act
tc_ematch
usb usb: add USB_OTG_ADP definition 2015-07-29 09:59:20 -05:00
wimax
a.out.h
acct.h
adb.h
adfs_fs.h
affs_hardblocks.h
agpgart.h
aio_abi.h
am437x-vpfe.h
apm_bios.h
arcfb.h
atalk.h
atm_eni.h
atm_he.h
atm_idt77105.h
atm_nicstar.h
atm_tcp.h
atm_zatm.h
atm.h
atmapi.h
atmarp.h
atmbr2684.h
atmclip.h
atmdev.h
atmioc.h
atmlec.h
atmmpc.h
atmppp.h
atmsap.h
atmsvc.h
audit.h Merge branch 'upstream' of git://git.infradead.org/users/pcmoore/audit 2015-09-08 13:34:59 -07:00
auto_fs4.h
auto_fs.h
auxvec.h
ax25.h
b1lli.h
baycom.h
bcache.h
bcm933xx_hcs.h
bfs_fs.h
binfmts.h
blkpg.h
blktrace_api.h
bpf_common.h
bpf.h bpf: Implement function bpf_perf_event_read() that get the selected hardware PMU conuter 2015-08-09 22:50:06 -07:00
bpqether.h
bsg.h
btrfs.h
can.h
capability.h
capi.h
cciss_defs.h
cciss_ioctl.h
cdrom.h
cgroupstats.h
chio.h
cm4000_cs.h
cn_proc.h
coda_psdev.h
coda.h
coff.h
connector.h
const.h
cramfs_fs.h
cryptouser.h
cuda.h
cyclades.h
cycx_cfm.h
dcbnl.h
dccp.h
dlm_device.h dlm: fix lvb copy for user locks 2015-08-25 14:41:50 -05:00
dlm_netlink.h
dlm_plock.h
dlm.h
dlmconstants.h
dm-ioctl.h dm stats: report precise_timestamps and histogram in @stats_list output 2015-08-18 17:20:03 -04:00
dm-log-userspace.h
dn.h
dqblk_xfs.h
edd.h
efs_fs_sb.h
elf-em.h elf-em.h: move EM_MICROBLAZE to the common header 2015-09-10 06:54:15 +02:00
elf-fdpic.h
elf.h
elfcore.h
errno.h
errqueue.h
ethtool.h clarify implementation of ethtool's get_ts_info op 2015-07-17 19:59:04 -07:00
eventpoll.h
fadvise.h
falloc.h
fanotify.h
fb.h
fcntl.h
fd.h
fdreg.h
fib_rules.h fib: Add fib rule match on tunnel id 2015-07-21 10:39:06 -07:00
fiemap.h
filter.h
firewire-cdev.h
firewire-constants.h
flat.h
fou.h
fs.h
fsl_hypervisor.h
fuse.h fuse: device fd clone 2015-07-01 16:26:08 +02:00
futex.h
gameport.h
gen_stats.h
genetlink.h
gfs2_ondisk.h
gigaset_dev.h
gsmmux.h tty: linux/gsmmux.h needs linux/types.h 2015-07-23 17:48:43 -07:00
hash_info.h
hdlc.h
hdlcdrv.h
hdreg.h
hid.h
hiddev.h
hidraw.h
hpet.h
hsr_netlink.h
hw_breakpoint.h
hyperv.h
hysdn_if.h
i2c-dev.h
i2c.h
i2o-dev.h
i8k.h
icmp.h
icmpv6.h
if_addr.h
if_addrlabel.h
if_alg.h
if_arcnet.h
if_arp.h
if_bonding.h
if_bridge.h bridge: mdb: add vlan support for user entries 2015-07-13 14:41:26 -07:00
if_cablemodem.h
if_eql.h
if_ether.h ether: add IEEE 1722 ethertype - TSN 2015-09-09 22:06:29 -07:00
if_fc.h
if_fddi.h
if_frad.h
if_hippi.h
if_infiniband.h
if_link.h geneve: Add support to collect tunnel metadata. 2015-08-27 15:42:47 -07:00
if_ltalk.h
if_packet.h packet: add extended BPF fanout mode 2015-08-17 14:22:48 -07:00
if_phonet.h
if_plip.h
if_ppp.h
if_pppol2tp.h
if_pppox.h
if_slip.h
if_team.h
if_tun.h
if_tunnel.h ip_gre: Add support to collect tunnel metadata. 2015-08-10 14:03:54 -07:00
if_vlan.h
if_x25.h
if.h
igmp.h
ila.h net: Identifier Locator Addressing module 2015-08-17 21:33:06 -07:00
in6.h
in_route.h
in.h api: fix compatibility of linux/in.h with netinet/in.h 2015-06-29 18:56:21 -07:00
inet_diag.h net: inet_diag: export IPV6_V6ONLY sockopt 2015-06-24 02:51:39 -07:00
inotify.h
input.h
ioctl.h
ip6_tunnel.h
ip_vs.h ipvs: add more mcast parameters for the sync daemon 2015-08-21 09:10:11 -07:00
ip.h
ipc.h
ipmi_msgdefs.h
ipmi.h
ipsec.h
ipv6_route.h
ipv6.h net: ipv6 sysctl option to ignore routes when nexthop link is down 2015-08-13 21:27:19 -07:00
ipx.h
irda.h
irqnr.h
isdn_divertif.h
isdn_ppp.h
isdn.h
isdnif.h
iso_fs.h
ivtv.h
ivtvfb.h
ixjuser.h
jffs2.h
joystick.h
Kbuild sys_membarrier(): system-wide memory barrier (generic, x86) 2015-09-11 15:21:34 -07:00
kcmp.h
kd.h
kdev_t.h
kernel-page-flags.h proc: export idle flag via kpageflags 2015-09-10 13:29:01 -07:00
kernel.h
kernelcapi.h
kexec.h
keyboard.h
keyctl.h
kfd_ioctl.h
kvm_para.h
kvm.h Patch queue for ppc - 2015-08-22 2015-08-22 14:57:59 -07:00
l2tp.h
libc-compat.h api: fix compatibility of linux/in.h with netinet/in.h 2015-06-29 18:56:21 -07:00
limits.h
llc.h
loop.h
lp.h
lwtunnel.h lwtunnel: remove source and destination UDP port config option 2015-09-24 14:31:37 -07:00
magic.h
major.h
map_to_7segment.h
matroxfb.h
mdio.h
media-bus-format.h
media.h
mei.h mei: add async event notification ioctls 2015-08-03 17:30:00 -07:00
membarrier.h sys_membarrier(): system-wide memory barrier (generic, x86) 2015-09-11 15:21:34 -07:00
memfd.h
mempolicy.h
meye.h
mic_common.h
mic_ioctl.h
mii.h
minix_fs.h
mman.h
mmtimer.h
module.h
mpls_iptunnel.h mpls: ip tunnel support 2015-07-21 10:39:05 -07:00
mpls.h mpls: Use definition for reserved label checks 2015-08-03 22:35:00 -07:00
mqueue.h
mroute6.h
mroute.h
msdos_fs.h
msg.h
mtio.h
n_r3964.h
nbd.h
ncp_fs.h
ncp_mount.h
ncp_no.h
ncp.h
ndctl.h libnvdimm: Add DSM support for Address Range Scrub commands 2015-07-27 22:53:19 -04:00
neighbour.h net: add explicit logging and stat for neighbour table overflow 2015-08-10 13:46:21 -07:00
net_dropmon.h
net_namespace.h
net_tstamp.h
net.h
netconf.h ipv4: add support for linkdown sysctl to netconf 2015-07-08 23:34:53 -07:00
netdevice.h
netfilter_arp.h
netfilter_bridge.h
netfilter_decnet.h
netfilter_ipv4.h
netfilter_ipv6.h
netfilter.h
netlink_diag.h
netlink.h netlink: add NETLINK_CAP_ACK socket option 2015-08-28 22:25:42 -07:00
netrom.h
nfc.h
nfs2.h
nfs3.h
nfs4_mount.h
nfs4.h NFS: Update NFS4_BITMAP_SIZE 2015-08-27 19:44:53 -04:00
nfs_fs.h
nfs_idmap.h
nfs_mount.h
nfs.h
nfsacl.h nfsd: Add macro NFS_ACL_MASK for ACL 2015-07-20 14:58:46 -04:00
nl80211.h
nubus.h
nvme.h NVMe: Add nvme subsystem reset IOCTL 2015-08-18 11:56:13 -06:00
nvram.h
omap3isp.h
omapfb.h
oom.h
openvswitch.h openvswitch: Change CT_ATTR_FLAGS to CT_ATTR_COMMIT 2015-10-07 05:03:06 -07:00
packet_diag.h
param.h
parport.h
patchkey.h
pci_regs.h PCI: Restore PCI_MSIX_FLAGS_BIRMASK definition 2015-07-14 18:27:46 -05:00
pci.h
perf_event.h perf: Add cycles to branch_info 2015-08-04 10:16:57 +02:00
personality.h
pfkeyv2.h
pg.h
phantom.h
phonet.h
pkt_cls.h
pkt_sched.h
pktcdvd.h
pmu.h
poll.h
posix_types.h
ppdev.h
ppp_defs.h
ppp-comp.h
ppp-ioctl.h
pps.h
prctl.h capabilities: ambient capabilities 2015-09-04 16:54:41 -07:00
psci.h
ptp_clock.h
ptrace.h seccomp: add ptrace options for suspend/resume 2015-07-15 11:52:52 -07:00
qnx4_fs.h
qnxtypes.h
quota.h
radeonfb.h
random.h
raw.h
rds.h
reboot.h
reiserfs_fs.h
reiserfs_xattr.h
resource.h
rfkill.h
romfs_fs.h
rose.h
route.h
rtc.h
rtnetlink.h rtnetlink: fix gcc -Wconversion warning 2015-10-12 19:40:30 -07:00
scc.h
sched.h
scif_ioctl.h
screen_info.h
sctp.h
sdla.h
seccomp.h
securebits.h capabilities: add a securebit to disable PR_CAP_AMBIENT_RAISE 2015-09-04 16:54:41 -07:00
selinux_netlink.h
sem.h
serial_core.h
serial_reg.h
serial.h
serio.h
shm.h
signal.h
signalfd.h
smiapp.h
snmp.h net: track success and failure of TCP PMTU probing 2015-07-21 22:36:33 -07:00
sock_diag.h
socket.h
sockios.h
sonet.h
sonypi.h
sound.h
soundcard.h
stat.h
stddef.h
string.h
suspend_ioctls.h
swab.h
synclink.h
sysctl.h
sysinfo.h
target_core_user.h target: use stringify.h instead of own definition 2015-09-11 00:32:36 -07:00
taskstats.h
tcp_metrics.h
tcp.h
telephony.h
termios.h
thermal.h
time.h
times.h
timex.h
tiocl.h
tipc_config.h
tipc_netlink.h
tipc.h
toshiba.h toshiba_acpi: Add /dev/toshiba_acpi device 2015-07-24 14:15:10 -07:00
tty_flags.h
tty.h
types.h
udf_fs_i.h
udp.h
uhid.h
uinput.h
uio.h
ultrasound.h
un.h
unistd.h
unix_diag.h
usbdevice_fs.h
usbip.h
userfaultfd.h userfaultfd: remove kernel header include from uapi header 2015-10-01 21:42:35 -04:00
utime.h
utsname.h
uuid.h
uvcvideo.h
v4l2-common.h
v4l2-controls.h [media] Driver for Toshiba TC358743 HDMI to CSI-2 bridge 2015-07-17 09:59:28 -03:00
v4l2-dv-timings.h
v4l2-mediabus.h
v4l2-subdev.h
veth.h
vfio.h vfio: Include No-IOMMU mode 2015-11-04 09:56:16 -07:00
vhost.h
videodev2.h
virtio_9p.h
virtio_balloon.h
virtio_blk.h
virtio_config.h
virtio_console.h
virtio_gpu.h
virtio_ids.h
virtio_input.h
virtio_net.h virtio_net: document VIRTIO_NET_CTRL_GUEST_OFFLOADS 2015-07-01 10:11:17 +02:00
virtio_pci.h virtio: define virtio_pci_cfg_cap in header. 2015-07-07 14:27:05 +03:00
virtio_ring.h virtio: Fix typecast of pointer in vring_init() 2015-07-07 14:27:04 +03:00
virtio_rng.h
virtio_scsi.h
virtio_types.h
vm_sockets.h
vsp1.h [media] media: uapi: vsp1: Use __u32 instead of u32 2015-07-06 08:25:50 -03:00
vt.h
wait.h
wanrouter.h
watchdog.h
wil6210_uapi.h
wimax.h
wireless.h
x25.h
xattr.h
xfrm.h
xilinx-v4l2-controls.h
zorro_ids.h
zorro.h