On Tue, Jul 14, 2020 at 11:59 AM Sean Christopherson <sean.j.christopherson@xxxxxxxxx> wrote: > > On Tue, Jul 14, 2020 at 11:55:45AM -0700, Jim Mattson wrote: > > On Mon, Jul 13, 2020 at 6:57 PM Sean Christopherson > > <sean.j.christopherson@xxxxxxxxx> wrote: > > > > > > Don't attempt to load PDPTRs if EFER.LME=1, i.e. if 64-bit mode is > > > enabled. A recent change to reload the PDTPRs when CR0.CD or CR0.NW is > > > toggled botched the EFER.LME handling and sends KVM down the PDTPR path > > > when is_paging() is true, i.e. when the guest toggles CD/NW in 64-bit > > > mode. > > > > Oops! > > > > I don't think "is_paging()" is relevant here, so much as "EFER.LME=1." > > As you note below, KVM *should* go down the PDPTR path when > > is_paging() is true and EFER.LME=0. > > It's relevant for the EFER.LME=1 case as it's used to detect CR0.PG 0->1. > > Though maybe we're in violent agreement? We're in agreement conceptually, but I find your original text lacking in clarity. :-)