protection_domainRegular
4.4: ✅struct protection_domain {
struct list_head list;
struct list_head dev_list;
struct iommu_domain domain;
spinlock_t lock;
struct mutex api_lock;
u16 id;
int mode;
u64 *pt_root;
int glx;
u64 *gcr3_tbl;
long unsigned int flags;
bool updated;
unsigned int dev_cnt;
unsigned int dev_iommu[32];
void *priv;
};
4.8: ✅struct protection_domain {
struct list_head list;
struct list_head dev_list;
struct iommu_domain domain;
spinlock_t lock;
struct mutex api_lock;
u16 id;
int mode;
u64 *pt_root;
int glx;
u64 *gcr3_tbl;
long unsigned int flags;
bool updated;
unsigned int dev_cnt;
unsigned int dev_iommu[32];
};
4.10: ✅struct protection_domain {
struct list_head list;
struct list_head dev_list;
struct iommu_domain domain;
spinlock_t lock;
struct mutex api_lock;
u16 id;
int mode;
u64 *pt_root;
int glx;
u64 *gcr3_tbl;
long unsigned int flags;
bool updated;
unsigned int dev_cnt;
unsigned int dev_iommu[32];
};
4.13: ✅struct protection_domain {
struct list_head list;
struct list_head dev_list;
struct iommu_domain domain;
spinlock_t lock;
struct mutex api_lock;
u16 id;
int mode;
u64 *pt_root;
int glx;
u64 *gcr3_tbl;
long unsigned int flags;
bool updated;
unsigned int dev_cnt;
unsigned int dev_iommu[32];
};
4.15: ✅struct protection_domain {
struct list_head list;
struct list_head dev_list;
struct iommu_domain domain;
spinlock_t lock;
struct mutex api_lock;
u16 id;
int mode;
u64 *pt_root;
int glx;
u64 *gcr3_tbl;
long unsigned int flags;
bool updated;
unsigned int dev_cnt;
unsigned int dev_iommu[32];
};
4.18: ✅struct protection_domain {
struct list_head list;
struct list_head dev_list;
struct iommu_domain domain;
spinlock_t lock;
struct mutex api_lock;
u16 id;
int mode;
u64 *pt_root;
int glx;
u64 *gcr3_tbl;
long unsigned int flags;
bool updated;
unsigned int dev_cnt;
unsigned int dev_iommu[32];
};
5.0: ✅struct protection_domain {
struct list_head list;
struct list_head dev_list;
struct iommu_domain domain;
spinlock_t lock;
struct mutex api_lock;
u16 id;
int mode;
u64 *pt_root;
int glx;
u64 *gcr3_tbl;
long unsigned int flags;
bool updated;
unsigned int dev_cnt;
unsigned int dev_iommu[32];
};
5.3: ✅struct protection_domain {
struct list_head list;
struct list_head dev_list;
struct iommu_domain domain;
spinlock_t lock;
struct mutex api_lock;
u16 id;
int mode;
u64 *pt_root;
int glx;
u64 *gcr3_tbl;
long unsigned int flags;
bool updated;
unsigned int dev_cnt;
unsigned int dev_iommu[32];
};
5.4: ✅struct protection_domain {
struct list_head list;
struct list_head dev_list;
struct iommu_domain domain;
spinlock_t lock;
struct mutex api_lock;
u16 id;
int mode;
u64 *pt_root;
int glx;
u64 *gcr3_tbl;
long unsigned int flags;
unsigned int dev_cnt;
unsigned int dev_iommu[32];
};
5.8: ✅struct protection_domain {
struct list_head dev_list;
struct iommu_domain domain;
spinlock_t lock;
u16 id;
atomic64_t pt_root;
int glx;
u64 *gcr3_tbl;
long unsigned int flags;
unsigned int dev_cnt;
unsigned int dev_iommu[32];
};
5.11: ✅struct protection_domain {
struct list_head dev_list;
struct iommu_domain domain;
spinlock_t lock;
u16 id;
atomic64_t pt_root;
int glx;
u64 *gcr3_tbl;
long unsigned int flags;
unsigned int dev_cnt;
unsigned int dev_iommu[32];
};
5.13: ✅struct protection_domain {
struct list_head dev_list;
struct iommu_domain domain;
struct amd_io_pgtable iop;
spinlock_t lock;
u16 id;
int glx;
u64 *gcr3_tbl;
long unsigned int flags;
unsigned int dev_cnt;
unsigned int dev_iommu[32];
};
5.15: ✅struct protection_domain {
struct list_head dev_list;
struct iommu_domain domain;
struct amd_io_pgtable iop;
spinlock_t lock;
u16 id;
int glx;
u64 *gcr3_tbl;
long unsigned int flags;
unsigned int dev_cnt;
unsigned int dev_iommu[32];
};
5.19: ✅struct protection_domain {
struct list_head dev_list;
struct iommu_domain domain;
struct amd_io_pgtable iop;
spinlock_t lock;
u16 id;
int glx;
u64 *gcr3_tbl;
long unsigned int flags;
unsigned int dev_cnt;
unsigned int dev_iommu[32];
};
6.2: ✅struct protection_domain {
struct list_head dev_list;
struct iommu_domain domain;
struct amd_io_pgtable iop;
spinlock_t lock;
u16 id;
int glx;
u64 *gcr3_tbl;
long unsigned int flags;
unsigned int dev_cnt;
unsigned int dev_iommu[32];
};
6.5: ✅struct protection_domain {
struct list_head dev_list;
struct iommu_domain domain;
struct amd_io_pgtable iop;
spinlock_t lock;
u16 id;
int glx;
int nid;
u64 *gcr3_tbl;
long unsigned int flags;
unsigned int dev_cnt;
unsigned int dev_iommu[32];
};
6.8: ✅struct protection_domain {
struct list_head dev_list;
struct iommu_domain domain;
struct amd_io_pgtable iop;
spinlock_t lock;
u16 id;
int glx;
int nid;
u64 *gcr3_tbl;
long unsigned int flags;
bool dirty_tracking;
unsigned int dev_cnt;
unsigned int dev_iommu[32];
};
arm64: Absent ⚠️
armhf: Absent ⚠️
ppc64el: Absent ⚠️
riscv64: Absent ⚠️
aws: ✅struct protection_domain {
struct list_head list;
struct list_head dev_list;
struct iommu_domain domain;
spinlock_t lock;
struct mutex api_lock;
u16 id;
int mode;
u64 *pt_root;
int glx;
u64 *gcr3_tbl;
long unsigned int flags;
unsigned int dev_cnt;
unsigned int dev_iommu[32];
};
azure: ✅struct protection_domain {
struct list_head list;
struct list_head dev_list;
struct iommu_domain domain;
spinlock_t lock;
struct mutex api_lock;
u16 id;
int mode;
u64 *pt_root;
int glx;
u64 *gcr3_tbl;
long unsigned int flags;
unsigned int dev_cnt;
unsigned int dev_iommu[32];
};
gcp: ✅struct protection_domain {
struct list_head list;
struct list_head dev_list;
struct iommu_domain domain;
spinlock_t lock;
struct mutex api_lock;
u16 id;
int mode;
u64 *pt_root;
int glx;
u64 *gcr3_tbl;
long unsigned int flags;
unsigned int dev_cnt;
unsigned int dev_iommu[32];
};
lowlatency: ✅struct protection_domain {
struct list_head list;
struct list_head dev_list;
struct iommu_domain domain;
spinlock_t lock;
struct mutex api_lock;
u16 id;
int mode;
u64 *pt_root;
int glx;
u64 *gcr3_tbl;
long unsigned int flags;
unsigned int dev_cnt;
unsigned int dev_iommu[32];
};
Regular
4.4 and 4.8 ⚠️void *priv
4.8 and 4.10 ✅
4.10 and 4.13 ✅
4.13 and 4.15 ✅
4.15 and 4.18 ✅
4.18 and 5.0 ✅
5.0 and 5.3 ✅
5.3 and 5.4 ⚠️bool updated
5.4 and 5.8 ⚠️struct list_head list
struct mutex api_lock
int mode
u64 *pt_root ➡️ atomic64_t pt_root
5.8 and 5.11 ✅
5.11 and 5.13 ⚠️struct amd_io_pgtable iop
atomic64_t pt_root
5.13 and 5.15 ✅
5.15 and 5.19 ✅
5.19 and 6.2 ✅
6.2 and 6.5 ⚠️int nid
6.5 and 6.8 ⚠️bool dirty_tracking
generic and aws ✅
generic and azure ✅
generic and gcp ✅
generic and lowlatency ✅