|
@@ -185,16 +185,6 @@ static int rwbf_quirk;
|
|
|
static int force_on = 0;
|
|
|
int intel_iommu_tboot_noforce;
|
|
|
|
|
|
-/*
|
|
|
- * 0: Present
|
|
|
- * 1-11: Reserved
|
|
|
- * 12-63: Context Ptr (12 - (haw-1))
|
|
|
- * 64-127: Reserved
|
|
|
- */
|
|
|
-struct root_entry {
|
|
|
- u64 lo;
|
|
|
- u64 hi;
|
|
|
-};
|
|
|
#define ROOT_ENTRY_NR (VTD_PAGE_SIZE/sizeof(struct root_entry))
|
|
|
|
|
|
/*
|
|
@@ -220,21 +210,6 @@ static phys_addr_t root_entry_uctp(struct root_entry *re)
|
|
|
|
|
|
return re->hi & VTD_PAGE_MASK;
|
|
|
}
|
|
|
-/*
|
|
|
- * low 64 bits:
|
|
|
- * 0: present
|
|
|
- * 1: fault processing disable
|
|
|
- * 2-3: translation type
|
|
|
- * 12-63: address space root
|
|
|
- * high 64 bits:
|
|
|
- * 0-2: address width
|
|
|
- * 3-6: aval
|
|
|
- * 8-23: domain id
|
|
|
- */
|
|
|
-struct context_entry {
|
|
|
- u64 lo;
|
|
|
- u64 hi;
|
|
|
-};
|
|
|
|
|
|
static inline void context_clear_pasid_enable(struct context_entry *context)
|
|
|
{
|
|
@@ -261,7 +236,7 @@ static inline bool __context_present(struct context_entry *context)
|
|
|
return (context->lo & 1);
|
|
|
}
|
|
|
|
|
|
-static inline bool context_present(struct context_entry *context)
|
|
|
+bool context_present(struct context_entry *context)
|
|
|
{
|
|
|
return context_pasid_enabled(context) ?
|
|
|
__context_present(context) :
|
|
@@ -788,8 +763,8 @@ static void domain_update_iommu_cap(struct dmar_domain *domain)
|
|
|
domain->iommu_superpage = domain_update_iommu_superpage(NULL);
|
|
|
}
|
|
|
|
|
|
-static inline struct context_entry *iommu_context_addr(struct intel_iommu *iommu,
|
|
|
- u8 bus, u8 devfn, int alloc)
|
|
|
+struct context_entry *iommu_context_addr(struct intel_iommu *iommu, u8 bus,
|
|
|
+ u8 devfn, int alloc)
|
|
|
{
|
|
|
struct root_entry *root = &iommu->root_entry[bus];
|
|
|
struct context_entry *context;
|