The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/dev/qat/qat_api/include/icp_sal_iommu.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /* SPDX-License-Identifier: BSD-3-Clause */
    2 /* Copyright(c) 2007-2022 Intel Corporation */
    3 /* $FreeBSD$ */
    4 /**
    5  ***************************************************************************
    6  * @file icp_sal_iommu.h
    7  *
    8  * @ingroup SalUser
    9  *
   10  * Sal iommu wrapper functions.
   11  *
   12  ***************************************************************************/
   13 
   14 #ifndef ICP_SAL_IOMMU_H
   15 #define ICP_SAL_IOMMU_H
   16 
   17 /*************************************************************************
   18   * @ingroup Sal
   19   * @description
   20   *   Function returns page_size rounded size for iommu remapping
   21   *
   22   * @assumptions
   23   *      None
   24   * @sideEffects
   25   *      None
   26   * @reentrant
   27   *      No
   28   * @threadSafe
   29   *      No
   30   *
   31   * @param[in] size           Minimum required size.
   32   *
   33   * @retval    page_size rounded size for iommu remapping.
   34   *
   35   *************************************************************************/
   36 size_t icp_sal_iommu_get_remap_size(size_t size);
   37 
   38 /*************************************************************************
   39   * @ingroup Sal
   40   * @description
   41   *   Function adds an entry into iommu remapping table
   42   *
   43   * @assumptions
   44   *      None
   45   * @sideEffects
   46   *      None
   47   * @reentrant
   48   *      No
   49   * @threadSafe
   50   *      No
   51   *
   52   * @param[in] phaddr         Host physical address.
   53   * @param[in] iova           Guest physical address.
   54   * @param[in] size           Size of the remapped region.
   55   *
   56   * @retval CPA_STATUS_SUCCESS        No error
   57   * @retval CPA_STATUS_FAIL           Operation failed
   58   *
   59   *************************************************************************/
   60 CpaStatus icp_sal_iommu_map(Cpa64U phaddr, Cpa64U iova, size_t size);
   61 
   62 /*************************************************************************
   63   * @ingroup Sal
   64   * @description
   65   *   Function removes an entry from iommu remapping table
   66   *
   67   * @assumptions
   68   *      None
   69   * @sideEffects
   70   *      None
   71   * @reentrant
   72   *      No
   73   * @threadSafe
   74   *      No
   75   *
   76   * @param[in] iova           Guest physical address to be removed.
   77   * @param[in] size           Size of the remapped region.
   78   *
   79   * @retval CPA_STATUS_SUCCESS        No error
   80   * @retval CPA_STATUS_FAIL           Operation failed
   81   *
   82   *************************************************************************/
   83 CpaStatus icp_sal_iommu_unmap(Cpa64U iova, size_t size);
   84 #endif

Cache object: 0077a5cffa1db3dde9dbfcdcf28062dd


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.