#
9c4f78ec |
|
12-Mar-2018 |
John Grossman <johngro@google.com> |
[iommu][ihda] Update Intel HDA driver to use IOMMU/BTI Update the Intel HDA driver to start using the IOMMU and BTI primatives now being exposed by zircon. This introduces some new internal utility classes (PinnedVMOs) and eliminates a number of others. It also takes care of some log standing TODOs (eg; how do we pin our pages?) Also, do a general cleanup pass on some of the style in this driver. It was written before many utility classes and libraries, and so it was not taking advantage of some of the runtime safety these classes can provide. In specific... ++ Raw handles are no longer used, everything is managed using libzx now. ++ fbl::VmoMapper and fbl::VmarManager are now used to manage register mapping and to corral all mapped registers into a single sub-vmar in an attempt to be kind to the page table entry allocator in the kernel. ++ The use of AllocChecker has been restored. This code had been moved up into the garnet layer for a while and therefor stopped using AllocChecker. Now that it is back in zircon, best practice is to check for allocation failure and handle it gracefully instead of allowing programs to terminate if allocation fails. Change-Id: I1ca483fb70fe85650b8ba576f5e234a869f9ce9e
|