linux/drivers/iommu/iommufd/ioas.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright (c) 2021-2022, NVIDIA CORPORATION & AFFILIATES
 */
#include <linux/interval_tree.h>
#include <linux/iommufd.h>
#include <linux/iommu.h>
#include <uapi/linux/iommufd.h>

#include "io_pagetable.h"

void iommufd_ioas_destroy(struct iommufd_object *obj)
{}

struct iommufd_ioas *iommufd_ioas_alloc(struct iommufd_ctx *ictx)
{}

int iommufd_ioas_alloc_ioctl(struct iommufd_ucmd *ucmd)
{}

int iommufd_ioas_iova_ranges(struct iommufd_ucmd *ucmd)
{}

static int iommufd_ioas_load_iovas(struct rb_root_cached *itree,
				   struct iommu_iova_range __user *ranges,
				   u32 num)
{}

int iommufd_ioas_allow_iovas(struct iommufd_ucmd *ucmd)
{}

static int conv_iommu_prot(u32 map_flags)
{}

int iommufd_ioas_map(struct iommufd_ucmd *ucmd)
{}

int iommufd_ioas_copy(struct iommufd_ucmd *ucmd)
{}

int iommufd_ioas_unmap(struct iommufd_ucmd *ucmd)
{}

int iommufd_option_rlimit_mode(struct iommu_option *cmd,
			       struct iommufd_ctx *ictx)
{}

static int iommufd_ioas_option_huge_pages(struct iommu_option *cmd,
					  struct iommufd_ioas *ioas)
{}

int iommufd_ioas_option(struct iommufd_ucmd *ucmd)
{}