Provide the map/unmap function pointers so we can use different iommus (Intel IOMMU or AMD iommu) on the same platform
Details
Details
Diff Detail
Diff Detail
- Lint
Lint Skipped - Unit
Tests Skipped
Event Timeline
sys/dev/iommu/iommu.h | ||
---|---|---|
119 | No, I mean that we put a pointer to the struct ops, and then specific IOMMU driver defines const struct ops, pointer to which is stored in the domain. This is how we typically handle all virtual tables. |
Comment Actions
make domain_map/domain_unmap static
sys/x86/iommu/intel_idpgtbl.c | ||
---|---|---|
688 | they are in different file. So I added domain_pgtbl_init() |
Comment Actions
I am looking at all lines like this:
iodom = (struct iommu_domain *)domain;
and think we need macros like DMAR2IODOM etc.