kernel code reading: iommu_group init on powernv

On PowerNV, two steps for iommu_group.
   Create iommu_group for each PE
   Add devices in each iommu_group
kernel code reading: TCE setup/use on powernv

On PowerNV platform, the iommu_table is TCE.

This file focus on how TCE table is initialized during the bootup. And then
how one device request a DMA region and do the iommu map in the run time.
kernel code reading: vfio

Re-read the vfio generic code.

Complete the vfio_ops/vfio_group_ops.
kernel code reading: vfio_group is created in vfio_pci

Each vfio_device could have its own ops, even in one vfio_group.
kernel code reading: perm bit for pci config space and caps
Merge branch 'local_copy' into kernel