CVSROOT:        /cvs
Module name:    src
Changes by:     o...@cvs.openbsd.org    2009/03/10 17:28:42

Modified files:
        sys/arch/amd64/pci: iommu.c 

Log message:
First step in cleaning up amd64 iommu.

Firstly, don't keep identical data for each of the GARTs (we keep them
in sync, but there is one per cpu socket), all that varies is the
pci_tag_t, so just keep an array of those and have the rest of the
information once.

Secondly, don't keep the softc as a global, use the _cookie field of the
dmatag_t, that's what it's there for.

Finally, use dmamap_map to map the page tables, instead of the direct NC
map.  This is because later changes to support PAT will be a lot easier
with one direct map (where we change the cacheability if needed), since
otherwise it's just asking for illegal cache aliases.

More changes will be upcoming.

Tested by a few people, with an without bigmem, thanks to those.

weingart@ liked the direction this is going, marco@ and kettenis@ oked it.

Reply via email to