Re: [PATCH 2/2] KVM: MMU: Use base_role.nxe for mmu.nx

Marcelo Tosatti
2010-09-15T14:48:18Z

On Wed, Sep 15, 2010 at 10:48:33AM +0200, Roedel, Joerg wrote:
> On Tue, Sep 14, 2010 at 06:08:37PM -0400, Marcelo Tosatti wrote:
> >
> > For tdp better set base_role.nxe to zero, otherwise duplicate tdp
> > pagetables can be created if the guest switches between nx/non-nx.
> >
>
> This does not work because bit 63 is marked as reserved if base_role.nxe
> is 0. If the walk_addr_generic function then runs with tdp enabled it
> would report a set nx bit as a rsvd fault.

Ah, OK.

> We also can't use is_nx() in those path because it does not distinguish
> between l1 and l2 nx. Are there guests that switch the efer.nx bit
> regularly enough so that it matters? If so I would suggest to drop this
> patch and keep mmu.nx.

Well, i don't think it would be a common scenario. Ignore me.