On Tue, Aug 10, 2021 at 11:25:27AM +0200, Paolo Bonzini wrote: > On 10/08/21 09:40, Yu Zhang wrote: > > About "host can't easily mirror L1's desired paging mode", could you please elaborate? > > Thanks! > > Shadow pgae tables in KVM will always have 3 levels on 32-bit machines and > 4/5 levels on 64-bit machines. L1 instead might have any number of levels > from 2 to 5 (though of course not more than the host has). Thanks Paolo. I guess it's because, unlike EPT which are with either 4 or 5 levels, NPT's level can range from 2 to 5, depending on the host paging mode... > > Therefore, when shadowing 32-bit NPT page tables, KVM has to add extra fixed > levels on top of those that it's shadowing. See mmu_alloc_direct_roots for > the code. So when shadowing NPTs(can be 2/3 levels, depending on the paging mode in L1), and if L0 Linux is running in 4/5 level mode, extra levels of paging structures is needed in the shadow NPT. But shadow EPT does not have such annoyance. Is above understanding correct? B.R. Yu