Can register addresses conversion go through iommu too? probably not..

ckim at ckim at
Thu Sep 30 20:49:59 EDT 2021

I see, Thanks a lot! I remember having read about SR-IOV long time ago.


Chan Kim


From: FMDF <fmdefrancesco at> 
Sent: Friday, October 1, 2021 8:41 AM
To: ckim at
Cc: kernelnewbies <kernelnewbies at>
Subject: Re: Can register addresses conversion go through iommu too? probably not..


On Thu, 30 Sep 2021, 08:54 , <ckim at <mailto:ckim at> > wrote:

[If] the OS is running in virtualized environment (a hypervisor under it), this kernel virtual address should go under conversion twice 

1. virtual to physical by OS  (this physical is not actually physical, an intermediate physical?)

2. intermediate physical to real physical

I thought these two conversions are done by kernel or hypervisor software because iommu is for address translation for the addresses that the device “uses(or generates)”, not for the kernel to access the device itself. 

Is my understanding correct?

Something similar to what you describe happens with old/deprecated technologies. For example, with Full virtualization I/O operations need to go through two software layers.


Virtual Function I/O (VFIO) exposes direct device access to user space in a secure memory (IOMMU) protected environment. With VFIO, a VM Guest can directly access hardware devices on the VM Host Server. This technique improves performance, if compared both to Full virtualization and Paravirtualization. However, with VFIO, devices cannot be shared with multiple VM guests. 


Single Root I/O Virtualization (SR-IOV) combines the benefits of performance gains of VFIO and the ability to share a device with several VM Guests (but it requires special hardware that must be capable to appear to two or more VM guests as different devices. 




Fabio M. De Francesco


P.S.: For further information about Linux virtualization capabilities, please read

Any help will be appreciated.

Thank you!

Chan Kim

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the Kernelnewbies mailing list