!C99Shell v. 2.0 [PHP 7 Update] [25.02.2019]!

Software: Apache. PHP/7.3.33 

uname -a: Linux acloudg.aryanict.com 4.18.0-513.9.1.lve.el8.x86_64 #1 SMP Mon Dec 4 15:01:22 UTC
2023 x86_64
 

uid=1095(katebhospital) gid=1098(katebhospital) groups=1098(katebhospital) 

Safe-mode: OFF (not secure)

/usr/include/linux/   drwxr-xr-x
Free 293.4 GB of 429.69 GB (68.28%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     iommu.h (4.79 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
/*
 * IOMMU user API definitions
 */

#ifndef _IOMMU_H
#define _IOMMU_H

#include <linux/types.h>

#define IOMMU_FAULT_PERM_READ    (1 << 0) /* read */
#define IOMMU_FAULT_PERM_WRITE    (1 << 1) /* write */
#define IOMMU_FAULT_PERM_EXEC    (1 << 2) /* exec */
#define IOMMU_FAULT_PERM_PRIV    (1 << 3) /* privileged */

/* Generic fault types, can be expanded IRQ remapping fault */
enum iommu_fault_type {
    IOMMU_FAULT_DMA_UNRECOV = 1,    /* unrecoverable fault */
    IOMMU_FAULT_PAGE_REQ,        /* page request fault */
};

enum iommu_fault_reason {
    IOMMU_FAULT_REASON_UNKNOWN = 0,

    /* Could not access the PASID table (fetch caused external abort) */
    IOMMU_FAULT_REASON_PASID_FETCH,

    /* PASID entry is invalid or has configuration errors */
    IOMMU_FAULT_REASON_BAD_PASID_ENTRY,

    /*
     * PASID is out of range (e.g. exceeds the maximum PASID
     * supported by the IOMMU) or disabled.
     */
    IOMMU_FAULT_REASON_PASID_INVALID,

    /*
     * An external abort occurred fetching (or updating) a translation
     * table descriptor
     */
    IOMMU_FAULT_REASON_WALK_EABT,

    /*
     * Could not access the page table entry (Bad address),
     * actual translation fault
     */
    IOMMU_FAULT_REASON_PTE_FETCH,

    /* Protection flag check failed */
    IOMMU_FAULT_REASON_PERMISSION,

    /* access flag check failed */
    IOMMU_FAULT_REASON_ACCESS,

    /* Output address of a translation stage caused Address Size fault */
    IOMMU_FAULT_REASON_OOR_ADDRESS,
};

/**
 * struct iommu_fault_unrecoverable - Unrecoverable fault data
 * @reason: reason of the fault, from &enum iommu_fault_reason
 * @flags: parameters of this fault (IOMMU_FAULT_UNRECOV_* values)
 * @pasid: Process Address Space ID
 * @perm: requested permission access using by the incoming transaction
 *        (IOMMU_FAULT_PERM_* values)
 * @addr: offending page address
 * @fetch_addr: address that caused a fetch abort, if any
 */
struct iommu_fault_unrecoverable {
    __u32    reason;
#define IOMMU_FAULT_UNRECOV_PASID_VALID        (1 << 0)
#define IOMMU_FAULT_UNRECOV_ADDR_VALID        (1 << 1)
#define IOMMU_FAULT_UNRECOV_FETCH_ADDR_VALID    (1 << 2)
    __u32    flags;
    __u32    pasid;
    __u32    perm;
    __u64    addr;
    __u64    fetch_addr;
};

/**
 * struct iommu_fault_page_request - Page Request data
 * @flags: encodes whether the corresponding fields are valid and whether this
 *         is the last page in group (IOMMU_FAULT_PAGE_REQUEST_* values).
 *         When IOMMU_FAULT_PAGE_RESPONSE_NEEDS_PASID is set, the page response
 *         must have the same PASID value as the page request. When it is clear,
 *         the page response should not have a PASID.
 * @pasid: Process Address Space ID
 * @grpid: Page Request Group Index
 * @perm: requested page permissions (IOMMU_FAULT_PERM_* values)
 * @addr: page address
 * @private_data: device-specific private information
 */
struct iommu_fault_page_request {
#define IOMMU_FAULT_PAGE_REQUEST_PASID_VALID    (1 << 0)
#define IOMMU_FAULT_PAGE_REQUEST_LAST_PAGE    (1 << 1)
#define IOMMU_FAULT_PAGE_REQUEST_PRIV_DATA    (1 << 2)
#define IOMMU_FAULT_PAGE_RESPONSE_NEEDS_PASID    (1 << 3)
    __u32    flags;
    __u32    pasid;
    __u32    grpid;
    __u32    perm;
    __u64    addr;
    __u64    private_data[2];
};

/**
 * struct iommu_fault - Generic fault data
 * @type: fault type from &enum iommu_fault_type
 * @padding: reserved for future use (should be zero)
 * @event: fault event, when @type is %IOMMU_FAULT_DMA_UNRECOV
 * @prm: Page Request message, when @type is %IOMMU_FAULT_PAGE_REQ
 * @padding2: sets the fault size to allow for future extensions
 */
struct iommu_fault {
    __u32    type;
    __u32    padding;
    union {
        struct iommu_fault_unrecoverable event;
        struct iommu_fault_page_request prm;
        __u8 padding2[56];
    };
};

/**
 * enum iommu_page_response_code - Return status of fault handlers
 * @IOMMU_PAGE_RESP_SUCCESS: Fault has been handled and the page tables
 *    populated, retry the access. This is "Success" in PCI PRI.
 * @IOMMU_PAGE_RESP_FAILURE: General error. Drop all subsequent faults from
 *    this device if possible. This is "Response Failure" in PCI PRI.
 * @IOMMU_PAGE_RESP_INVALID: Could not handle this fault, don't retry the
 *    access. This is "Invalid Request" in PCI PRI.
 */
enum iommu_page_response_code {
    IOMMU_PAGE_RESP_SUCCESS = 0,
    IOMMU_PAGE_RESP_INVALID,
    IOMMU_PAGE_RESP_FAILURE,
};

/**
 * struct iommu_page_response - Generic page response information
 * @argsz: User filled size of this data
 * @version: API version of this structure
 * @flags: encodes whether the corresponding fields are valid
 *         (IOMMU_FAULT_PAGE_RESPONSE_* values)
 * @pasid: Process Address Space ID
 * @grpid: Page Request Group Index
 * @code: response code from &enum iommu_page_response_code
 */
struct iommu_page_response {
    __u32    argsz;
#define IOMMU_PAGE_RESP_VERSION_1    1
    __u32    version;
#define IOMMU_PAGE_RESP_PASID_VALID    (1 << 0)
    __u32    flags;
    __u32    pasid;
    __u32    grpid;
    __u32    code;
};

#endif /* _IOMMU_H */

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.0 [PHP 7 Update] [25.02.2019] maintained by KaizenLouie | C99Shell Github | Generation time: 0.0995 ]--