__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
/*
* VFIO API definition
*
* Copyright (C) 2012 Red Hat, Inc. All rights reserved.
* Author: Alex Williamson <alex.williamson@redhat.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#ifndef VFIO_H
#define VFIO_H
#include <linux/types.h>
#include <linux/ioctl.h>
#define VFIO_API_VERSION 0
/* Kernel & User level defines for VFIO IOCTLs. */
/* Extensions */
#define VFIO_TYPE1_IOMMU 1
#define VFIO_SPAPR_TCE_IOMMU 2
#define VFIO_TYPE1v2_IOMMU 3
/*
* IOMMU enforces DMA cache coherence (ex. PCIe NoSnoop stripping). This
* capability is subject to change as groups are added or removed.
*/
#define VFIO_DMA_CC_IOMMU 4
/* Check if EEH is supported */
#define VFIO_EEH 5
#define VFIO_SPAPR_TCE_v2_IOMMU 7
/*
* The No-IOMMU IOMMU offers no translation or isolation for devices and
* supports no ioctls outside of VFIO_CHECK_EXTENSION. Use of VFIO's No-IOMMU
* code will taint the host kernel and should be used with extreme caution.
*/
#define VFIO_NOIOMMU_IOMMU 8
/*
* The IOCTL interface is designed for extensibility by embedding the
* structure length (argsz) and flags into structures passed between
* kernel and userspace. We therefore use the _IO() macro for these
* defines to avoid implicitly embedding a size into the ioctl request.
* As structure fields are added, argsz will increase to match and flag
* bits will be defined to indicate additional fields with valid data.
* It's *always* the caller's responsibility to indicate the size of
* the structure passed by setting argsz appropriately.
*/
#define VFIO_TYPE (';')
#define VFIO_BASE 100
/*
* For extension of INFO ioctls, VFIO makes use of a capability chain
* designed after PCI/e capabilities. A flag bit indicates whether
* this capability chain is supported and a field defined in the fixed
* structure defines the offset of the first capability in the chain.
* This field is only valid when the corresponding bit in the flags
* bitmap is set. This offset field is relative to the start of the
* INFO buffer, as is the next field within each capability header.
* The id within the header is a shared address space per INFO ioctl,
* while the version field is specific to the capability id. The
* contents following the header are specific to the capability id.
*/
struct vfio_info_cap_header {
__u16 id; /* Identifies capability */
__u16 version; /* Version specific to the capability ID */
__u32 next; /* Offset of next capability */
};
/*
* Callers of INFO ioctls passing insufficiently sized buffers will see
* the capability chain flag bit set, a zero value for the first capability
* offset (if available within the provided argsz), and argsz will be
* updated to report the necessary buffer size. For compatibility, the
* INFO ioctl will not report error in this case, but the capability chain
* will not be available.
*/
/* -------- IOCTLs for VFIO file descriptor (/dev/vfio/vfio) -------- */
/**
* VFIO_GET_API_VERSION - _IO(VFIO_TYPE, VFIO_BASE + 0)
*
* Report the version of the VFIO API. This allows us to bump the entire
* API version should we later need to add or change features in incompatible
* ways.
* Return: VFIO_API_VERSION
* Availability: Always
*/
#define VFIO_GET_API_VERSION _IO(VFIO_TYPE, VFIO_BASE + 0)
/**
* VFIO_CHECK_EXTENSION - _IOW(VFIO_TYPE, VFIO_BASE + 1, __u32)
*
* Check whether an extension is supported.
* Return: 0 if not supported, 1 (or some other positive integer) if supported.
* Availability: Always
*/
#define VFIO_CHECK_EXTENSION _IO(VFIO_TYPE, VFIO_BASE + 1)
/**
* VFIO_SET_IOMMU - _IOW(VFIO_TYPE, VFIO_BASE + 2, __s32)
*
* Set the iommu to the given type. The type must be supported by an
* iommu driver as verified by calling CHECK_EXTENSION using the same
* type. A group must be set to this file descriptor before this
* ioctl is available. The IOMMU interfaces enabled by this call are
* specific to the value set.
* Return: 0 on success, -errno on failure
* Availability: When VFIO group attached
*/
#define VFIO_SET_IOMMU _IO(VFIO_TYPE, VFIO_BASE + 2)
/* -------- IOCTLs for GROUP file descriptors (/dev/vfio/$GROUP) -------- */
/**
* VFIO_GROUP_GET_STATUS - _IOR(VFIO_TYPE, VFIO_BASE + 3,
* struct vfio_group_status)
*
* Retrieve information about the group. Fills in provided
* struct vfio_group_info. Caller sets argsz.
* Return: 0 on succes, -errno on failure.
* Availability: Always
*/
struct vfio_group_status {
__u32 argsz;
__u32 flags;
#define VFIO_GROUP_FLAGS_VIABLE (1 << 0)
#define VFIO_GROUP_FLAGS_CONTAINER_SET (1 << 1)
};
#define VFIO_GROUP_GET_STATUS _IO(VFIO_TYPE, VFIO_BASE + 3)
/**
* VFIO_GROUP_SET_CONTAINER - _IOW(VFIO_TYPE, VFIO_BASE + 4, __s32)
*
* Set the container for the VFIO group to the open VFIO file
* descriptor provided. Groups may only belong to a single
* container. Containers may, at their discretion, support multiple
* groups. Only when a container is set are all of the interfaces
* of the VFIO file descriptor and the VFIO group file descriptor
* available to the user.
* Return: 0 on success, -errno on failure.
* Availability: Always
*/
#define VFIO_GROUP_SET_CONTAINER _IO(VFIO_TYPE, VFIO_BASE + 4)
/**
* VFIO_GROUP_UNSET_CONTAINER - _IO(VFIO_TYPE, VFIO_BASE + 5)
*
* Remove the group from the attached container. This is the
* opposite of the SET_CONTAINER call and returns the group to
* an initial state. All device file descriptors must be released
* prior to calling this interface. When removing the last group
* from a container, the IOMMU will be disabled and all state lost,
* effectively also returning the VFIO file descriptor to an initial
* state.
* Return: 0 on success, -errno on failure.
* Availability: When attached to container
*/
#define VFIO_GROUP_UNSET_CONTAINER _IO(VFIO_TYPE, VFIO_BASE + 5)
/**
* VFIO_GROUP_GET_DEVICE_FD - _IOW(VFIO_TYPE, VFIO_BASE + 6, char)
*
* Return a new file descriptor for the device object described by
* the provided string. The string should match a device listed in
* the devices subdirectory of the IOMMU group sysfs entry. The
* group containing the device must already be added to this context.
* Return: new file descriptor on success, -errno on failure.
* Availability: When attached to container
*/
#define VFIO_GROUP_GET_DEVICE_FD _IO(VFIO_TYPE, VFIO_BASE + 6)
/* --------------- IOCTLs for DEVICE file descriptors --------------- */
/**
* VFIO_DEVICE_GET_INFO - _IOR(VFIO_TYPE, VFIO_BASE + 7,
* struct vfio_device_info)
*
* Retrieve information about the device. Fills in provided
* struct vfio_device_info. Caller sets argsz.
* Return: 0 on success, -errno on failure.
*/
struct vfio_device_info {
__u32 argsz;
__u32 flags;
#define VFIO_DEVICE_FLAGS_RESET (1 << 0) /* Device supports reset */
#define VFIO_DEVICE_FLAGS_PCI (1 << 1) /* vfio-pci device */
__u32 num_regions; /* Max region index + 1 */
__u32 num_irqs; /* Max IRQ index + 1 */
};
#define VFIO_DEVICE_GET_INFO _IO(VFIO_TYPE, VFIO_BASE + 7)
/*
* Vendor driver using Mediated device framework should provide device_api
* attribute in supported type attribute groups. Device API string should be one
* of the following corresponding to device flags in vfio_device_info structure.
*/
#define VFIO_DEVICE_API_PCI_STRING "vfio-pci"
#define VFIO_DEVICE_API_PLATFORM_STRING "vfio-platform"
#define VFIO_DEVICE_API_AMBA_STRING "vfio-amba"
/**
* VFIO_DEVICE_GET_REGION_INFO - _IOWR(VFIO_TYPE, VFIO_BASE + 8,
* struct vfio_region_info)
*
* Retrieve information about a device region. Caller provides
* struct vfio_region_info with index value set. Caller sets argsz.
* Implementation of region mapping is bus driver specific. This is
* intended to describe MMIO, I/O port, as well as bus specific
* regions (ex. PCI config space). Zero sized regions may be used
* to describe unimplemented regions (ex. unimplemented PCI BARs).
* Return: 0 on success, -errno on failure.
*/
struct vfio_region_info {
__u32 argsz;
__u32 flags;
#define VFIO_REGION_INFO_FLAG_READ (1 << 0) /* Region supports read */
#define VFIO_REGION_INFO_FLAG_WRITE (1 << 1) /* Region supports write */
#define VFIO_REGION_INFO_FLAG_MMAP (1 << 2) /* Region supports mmap */
#define VFIO_REGION_INFO_FLAG_CAPS (1 << 3) /* Info supports caps */
__u32 index; /* Region index */
__u32 cap_offset; /* Offset within info struct of first cap */
__u64 size; /* Region size (bytes) */
__u64 offset; /* Region offset from start of device fd */
};
#define VFIO_DEVICE_GET_REGION_INFO _IO(VFIO_TYPE, VFIO_BASE + 8)
/*
* The sparse mmap capability allows finer granularity of specifying areas
* within a region with mmap support. When specified, the user should only
* mmap the offset ranges specified by the areas array. mmaps outside of the
* areas specified may fail (such as the range covering a PCI MSI-X table) or
* may result in improper device behavior.
*
* The structures below define version 1 of this capability.
*/
#define VFIO_REGION_INFO_CAP_SPARSE_MMAP 1
struct vfio_region_sparse_mmap_area {
__u64 offset; /* Offset of mmap'able area within region */
__u64 size; /* Size of mmap'able area */
};
struct vfio_region_info_cap_sparse_mmap {
struct vfio_info_cap_header header;
__u32 nr_areas;
__u32 reserved;
struct vfio_region_sparse_mmap_area areas[];
};
/*
* The device specific type capability allows regions unique to a specific
* device or class of devices to be exposed. This helps solve the problem for
* vfio bus drivers of defining which region indexes correspond to which region
* on the device, without needing to resort to static indexes, as done by
* vfio-pci. For instance, if we were to go back in time, we might remove
* VFIO_PCI_VGA_REGION_INDEX and let vfio-pci simply define that all indexes
* greater than or equal to VFIO_PCI_NUM_REGIONS are device specific and we'd
* make a "VGA" device specific type to describe the VGA access space. This
* means that non-VGA devices wouldn't need to waste this index, and thus the
* address space associated with it due to implementation of device file
* descriptor offsets in vfio-pci.
*
* The current implementation is now part of the user ABI, so we can't use this
* for VGA, but there are other upcoming use cases, such as opregions for Intel
* IGD devices and framebuffers for vGPU devices. We missed VGA, but we'll
* use this for future additions.
*
* The structure below defines version 1 of this capability.
*/
#define VFIO_REGION_INFO_CAP_TYPE 2
struct vfio_region_info_cap_type {
struct vfio_info_cap_header header;
__u32 type; /* global per bus driver */
__u32 subtype; /* type specific */
};
/**
* VFIO_DEVICE_GET_IRQ_INFO - _IOWR(VFIO_TYPE, VFIO_BASE + 9,
* struct vfio_irq_info)
*
* Retrieve information about a device IRQ. Caller provides
* struct vfio_irq_info with index value set. Caller sets argsz.
* Implementation of IRQ mapping is bus driver specific. Indexes
* using multiple IRQs are primarily intended to support MSI-like
* interrupt blocks. Zero count irq blocks may be used to describe
* unimplemented interrupt types.
*
* The EVENTFD flag indicates the interrupt index supports eventfd based
* signaling.
*
* The MASKABLE flags indicates the index supports MASK and UNMASK
* actions described below.
*
* AUTOMASKED indicates that after signaling, the interrupt line is
* automatically masked by VFIO and the user needs to unmask the line
* to receive new interrupts. This is primarily intended to distinguish
* level triggered interrupts.
*
* The NORESIZE flag indicates that the interrupt lines within the index
* are setup as a set and new subindexes cannot be enabled without first
* disabling the entire index. This is used for interrupts like PCI MSI
* and MSI-X where the driver may only use a subset of the available
* indexes, but VFIO needs to enable a specific number of vectors
* upfront. In the case of MSI-X, where the user can enable MSI-X and
* then add and unmask vectors, it's up to userspace to make the decision
* whether to allocate the maximum supported number of vectors or tear
* down setup and incrementally increase the vectors as each is enabled.
*/
struct vfio_irq_info {
__u32 argsz;
__u32 flags;
#define VFIO_IRQ_INFO_EVENTFD (1 << 0)
#define VFIO_IRQ_INFO_MASKABLE (1 << 1)
#define VFIO_IRQ_INFO_AUTOMASKED (1 << 2)
#define VFIO_IRQ_INFO_NORESIZE (1 << 3)
__u32 index; /* IRQ index */
__u32 count; /* Number of IRQs within this index */
};
#define VFIO_DEVICE_GET_IRQ_INFO _IO(VFIO_TYPE, VFIO_BASE + 9)
/**
* VFIO_DEVICE_SET_IRQS - _IOW(VFIO_TYPE, VFIO_BASE + 10, struct vfio_irq_set)
*
* Set signaling, masking, and unmasking of interrupts. Caller provides
* struct vfio_irq_set with all fields set. 'start' and 'count' indicate
* the range of subindexes being specified.
*
* The DATA flags specify the type of data provided. If DATA_NONE, the
* operation performs the specified action immediately on the specified
* interrupt(s). For example, to unmask AUTOMASKED interrupt [0,0]:
* flags = (DATA_NONE|ACTION_UNMASK), index = 0, start = 0, count = 1.
*
* DATA_BOOL allows sparse support for the same on arrays of interrupts.
* For example, to mask interrupts [0,1] and [0,3] (but not [0,2]):
* flags = (DATA_BOOL|ACTION_MASK), index = 0, start = 1, count = 3,
* data = {1,0,1}
*
* DATA_EVENTFD binds the specified ACTION to the provided __s32 eventfd.
* A value of -1 can be used to either de-assign interrupts if already
* assigned or skip un-assigned interrupts. For example, to set an eventfd
* to be trigger for interrupts [0,0] and [0,2]:
* flags = (DATA_EVENTFD|ACTION_TRIGGER), index = 0, start = 0, count = 3,
* data = {fd1, -1, fd2}
* If index [0,1] is previously set, two count = 1 ioctls calls would be
* required to set [0,0] and [0,2] without changing [0,1].
*
* Once a signaling mechanism is set, DATA_BOOL or DATA_NONE can be used
* with ACTION_TRIGGER to perform kernel level interrupt loopback testing
* from userspace (ie. simulate hardware triggering).
*
* Setting of an event triggering mechanism to userspace for ACTION_TRIGGER
* enables the interrupt index for the device. Individual subindex interrupts
* can be disabled using the -1 value for DATA_EVENTFD or the index can be
* disabled as a whole with: flags = (DATA_NONE|ACTION_TRIGGER), count = 0.
*
* Note that ACTION_[UN]MASK specify user->kernel signaling (irqfds) while
* ACTION_TRIGGER specifies kernel->user signaling.
*/
struct vfio_irq_set {
__u32 argsz;
__u32 flags;
#define VFIO_IRQ_SET_DATA_NONE (1 << 0) /* Data not present */
#define VFIO_IRQ_SET_DATA_BOOL (1 << 1) /* Data is bool (u8) */
#define VFIO_IRQ_SET_DATA_EVENTFD (1 << 2) /* Data is eventfd (s32) */
#define VFIO_IRQ_SET_ACTION_MASK (1 << 3) /* Mask interrupt */
#define VFIO_IRQ_SET_ACTION_UNMASK (1 << 4) /* Unmask interrupt */
#define VFIO_IRQ_SET_ACTION_TRIGGER (1 << 5) /* Trigger interrupt */
__u32 index;
__u32 start;
__u32 count;
__u8 data[];
};
#define VFIO_DEVICE_SET_IRQS _IO(VFIO_TYPE, VFIO_BASE + 10)
#define VFIO_IRQ_SET_DATA_TYPE_MASK (VFIO_IRQ_SET_DATA_NONE | \
VFIO_IRQ_SET_DATA_BOOL | \
VFIO_IRQ_SET_DATA_EVENTFD)
#define VFIO_IRQ_SET_ACTION_TYPE_MASK (VFIO_IRQ_SET_ACTION_MASK | \
VFIO_IRQ_SET_ACTION_UNMASK | \
VFIO_IRQ_SET_ACTION_TRIGGER)
/**
* VFIO_DEVICE_RESET - _IO(VFIO_TYPE, VFIO_BASE + 11)
*
* Reset a device.
*/
#define VFIO_DEVICE_RESET _IO(VFIO_TYPE, VFIO_BASE + 11)
/*
* The VFIO-PCI bus driver makes use of the following fixed region and
* IRQ index mapping. Unimplemented regions return a size of zero.
* Unimplemented IRQ types return a count of zero.
*/
enum {
VFIO_PCI_BAR0_REGION_INDEX,
VFIO_PCI_BAR1_REGION_INDEX,
VFIO_PCI_BAR2_REGION_INDEX,
VFIO_PCI_BAR3_REGION_INDEX,
VFIO_PCI_BAR4_REGION_INDEX,
VFIO_PCI_BAR5_REGION_INDEX,
VFIO_PCI_ROM_REGION_INDEX,
VFIO_PCI_CONFIG_REGION_INDEX,
/*
* Expose VGA regions defined for PCI base class 03, subclass 00.
* This includes I/O port ranges 0x3b0 to 0x3bb and 0x3c0 to 0x3df
* as well as the MMIO range 0xa0000 to 0xbffff. Each implemented
* range is found at it's identity mapped offset from the region
* offset, for example 0x3b0 is region_info.offset + 0x3b0. Areas
* between described ranges are unimplemented.
*/
VFIO_PCI_VGA_REGION_INDEX,
VFIO_PCI_NUM_REGIONS = 9 /* Fixed user ABI, region indexes >=9 use */
/* device specific cap to define content. */
};
enum {
VFIO_PCI_INTX_IRQ_INDEX,
VFIO_PCI_MSI_IRQ_INDEX,
VFIO_PCI_MSIX_IRQ_INDEX,
VFIO_PCI_ERR_IRQ_INDEX,
VFIO_PCI_REQ_IRQ_INDEX,
VFIO_PCI_NUM_IRQS
};
/**
* VFIO_DEVICE_GET_PCI_HOT_RESET_INFO - _IORW(VFIO_TYPE, VFIO_BASE + 12,
* struct vfio_pci_hot_reset_info)
*
* Return: 0 on success, -errno on failure:
* -enospc = insufficient buffer, -enodev = unsupported for device.
*/
struct vfio_pci_dependent_device {
__u32 group_id;
__u16 segment;
__u8 bus;
__u8 devfn; /* Use PCI_SLOT/PCI_FUNC */
};
struct vfio_pci_hot_reset_info {
__u32 argsz;
__u32 flags;
__u32 count;
struct vfio_pci_dependent_device devices[];
};
#define VFIO_DEVICE_GET_PCI_HOT_RESET_INFO _IO(VFIO_TYPE, VFIO_BASE + 12)
/**
* VFIO_DEVICE_PCI_HOT_RESET - _IOW(VFIO_TYPE, VFIO_BASE + 13,
* struct vfio_pci_hot_reset)
*
* Return: 0 on success, -errno on failure.
*/
struct vfio_pci_hot_reset {
__u32 argsz;
__u32 flags;
__u32 count;
__s32 group_fds[];
};
#define VFIO_DEVICE_PCI_HOT_RESET _IO(VFIO_TYPE, VFIO_BASE + 13)
/* -------- API for Type1 VFIO IOMMU -------- */
/**
* VFIO_IOMMU_GET_INFO - _IOR(VFIO_TYPE, VFIO_BASE + 12, struct vfio_iommu_info)
*
* Retrieve information about the IOMMU object. Fills in provided
* struct vfio_iommu_info. Caller sets argsz.
*
* XXX Should we do these by CHECK_EXTENSION too?
*/
struct vfio_iommu_type1_info {
__u32 argsz;
__u32 flags;
#define VFIO_IOMMU_INFO_PGSIZES (1 << 0) /* supported page sizes info */
__u64 iova_pgsizes; /* Bitmap of supported page sizes */
};
#define VFIO_IOMMU_GET_INFO _IO(VFIO_TYPE, VFIO_BASE + 12)
/**
* VFIO_IOMMU_MAP_DMA - _IOW(VFIO_TYPE, VFIO_BASE + 13, struct vfio_dma_map)
*
* Map process virtual addresses to IO virtual addresses using the
* provided struct vfio_dma_map. Caller sets argsz. READ &/ WRITE required.
*/
struct vfio_iommu_type1_dma_map {
__u32 argsz;
__u32 flags;
#define VFIO_DMA_MAP_FLAG_READ (1 << 0) /* readable from device */
#define VFIO_DMA_MAP_FLAG_WRITE (1 << 1) /* writable from device */
__u64 vaddr; /* Process virtual address */
__u64 iova; /* IO virtual address */
__u64 size; /* Size of mapping (bytes) */
};
#define VFIO_IOMMU_MAP_DMA _IO(VFIO_TYPE, VFIO_BASE + 13)
/**
* VFIO_IOMMU_UNMAP_DMA - _IOWR(VFIO_TYPE, VFIO_BASE + 14,
* struct vfio_dma_unmap)
*
* Unmap IO virtual addresses using the provided struct vfio_dma_unmap.
* Caller sets argsz. The actual unmapped size is returned in the size
* field. No guarantee is made to the user that arbitrary unmaps of iova
* or size different from those used in the original mapping call will
* succeed.
*/
struct vfio_iommu_type1_dma_unmap {
__u32 argsz;
__u32 flags;
__u64 iova; /* IO virtual address */
__u64 size; /* Size of mapping (bytes) */
};
#define VFIO_IOMMU_UNMAP_DMA _IO(VFIO_TYPE, VFIO_BASE + 14)
/*
* IOCTLs to enable/disable IOMMU container usage.
* No parameters are supported.
*/
#define VFIO_IOMMU_ENABLE _IO(VFIO_TYPE, VFIO_BASE + 15)
#define VFIO_IOMMU_DISABLE _IO(VFIO_TYPE, VFIO_BASE + 16)
/* -------- Additional API for SPAPR TCE (Server POWERPC) IOMMU -------- */
/*
* The SPAPR TCE DDW info struct provides the information about
* the details of Dynamic DMA window capability.
*
* @pgsizes contains a page size bitmask, 4K/64K/16M are supported.
* @max_dynamic_windows_supported tells the maximum number of windows
* which the platform can create.
* @levels tells the maximum number of levels in multi-level IOMMU tables;
* this allows splitting a table into smaller chunks which reduces
* the amount of physically contiguous memory required for the table.
*/
struct vfio_iommu_spapr_tce_ddw_info {
__u64 pgsizes; /* Bitmap of supported page sizes */
__u32 max_dynamic_windows_supported;
__u32 levels;
};
/*
* The SPAPR TCE info struct provides the information about the PCI bus
* address ranges available for DMA, these values are programmed into
* the hardware so the guest has to know that information.
*
* The DMA 32 bit window start is an absolute PCI bus address.
* The IOVA address passed via map/unmap ioctls are absolute PCI bus
* addresses too so the window works as a filter rather than an offset
* for IOVA addresses.
*
* Flags supported:
* - VFIO_IOMMU_SPAPR_INFO_DDW: informs the userspace that dynamic DMA windows
* (DDW) support is present. @ddw is only supported when DDW is present.
*/
struct vfio_iommu_spapr_tce_info {
__u32 argsz;
__u32 flags;
#define VFIO_IOMMU_SPAPR_INFO_DDW (1 << 0) /* DDW supported */
__u32 dma32_window_start; /* 32 bit window start (bytes) */
__u32 dma32_window_size; /* 32 bit window size (bytes) */
struct vfio_iommu_spapr_tce_ddw_info ddw;
};
#define VFIO_IOMMU_SPAPR_TCE_GET_INFO _IO(VFIO_TYPE, VFIO_BASE + 12)
/*
* EEH PE operation struct provides ways to:
* - enable/disable EEH functionality;
* - unfreeze IO/DMA for frozen PE;
* - read PE state;
* - reset PE;
* - configure PE.
*/
struct vfio_eeh_pe_op {
__u32 argsz;
__u32 flags;
__u32 op;
};
#define VFIO_EEH_PE_DISABLE 0 /* Disable EEH functionality */
#define VFIO_EEH_PE_ENABLE 1 /* Enable EEH functionality */
#define VFIO_EEH_PE_UNFREEZE_IO 2 /* Enable IO for frozen PE */
#define VFIO_EEH_PE_UNFREEZE_DMA 3 /* Enable DMA for frozen PE */
#define VFIO_EEH_PE_GET_STATE 4 /* PE state retrieval */
#define VFIO_EEH_PE_STATE_NORMAL 0 /* PE in functional state */
#define VFIO_EEH_PE_STATE_RESET 1 /* PE reset in progress */
#define VFIO_EEH_PE_STATE_STOPPED 2 /* Stopped DMA and IO */
#define VFIO_EEH_PE_STATE_STOPPED_DMA 4 /* Stopped DMA only */
#define VFIO_EEH_PE_STATE_UNAVAIL 5 /* State unavailable */
#define VFIO_EEH_PE_RESET_DEACTIVATE 5 /* Deassert PE reset */
#define VFIO_EEH_PE_RESET_HOT 6 /* Assert hot reset */
#define VFIO_EEH_PE_RESET_FUNDAMENTAL 7 /* Assert fundamental reset */
#define VFIO_EEH_PE_CONFIGURE 8 /* PE configuration */
#define VFIO_EEH_PE_OP _IO(VFIO_TYPE, VFIO_BASE + 21)
/**
* VFIO_IOMMU_SPAPR_REGISTER_MEMORY - _IOW(VFIO_TYPE, VFIO_BASE + 17, struct vfio_iommu_spapr_register_memory)
*
* Registers user space memory where DMA is allowed. It pins
* user pages and does the locked memory accounting so
* subsequent VFIO_IOMMU_MAP_DMA/VFIO_IOMMU_UNMAP_DMA calls
* get faster.
*/
struct vfio_iommu_spapr_register_memory {
__u32 argsz;
__u32 flags;
__u64 vaddr; /* Process virtual address */
__u64 size; /* Size of mapping (bytes) */
};
#define VFIO_IOMMU_SPAPR_REGISTER_MEMORY _IO(VFIO_TYPE, VFIO_BASE + 17)
/**
* VFIO_IOMMU_SPAPR_UNREGISTER_MEMORY - _IOW(VFIO_TYPE, VFIO_BASE + 18, struct vfio_iommu_spapr_register_memory)
*
* Unregisters user space memory registered with
* VFIO_IOMMU_SPAPR_REGISTER_MEMORY.
* Uses vfio_iommu_spapr_register_memory for parameters.
*/
#define VFIO_IOMMU_SPAPR_UNREGISTER_MEMORY _IO(VFIO_TYPE, VFIO_BASE + 18)
/**
* VFIO_IOMMU_SPAPR_TCE_CREATE - _IOWR(VFIO_TYPE, VFIO_BASE + 19, struct vfio_iommu_spapr_tce_create)
*
* Creates an additional TCE table and programs it (sets a new DMA window)
* to every IOMMU group in the container. It receives page shift, window
* size and number of levels in the TCE table being created.
*
* It allocates and returns an offset on a PCI bus of the new DMA window.
*/
struct vfio_iommu_spapr_tce_create {
__u32 argsz;
__u32 flags;
/* in */
__u32 page_shift;
__u64 window_size;
__u32 levels;
/* out */
__u64 start_addr;
};
#define VFIO_IOMMU_SPAPR_TCE_CREATE _IO(VFIO_TYPE, VFIO_BASE + 19)
/**
* VFIO_IOMMU_SPAPR_TCE_REMOVE - _IOW(VFIO_TYPE, VFIO_BASE + 20, struct vfio_iommu_spapr_tce_remove)
*
* Unprograms a TCE table from all groups in the container and destroys it.
* It receives a PCI bus offset as a window id.
*/
struct vfio_iommu_spapr_tce_remove {
__u32 argsz;
__u32 flags;
/* in */
__u64 start_addr;
};
#define VFIO_IOMMU_SPAPR_TCE_REMOVE _IO(VFIO_TYPE, VFIO_BASE + 20)
/* ***************************************************************** */
#endif /* VFIO_H */
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| byteorder | Folder | 0755 |
|
|
| caif | Folder | 0755 |
|
|
| can | Folder | 0755 |
|
|
| dvb | Folder | 0755 |
|
|
| hdlc | Folder | 0755 |
|
|
| hsi | Folder | 0755 |
|
|
| isdn | Folder | 0755 |
|
|
| mmc | Folder | 0755 |
|
|
| netfilter | Folder | 0755 |
|
|
| netfilter_arp | Folder | 0755 |
|
|
| netfilter_bridge | Folder | 0755 |
|
|
| netfilter_ipv4 | Folder | 0755 |
|
|
| netfilter_ipv6 | Folder | 0755 |
|
|
| nfsd | Folder | 0755 |
|
|
| raid | Folder | 0755 |
|
|
| spi | Folder | 0755 |
|
|
| sunrpc | Folder | 0755 |
|
|
| tc_act | Folder | 0755 |
|
|
| tc_ematch | Folder | 0755 |
|
|
| usb | Folder | 0755 |
|
|
| wimax | Folder | 0755 |
|
|
| a.out.h | File | 7.15 KB | 0644 |
|
| acct.h | File | 3.58 KB | 0644 |
|
| adb.h | File | 1.05 KB | 0644 |
|
| adfs_fs.h | File | 873 B | 0644 |
|
| affs_hardblocks.h | File | 1.45 KB | 0644 |
|
| agpgart.h | File | 3.83 KB | 0644 |
|
| aio_abi.h | File | 3.18 KB | 0644 |
|
| apm_bios.h | File | 3.46 KB | 0644 |
|
| arcfb.h | File | 150 B | 0644 |
|
| atalk.h | File | 960 B | 0644 |
|
| atm.h | File | 7.64 KB | 0644 |
|
| atm_eni.h | File | 585 B | 0644 |
|
| atm_he.h | File | 343 B | 0644 |
|
| atm_idt77105.h | File | 892 B | 0644 |
|
| atm_nicstar.h | File | 1.19 KB | 0644 |
|
| atm_tcp.h | File | 1.52 KB | 0644 |
|
| atm_zatm.h | File | 1.57 KB | 0644 |
|
| atmapi.h | File | 889 B | 0644 |
|
| atmarp.h | File | 1.2 KB | 0644 |
|
| atmbr2684.h | File | 3.13 KB | 0644 |
|
| atmclip.h | File | 513 B | 0644 |
|
| atmdev.h | File | 7.44 KB | 0644 |
|
| atmioc.h | File | 1.55 KB | 0644 |
|
| atmlec.h | File | 2.26 KB | 0644 |
|
| atmmpc.h | File | 4.07 KB | 0644 |
|
| atmppp.h | File | 576 B | 0644 |
|
| atmsap.h | File | 4.79 KB | 0644 |
|
| atmsvc.h | File | 1.75 KB | 0644 |
|
| audit.h | File | 17.83 KB | 0644 |
|
| auto_fs.h | File | 2.53 KB | 0644 |
|
| auto_fs4.h | File | 4.23 KB | 0644 |
|
| auxvec.h | File | 1.4 KB | 0644 |
|
| ax25.h | File | 2.7 KB | 0644 |
|
| b1lli.h | File | 1.62 KB | 0644 |
|
| baycom.h | File | 820 B | 0644 |
|
| beancounter.h | File | 2.38 KB | 0644 |
|
| bfs_fs.h | File | 1.79 KB | 0644 |
|
| binfmts.h | File | 565 B | 0644 |
|
| blkpg.h | File | 1.56 KB | 0644 |
|
| blktrace_api.h | File | 4.38 KB | 0644 |
|
| bpqether.h | File | 952 B | 0644 |
|
| bsg.h | File | 2.37 KB | 0644 |
|
| bt-bmc.h | File | 508 B | 0644 |
|
| btrfs.h | File | 25.07 KB | 0644 |
|
| can.h | File | 5.46 KB | 0644 |
|
| capability.h | File | 10.92 KB | 0644 |
|
| capi.h | File | 2.99 KB | 0644 |
|
| cciss_defs.h | File | 3.14 KB | 0644 |
|
| cciss_ioctl.h | File | 2.63 KB | 0644 |
|
| cdrom.h | File | 28.12 KB | 0644 |
|
| cgroupstats.h | File | 2.1 KB | 0644 |
|
| chio.h | File | 5.16 KB | 0644 |
|
| cm4000_cs.h | File | 1.68 KB | 0644 |
|
| cn_proc.h | File | 3.19 KB | 0644 |
|
| coda.h | File | 17.09 KB | 0644 |
|
| coda_psdev.h | File | 720 B | 0644 |
|
| coff.h | File | 12.12 KB | 0644 |
|
| compat.h | File | 9.63 KB | 0644 |
|
| connector.h | File | 2.14 KB | 0644 |
|
| const.h | File | 673 B | 0644 |
|
| cramfs_fs.h | File | 2.68 KB | 0644 |
|
| cuda.h | File | 842 B | 0644 |
|
| cyclades.h | File | 16.65 KB | 0644 |
|
| cycx_cfm.h | File | 2.86 KB | 0644 |
|
| dcbnl.h | File | 24.19 KB | 0644 |
|
| dccp.h | File | 6.22 KB | 0644 |
|
| devlink.h | File | 7.09 KB | 0644 |
|
| dlm.h | File | 2.43 KB | 0644 |
|
| dlm_device.h | File | 2.42 KB | 0644 |
|
| dlm_netlink.h | File | 1.04 KB | 0644 |
|
| dlm_plock.h | File | 831 B | 0644 |
|
| dlmconstants.h | File | 4.9 KB | 0644 |
|
| dm-ioctl.h | File | 10.55 KB | 0644 |
|
| dm-log-userspace.h | File | 14.82 KB | 0644 |
|
| dn.h | File | 4.42 KB | 0644 |
|
| dqblk_xfs.h | File | 8.72 KB | 0644 |
|
| edd.h | File | 5.41 KB | 0644 |
|
| efs_fs_sb.h | File | 2.11 KB | 0644 |
|
| elf-em.h | File | 1.83 KB | 0644 |
|
| elf-fdpic.h | File | 1.04 KB | 0644 |
|
| elf.h | File | 12.63 KB | 0644 |
|
| elfcore.h | File | 2.86 KB | 0644 |
|
| errno.h | File | 23 B | 0644 |
|
| errqueue.h | File | 1.1 KB | 0644 |
|
| ethtool.h | File | 68.76 KB | 0644 |
|
| eventpoll.h | File | 1.76 KB | 0644 |
|
| fadvise.h | File | 855 B | 0644 |
|
| falloc.h | File | 1.98 KB | 0644 |
|
| fanotify.h | File | 3.52 KB | 0644 |
|
| fb.h | File | 16 KB | 0644 |
|
| fcntl.h | File | 2.16 KB | 0644 |
|
| fd.h | File | 11.31 KB | 0644 |
|
| fdreg.h | File | 5.23 KB | 0644 |
|
| fib_rules.h | File | 1.57 KB | 0644 |
|
| fiemap.h | File | 2.65 KB | 0644 |
|
| filter.h | File | 3.53 KB | 0644 |
|
| firewire-cdev.h | File | 42.86 KB | 0644 |
|
| firewire-constants.h | File | 3.16 KB | 0644 |
|
| flat.h | File | 2.04 KB | 0644 |
|
| fou.h | File | 617 B | 0644 |
|
| fs.h | File | 9.84 KB | 0644 |
|
| fsl_hypervisor.h | File | 7.05 KB | 0644 |
|
| fuse.h | File | 16.22 KB | 0644 |
|
| futex.h | File | 4.81 KB | 0644 |
|
| gameport.h | File | 834 B | 0644 |
|
| gen_stats.h | File | 1.48 KB | 0644 |
|
| genetlink.h | File | 1.85 KB | 0644 |
|
| gfs2_ondisk.h | File | 12 KB | 0644 |
|
| gigaset_dev.h | File | 1.35 KB | 0644 |
|
| hdlc.h | File | 574 B | 0644 |
|
| hdlcdrv.h | File | 2.78 KB | 0644 |
|
| hdreg.h | File | 22.11 KB | 0644 |
|
| hid.h | File | 1.79 KB | 0644 |
|
| hiddev.h | File | 6.13 KB | 0644 |
|
| hidraw.h | File | 1.41 KB | 0644 |
|
| hpet.h | File | 680 B | 0644 |
|
| hw_breakpoint.h | File | 679 B | 0644 |
|
| hyperv.h | File | 10.22 KB | 0644 |
|
| hysdn_if.h | File | 1.29 KB | 0644 |
|
| i2c-dev.h | File | 2.37 KB | 0644 |
|
| i2c.h | File | 6.61 KB | 0644 |
|
| i2o-dev.h | File | 11.22 KB | 0644 |
|
| i8k.h | File | 1.4 KB | 0644 |
|
| icmp.h | File | 2.82 KB | 0644 |
|
| icmpv6.h | File | 3.82 KB | 0644 |
|
| if.h | File | 9.36 KB | 0644 |
|
| if_addr.h | File | 1.7 KB | 0644 |
|
| if_addrlabel.h | File | 658 B | 0644 |
|
| if_alg.h | File | 816 B | 0644 |
|
| if_arcnet.h | File | 3.63 KB | 0644 |
|
| if_arp.h | File | 6.3 KB | 0644 |
|
| if_bonding.h | File | 4.11 KB | 0644 |
|
| if_bridge.h | File | 6.46 KB | 0644 |
|
| if_cablemodem.h | File | 922 B | 0644 |
|
| if_eql.h | File | 1.26 KB | 0644 |
|
| if_ether.h | File | 7.13 KB | 0644 |
|
| if_fc.h | File | 1.63 KB | 0644 |
|
| if_fddi.h | File | 3.6 KB | 0644 |
|
| if_frad.h | File | 2.89 KB | 0644 |
|
| if_hippi.h | File | 4.07 KB | 0644 |
|
| if_infiniband.h | File | 1.13 KB | 0644 |
|
| if_link.h | File | 19.1 KB | 0644 |
|
| if_ltalk.h | File | 147 B | 0644 |
|
| if_macsec.h | File | 5.42 KB | 0644 |
|
| if_packet.h | File | 7.15 KB | 0644 |
|
| if_phonet.h | File | 361 B | 0644 |
|
| if_plip.h | File | 596 B | 0644 |
|
| if_ppp.h | File | 29 B | 0644 |
|
| if_pppol2tp.h | File | 3.18 KB | 0644 |
|
| if_pppox.h | File | 4.64 KB | 0644 |
|
| if_slip.h | File | 809 B | 0644 |
|
| if_team.h | File | 2.48 KB | 0644 |
|
| if_tun.h | File | 3.77 KB | 0644 |
|
| if_tunnel.h | File | 3 KB | 0644 |
|
| if_vlan.h | File | 1.69 KB | 0644 |
|
| if_x25.h | File | 817 B | 0644 |
|
| ife.h | File | 288 B | 0644 |
|
| igmp.h | File | 2.88 KB | 0644 |
|
| in.h | File | 9.15 KB | 0644 |
|
| in6.h | File | 6.99 KB | 0644 |
|
| in_route.h | File | 873 B | 0644 |
|
| inet_diag.h | File | 3.23 KB | 0644 |
|
| inotify.h | File | 3.09 KB | 0644 |
|
| input.h | File | 32.47 KB | 0644 |
|
| ioctl.h | File | 100 B | 0644 |
|
| ip.h | File | 3.47 KB | 0644 |
|
| ip6_tunnel.h | File | 1.67 KB | 0644 |
|
| ip_vs.h | File | 12.71 KB | 0644 |
|
| ipc.h | File | 1.99 KB | 0644 |
|
| ipmi.h | File | 15.8 KB | 0644 |
|
| ipmi_msgdefs.h | File | 4.37 KB | 0644 |
|
| ipsec.h | File | 884 B | 0644 |
|
| ipv6.h | File | 3.25 KB | 0644 |
|
| ipv6_route.h | File | 1.69 KB | 0644 |
|
| ipx.h | File | 1.79 KB | 0644 |
|
| irda.h | File | 7.31 KB | 0644 |
|
| irqnr.h | File | 104 B | 0644 |
|
| isdn.h | File | 5.58 KB | 0644 |
|
| isdn_divertif.h | File | 1.11 KB | 0644 |
|
| isdn_ppp.h | File | 1.82 KB | 0644 |
|
| isdnif.h | File | 2.25 KB | 0644 |
|
| iso_fs.h | File | 6.29 KB | 0644 |
|
| ivtv.h | File | 2.89 KB | 0644 |
|
| ivtvfb.h | File | 1.12 KB | 0644 |
|
| ixjuser.h | File | 24.53 KB | 0644 |
|
| jffs2.h | File | 6.85 KB | 0644 |
|
| joystick.h | File | 3.5 KB | 0644 |
|
| kd.h | File | 6.04 KB | 0644 |
|
| kdev_t.h | File | 320 B | 0644 |
|
| kernel-page-flags.h | File | 767 B | 0644 |
|
| kernel.h | File | 375 B | 0644 |
|
| kernelcapi.h | File | 956 B | 0644 |
|
| kexec.h | File | 1.92 KB | 0644 |
|
| keyboard.h | File | 12.42 KB | 0644 |
|
| keyctl.h | File | 2.98 KB | 0644 |
|
| kvm.h | File | 33.97 KB | 0644 |
|
| kvm_para.h | File | 819 B | 0644 |
|
| l2tp.h | File | 4.98 KB | 0644 |
|
| libc-compat.h | File | 3.44 KB | 0644 |
|
| limits.h | File | 874 B | 0644 |
|
| llc.h | File | 2.98 KB | 0644 |
|
| loop.h | File | 2.31 KB | 0644 |
|
| lp.h | File | 3.72 KB | 0644 |
|
| lwtunnel.h | File | 839 B | 0644 |
|
| magic.h | File | 2.91 KB | 0644 |
|
| major.h | File | 4.48 KB | 0644 |
|
| map_to_7segment.h | File | 7.02 KB | 0644 |
|
| matroxfb.h | File | 1.37 KB | 0644 |
|
| mdio.h | File | 13.74 KB | 0644 |
|
| media.h | File | 3.5 KB | 0644 |
|
| mei.h | File | 4.62 KB | 0644 |
|
| memfd.h | File | 186 B | 0644 |
|
| mempolicy.h | File | 2.35 KB | 0644 |
|
| meye.h | File | 2.41 KB | 0644 |
|
| mii.h | File | 7.76 KB | 0644 |
|
| minix_fs.h | File | 2.01 KB | 0644 |
|
| mman.h | File | 230 B | 0644 |
|
| mmtimer.h | File | 2.01 KB | 0644 |
|
| mpls.h | File | 1.33 KB | 0644 |
|
| mqueue.h | File | 2.01 KB | 0644 |
|
| mroute.h | File | 4.12 KB | 0644 |
|
| mroute6.h | File | 4.08 KB | 0644 |
|
| msdos_fs.h | File | 6.28 KB | 0644 |
|
| msg.h | File | 2.55 KB | 0644 |
|
| mtio.h | File | 7.92 KB | 0644 |
|
| n_r3964.h | File | 2.29 KB | 0644 |
|
| nbd.h | File | 2.34 KB | 0644 |
|
| ncp.h | File | 4.94 KB | 0644 |
|
| ncp_fs.h | File | 3.27 KB | 0644 |
|
| ncp_mount.h | File | 2.06 KB | 0644 |
|
| ncp_no.h | File | 651 B | 0644 |
|
| ndctl.h | File | 8.79 KB | 0644 |
|
| neighbour.h | File | 4.17 KB | 0644 |
|
| net.h | File | 1.97 KB | 0644 |
|
| net_dropmon.h | File | 1.07 KB | 0644 |
|
| net_namespace.h | File | 609 B | 0644 |
|
| net_tstamp.h | File | 4.06 KB | 0644 |
|
| netconf.h | File | 423 B | 0644 |
|
| netdevice.h | File | 1.46 KB | 0644 |
|
| netfilter.h | File | 1.56 KB | 0644 |
|
| netfilter_arp.h | File | 380 B | 0644 |
|
| netfilter_bridge.h | File | 768 B | 0644 |
|
| netfilter_decnet.h | File | 1.83 KB | 0644 |
|
| netfilter_ipv4.h | File | 2.02 KB | 0644 |
|
| netfilter_ipv6.h | File | 2.04 KB | 0644 |
|
| netlink.h | File | 6.22 KB | 0644 |
|
| netlink_diag.h | File | 1.33 KB | 0644 |
|
| netrom.h | File | 744 B | 0644 |
|
| nfc.h | File | 7.72 KB | 0644 |
|
| nfs.h | File | 4.31 KB | 0644 |
|
| nfs2.h | File | 1.37 KB | 0644 |
|
| nfs3.h | File | 2.24 KB | 0644 |
|
| nfs4.h | File | 5.95 KB | 0644 |
|
| nfs4_mount.h | File | 1.83 KB | 0644 |
|
| nfs_fs.h | File | 1.51 KB | 0644 |
|
| nfs_idmap.h | File | 2.19 KB | 0644 |
|
| nfs_mount.h | File | 2.32 KB | 0644 |
|
| nfsacl.h | File | 605 B | 0644 |
|
| nl80211.h | File | 226.07 KB | 0644 |
|
| nubus.h | File | 8.17 KB | 0644 |
|
| nvme_ioctl.h | File | 1.55 KB | 0644 |
|
| nvram.h | File | 469 B | 0644 |
|
| omap3isp.h | File | 20.19 KB | 0644 |
|
| omapfb.h | File | 5.72 KB | 0644 |
|
| oom.h | File | 448 B | 0644 |
|
| openvswitch.h | File | 31.79 KB | 0644 |
|
| packet_diag.h | File | 1.5 KB | 0644 |
|
| param.h | File | 78 B | 0644 |
|
| parport.h | File | 3.56 KB | 0644 |
|
| patchkey.h | File | 829 B | 0644 |
|
| pci.h | File | 1.29 KB | 0644 |
|
| pci_regs.h | File | 49.96 KB | 0644 |
|
| perf_event.h | File | 29.53 KB | 0644 |
|
| personality.h | File | 1.99 KB | 0644 |
|
| pfkeyv2.h | File | 9.91 KB | 0644 |
|
| pg.h | File | 2.23 KB | 0644 |
|
| phantom.h | File | 1.55 KB | 0644 |
|
| phonet.h | File | 4.51 KB | 0644 |
|
| pkt_cls.h | File | 11.51 KB | 0644 |
|
| pkt_sched.h | File | 19.75 KB | 0644 |
|
| pktcdvd.h | File | 2.56 KB | 0644 |
|
| pmu.h | File | 5.13 KB | 0644 |
|
| poll.h | File | 22 B | 0644 |
|
| posix_types.h | File | 1.01 KB | 0644 |
|
| ppdev.h | File | 3.07 KB | 0644 |
|
| ppp-comp.h | File | 2.41 KB | 0644 |
|
| ppp-ioctl.h | File | 5.29 KB | 0644 |
|
| ppp_defs.h | File | 4.93 KB | 0644 |
|
| pps.h | File | 4.06 KB | 0644 |
|
| prctl.h | File | 6.71 KB | 0644 |
|
| psample.h | File | 735 B | 0644 |
|
| ptp_clock.h | File | 4.69 KB | 0644 |
|
| ptrace.h | File | 3.2 KB | 0644 |
|
| qnx4_fs.h | File | 2.21 KB | 0644 |
|
| qnxtypes.h | File | 561 B | 0644 |
|
| quota.h | File | 5.78 KB | 0644 |
|
| radeonfb.h | File | 297 B | 0644 |
|
| random.h | File | 1.2 KB | 0644 |
|
| raw.h | File | 302 B | 0644 |
|
| rds.h | File | 7.9 KB | 0644 |
|
| reboot.h | File | 1.25 KB | 0644 |
|
| reiserfs_fs.h | File | 712 B | 0644 |
|
| reiserfs_xattr.h | File | 464 B | 0644 |
|
| resource.h | File | 2.09 KB | 0644 |
|
| rfkill.h | File | 3.5 KB | 0644 |
|
| romfs_fs.h | File | 1.15 KB | 0644 |
|
| rose.h | File | 2.12 KB | 0644 |
|
| route.h | File | 2.21 KB | 0644 |
|
| rtc.h | File | 3.85 KB | 0644 |
|
| rtnetlink.h | File | 16.63 KB | 0644 |
|
| scc.h | File | 4.43 KB | 0644 |
|
| sched.h | File | 2.23 KB | 0644 |
|
| screen_info.h | File | 2.36 KB | 0644 |
|
| sctp.h | File | 29.29 KB | 0644 |
|
| sdla.h | File | 2.71 KB | 0644 |
|
| seccomp.h | File | 1.79 KB | 0644 |
|
| securebits.h | File | 2.58 KB | 0644 |
|
| selinux_netlink.h | File | 1.11 KB | 0644 |
|
| sem.h | File | 2.52 KB | 0644 |
|
| serial.h | File | 3.04 KB | 0644 |
|
| serial_core.h | File | 5.11 KB | 0644 |
|
| serial_reg.h | File | 15.66 KB | 0644 |
|
| serio.h | File | 1.77 KB | 0644 |
|
| shm.h | File | 2.17 KB | 0644 |
|
| signal.h | File | 171 B | 0644 |
|
| signalfd.h | File | 1.07 KB | 0644 |
|
| snmp.h | File | 12.38 KB | 0644 |
|
| sock_diag.h | File | 431 B | 0644 |
|
| socket.h | File | 738 B | 0644 |
|
| sockios.h | File | 5.89 KB | 0644 |
|
| som.h | File | 5.35 KB | 0644 |
|
| sonet.h | File | 2.17 KB | 0644 |
|
| sonypi.h | File | 5.12 KB | 0644 |
|
| sound.h | File | 1.15 KB | 0644 |
|
| soundcard.h | File | 44.96 KB | 0644 |
|
| stat.h | File | 1 KB | 0644 |
|
| stddef.h | File | 1 B | 0644 |
|
| string.h | File | 175 B | 0644 |
|
| suspend_ioctls.h | File | 1.34 KB | 0644 |
|
| swab.h | File | 6.36 KB | 0644 |
|
| synclink.h | File | 8.71 KB | 0644 |
|
| sysctl.h | File | 25.46 KB | 0644 |
|
| sysinfo.h | File | 986 B | 0644 |
|
| target_core_user.h | File | 3.65 KB | 0644 |
|
| taskstats.h | File | 6.83 KB | 0644 |
|
| tcp.h | File | 5.93 KB | 0644 |
|
| tcp_metrics.h | File | 1.45 KB | 0644 |
|
| telephony.h | File | 8.84 KB | 0644 |
|
| termios.h | File | 443 B | 0644 |
|
| time.h | File | 1.54 KB | 0644 |
|
| times.h | File | 215 B | 0644 |
|
| timex.h | File | 6.17 KB | 0644 |
|
| tiocl.h | File | 1.63 KB | 0644 |
|
| tipc.h | File | 5.44 KB | 0644 |
|
| tipc_config.h | File | 14.1 KB | 0644 |
|
| toshiba.h | File | 1.24 KB | 0644 |
|
| tty.h | File | 1.33 KB | 0644 |
|
| tty_flags.h | File | 3.66 KB | 0644 |
|
| types.h | File | 1.4 KB | 0644 |
|
| udf_fs_i.h | File | 634 B | 0644 |
|
| udp.h | File | 1.28 KB | 0644 |
|
| uhid.h | File | 2.15 KB | 0644 |
|
| uinput.h | File | 5 KB | 0644 |
|
| uio.h | File | 668 B | 0644 |
|
| ultrasound.h | File | 4.39 KB | 0644 |
|
| un.h | File | 239 B | 0644 |
|
| unistd.h | File | 157 B | 0644 |
|
| unix_diag.h | File | 1.1 KB | 0644 |
|
| usbdevice_fs.h | File | 6.56 KB | 0644 |
|
| userfaultfd.h | File | 6.59 KB | 0644 |
|
| utime.h | File | 152 B | 0644 |
|
| utsname.h | File | 606 B | 0644 |
|
| uuid.h | File | 1.5 KB | 0644 |
|
| uvcvideo.h | File | 1.6 KB | 0644 |
|
| v4l2-common.h | File | 2.38 KB | 0644 |
|
| v4l2-controls.h | File | 37.34 KB | 0644 |
|
| v4l2-dv-timings.h | File | 25.75 KB | 0644 |
|
| v4l2-mediabus.h | File | 4.55 KB | 0644 |
|
| v4l2-subdev.h | File | 5.27 KB | 0644 |
|
| version.h | File | 255 B | 0644 |
|
| veth.h | File | 402 B | 0644 |
|
| vfio.h | File | 24.12 KB | 0644 |
|
| vhost.h | File | 7.13 KB | 0644 |
|
| videodev2.h | File | 67.41 KB | 0644 |
|
| virtio_9p.h | File | 1.99 KB | 0644 |
|
| virtio_balloon.h | File | 3.71 KB | 0644 |
|
| virtio_blk.h | File | 5.2 KB | 0644 |
|
| virtio_config.h | File | 3.24 KB | 0644 |
|
| virtio_console.h | File | 2.94 KB | 0644 |
|
| virtio_gpu.h | File | 7.84 KB | 0644 |
|
| virtio_ids.h | File | 2.32 KB | 0644 |
|
| virtio_input.h | File | 2.45 KB | 0644 |
|
| virtio_net.h | File | 9.4 KB | 0644 |
|
| virtio_pci.h | File | 6.63 KB | 0644 |
|
| virtio_ring.h | File | 6.18 KB | 0644 |
|
| virtio_rng.h | File | 265 B | 0644 |
|
| virtio_scsi.h | File | 5.13 KB | 0644 |
|
| virtio_types.h | File | 2.11 KB | 0644 |
|
| virtio_vsock.h | File | 3.01 KB | 0644 |
|
| vm_sockets.h | File | 5.13 KB | 0644 |
|
| vsockmon.h | File | 1.78 KB | 0644 |
|
| vt.h | File | 3.05 KB | 0644 |
|
| vtpm_proxy.h | File | 1.62 KB | 0644 |
|
| vzcalluser.h | File | 4.11 KB | 0644 |
|
| vzctl_netstat.h | File | 2.56 KB | 0644 |
|
| vzctl_venet.h | File | 641 B | 0644 |
|
| vzctl_veth.h | File | 758 B | 0644 |
|
| vziptable_defs.h | File | 3.03 KB | 0644 |
|
| vzlist.h | File | 845 B | 0644 |
|
| wait.h | File | 600 B | 0644 |
|
| wanrouter.h | File | 390 B | 0644 |
|
| watchdog.h | File | 2.22 KB | 0644 |
|
| wimax.h | File | 8.17 KB | 0644 |
|
| wireless.h | File | 41.65 KB | 0644 |
|
| x25.h | File | 3.42 KB | 0644 |
|
| xattr.h | File | 2.53 KB | 0644 |
|
| xfrm.h | File | 11 KB | 0644 |
|