Changeset View
Changeset View
Standalone View
Standalone View
head/sys/x86/iommu/intel_dmar.h
Show First 20 Lines • Show All 85 Lines • ▼ Show 20 Lines | |||||
#define DMAR_DOMAIN_PGUNLOCK(dom) VM_OBJECT_WUNLOCK((dom)->pgtbl_obj) | #define DMAR_DOMAIN_PGUNLOCK(dom) VM_OBJECT_WUNLOCK((dom)->pgtbl_obj) | ||||
#define DMAR_DOMAIN_ASSERT_PGLOCKED(dom) \ | #define DMAR_DOMAIN_ASSERT_PGLOCKED(dom) \ | ||||
VM_OBJECT_ASSERT_WLOCKED((dom)->pgtbl_obj) | VM_OBJECT_ASSERT_WLOCKED((dom)->pgtbl_obj) | ||||
#define DMAR_DOMAIN_LOCK(dom) mtx_lock(&(dom)->iodom.lock) | #define DMAR_DOMAIN_LOCK(dom) mtx_lock(&(dom)->iodom.lock) | ||||
#define DMAR_DOMAIN_UNLOCK(dom) mtx_unlock(&(dom)->iodom.lock) | #define DMAR_DOMAIN_UNLOCK(dom) mtx_unlock(&(dom)->iodom.lock) | ||||
#define DMAR_DOMAIN_ASSERT_LOCKED(dom) mtx_assert(&(dom)->iodom.lock, MA_OWNED) | #define DMAR_DOMAIN_ASSERT_LOCKED(dom) mtx_assert(&(dom)->iodom.lock, MA_OWNED) | ||||
#define DMAR2IOMMU(dmar) &((dmar)->iommu) | |||||
#define IOMMU2DMAR(dmar) \ | |||||
__containerof((dmar), struct dmar_unit, iommu) | |||||
#define DOM2IODOM(domain) &((domain)->iodom) | |||||
#define IODOM2DOM(domain) \ | |||||
__containerof((domain), struct dmar_domain, iodom) | |||||
#define CTX2IOCTX(ctx) &((ctx)->context) | |||||
#define IOCTX2CTX(ctx) \ | |||||
__containerof((ctx), struct dmar_ctx, context) | |||||
#define CTX2DOM(ctx) IODOM2DOM((ctx)->context.domain) | |||||
#define CTX2DMAR(ctx) (CTX2DOM(ctx)->dmar) | |||||
#define DOM2DMAR(domain) ((domain)->dmar) | |||||
struct dmar_msi_data { | struct dmar_msi_data { | ||||
int irq; | int irq; | ||||
int irq_rid; | int irq_rid; | ||||
struct resource *irq_res; | struct resource *irq_res; | ||||
void *intr_handle; | void *intr_handle; | ||||
int (*handler)(void *); | int (*handler)(void *); | ||||
int msi_data_reg; | int msi_data_reg; | ||||
int msi_addr_reg; | int msi_addr_reg; | ||||
▲ Show 20 Lines • Show All 342 Lines • Show Last 20 Lines |