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

From: Roedel, Joerg
Date: Wed Sep 15 2010 - 04:51:58 EST


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.
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.

Joerg

--
AMD Operating System Research Center

Advanced Micro Devices GmbH Einsteinring 24 85609 Dornach
General Managers: Alberto Bozzo, Andrew Bowd
Registration: Dornach, Landkr. Muenchen; Registerger. Muenchen, HRB Nr. 43632

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/