iommu: add support for iotlb shootdowns and write-buffer flushing
authorAditya Basu <mitthu@google.com>
Sat, 17 Aug 2019 01:00:03 +0000 (21:00 -0400)
committerBarret Rhoden <brho@cs.berkeley.edu>
Mon, 19 Aug 2019 16:39:09 +0000 (12:39 -0400)
commit5ce53a77c69ef399b97a61b23c81f3961a2ae6ce
tree5071c3eb86544af5e798ec134d2d2a6b957c1dff
parent33f5b5ea25d3034479eef509ad08e999dcd86369
iommu: add support for iotlb shootdowns and write-buffer flushing

* Add fields to struct iommu which are set during initialization
* Add the necessary functions
* Will also need another function to perform global iotlb flushes
* Also look into Queue Invalidation (QI) for device IOTLBs. Currently we
  do not allow device IOTLBs to be populated. For device IOTLBs we need
  to set the TRANS_TYPE to 0x01.

Signed-off-by: Aditya Basu <mitthu@google.com>
Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
kern/arch/x86/intel-iommu.h
kern/drivers/dev/iommu.c