freebsd-skq/sys/x86/iommu
Konstantin Belousov 1abfd35537 Split the DMAR unit domains and contexts. Domains carry address space
and related data structures.  Contexts attach requests initiators to
domains.  There is still 1:1 correspondence between contexts and
domains on the running system, since only busdma currently allocates
them, using dmar_get_ctx_for_dev().

Large part of the change is formal rename of the ctx to domain, but
patch also reworks the context allocation and free to allow for
independent domain creation.

The helper dmar_move_ctx_to_domain() is introduced for future use, to
reassign request initiator from one domain to another.  The hard issue
which is not yet resolved with the context move is proper handling (or
reserving) RMRR entries in the destination domain as required by ACPI
DMAR table for moved context.

Tested by:	pho
Sponsored by:	The FreeBSD Foundation
2015-06-26 07:01:29 +00:00
..
busdma_dmar.c Split the DMAR unit domains and contexts. Domains carry address space 2015-06-26 07:01:29 +00:00
busdma_dmar.h
intel_ctx.c Split the DMAR unit domains and contexts. Domains carry address space 2015-06-26 07:01:29 +00:00
intel_dmar.h Split the DMAR unit domains and contexts. Domains carry address space 2015-06-26 07:01:29 +00:00
intel_drv.c Split the DMAR unit domains and contexts. Domains carry address space 2015-06-26 07:01:29 +00:00
intel_fault.c Use VT-d interrupt remapping block (IR) to perform FSB messages 2015-03-19 13:57:47 +00:00
intel_gas.c Split the DMAR unit domains and contexts. Domains carry address space 2015-06-26 07:01:29 +00:00
intel_idpgtbl.c Split the DMAR unit domains and contexts. Domains carry address space 2015-06-26 07:01:29 +00:00
intel_intrmap.c Use VT-d interrupt remapping block (IR) to perform FSB messages 2015-03-19 13:57:47 +00:00
intel_qi.c Split the DMAR unit domains and contexts. Domains carry address space 2015-06-26 07:01:29 +00:00
intel_quirks.c Use VT-d interrupt remapping block (IR) to perform FSB messages 2015-03-19 13:57:47 +00:00
intel_reg.h Provide definitions for all descriptors types in the DMAR invalidation 2015-03-19 13:05:55 +00:00
intel_utils.c Split the DMAR unit domains and contexts. Domains carry address space 2015-06-26 07:01:29 +00:00
iommu_intrmap.h Use VT-d interrupt remapping block (IR) to perform FSB messages 2015-03-19 13:57:47 +00:00