Rusty Russell wrote:
quoted
You can't just do this in tlb flush?
I don't think so. The problem is that lguest tracks 4 toplevels, using random
replacement. This cache is indexed by cr3 value.
Lguest assumes it's told about all pte removals or changes, but simple
additions get faulted in. If a pgdir page gets reused we'll potentially have
stale values from its previous life as a pgdir, no?
Yes, but when you get a tlb flush hypercall, couldn't you also look up
the corresponding shadow pte and zap it so that it will get repopulated
next time around? And a full tlb flush would just zap the entire
shadow. After all, the shadow pagetable is just a glorified
software-managed tlb...
J