I am trying to learn about INTEL VT-D, I've read that root table has 256 entries, with each root table points to furhter context table with 256 entries each, where each context table contains second level translation. Unfortunately I am unable to figure out the exact relationship between root table and context table. Do we have 256 * 256 context table entries ? or each root table points to same context table. By looking into following figure,
It says each context table has different bus number, but i am unable to relate to it, also it would be great if someone tells about second level translation, I am fimilar with MMU paging but VT-D paging is really confusing. I have gone through VT-D specs but still some concepts are not clear which I described above.