protection_domain
static inline struct protection_domain *to_pdomain(struct iommu_domain *dom)
return container_of(dom, struct protection_domain, domain);
void amd_iommu_domain_set_pgtable(struct protection_domain *domain,
struct protection_domain *domain, u16 domid,
struct protection_domain *protection_domain_alloc(void);
void amd_iommu_domain_flush_pages(struct protection_domain *domain,
struct protection_domain *parent; /* nest parent domain for this viommu */
PT_IOMMU_CHECK_DOMAIN(struct protection_domain, iommu, domain);
PT_IOMMU_CHECK_DOMAIN(struct protection_domain, amdv1.iommu, domain);
PT_IOMMU_CHECK_DOMAIN(struct protection_domain, amdv2.iommu, domain);
struct protection_domain *domain; /* Domain the device is bound to */
static void domain_flush_complete(struct protection_domain *domain)
static int iommu_flush_pages_v1_hdom_ids(struct protection_domain *pdom,
static int domain_flush_pages_v2(struct protection_domain *pdom,
static int domain_flush_pages_v1(struct protection_domain *pdom,
static void __domain_flush_pages(struct protection_domain *domain,
void amd_iommu_domain_flush_pages(struct protection_domain *domain,
static void amd_iommu_domain_flush_all(struct protection_domain *domain)
struct protection_domain *domain, u16 domid,
struct protection_domain *domain, u16 domid,
struct protection_domain *domain,
struct protection_domain *domain = dev_data->domain;
struct protection_domain *pdom)
struct protection_domain *pdom)
struct protection_domain *pdom)
struct protection_domain *pdom)
struct protection_domain *domain)
static inline bool pdom_is_v2_pgtbl_mode(struct protection_domain *pdom)
struct protection_domain *domain = dev_data->domain;
static inline bool pdom_is_in_pt_mode(struct protection_domain *pdom)
static inline bool pdom_is_sva_capable(struct protection_domain *pdom)
static void protection_domain_init(struct protection_domain *domain)
struct protection_domain *protection_domain_alloc(void)
struct protection_domain *domain;
struct protection_domain *pdom =
container_of(iommupt, struct protection_domain, iommu);
struct protection_domain *pdom =
container_of(iommu_table, struct protection_domain, iommu);
struct protection_domain *domain = to_pdomain(dom);
struct protection_domain *dom = to_pdomain(domain);
struct protection_domain *dom = to_pdomain(domain);
struct protection_domain *domain;
struct protection_domain *domain;
struct protection_domain *domain = to_pdomain(dom);
static struct protection_domain identity_domain;
struct protection_domain *domain = to_pdomain(dom);
struct protection_domain *pdomain = to_pdomain(domain);
struct protection_domain *pdom = to_pdomain(parent);
struct protection_domain *pdom = aviommu->parent;
struct protection_domain *parent;
struct protection_domain *sva_pdom = to_pdomain(domain);
struct protection_domain *sva_pdom;
struct protection_domain *sva_pdom = to_pdomain(domain);
struct protection_domain *pdom;
static void remove_pdom_dev_pasid(struct protection_domain *pdom,
struct protection_domain *sva_pdom;
sva_pdom = container_of(mn, struct protection_domain, mn);
struct protection_domain *sva_pdom;
sva_pdom = container_of(mn, struct protection_domain, mn);