On Tue, Jun 28, 2022, Manali Shukla wrote: > If __setup_vm() is changed to setup_vm(), KUT will build tests with PT_USER_MASK > set on all PTEs. It is a better idea to move nNPT tests to their own file so > that tests don't need to fiddle with page tables midway. > > The quick approach to do this would be to turn the current main into a small > helper, without calling __setup_vm() from helper. > > setup_mmu_range() function in vm.c was modified to allocate new user pages to > implement nested page table. > > Current implementation of nested page table does the page table build up > statically with 2048 PTEs and one pml4 entry. With newly implemented routine, > nested page table can be implemented dynamically based on the RAM size of VM > which enables us to have separate memory ranges to test various npt test cases. > > Based on this implementation, minimal changes were required to be done in > below mentioned existing APIs: > npt_get_pde(), npt_get_pte(), npt_get_pdpe(). I have a variety of nits and minor complaints, but no need to send another version, I'll fix things up as I go. I'm going to send Paolo a pull request for KUT, there's a big pile of outstanding changes that have been languishing.