From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: Re: [PATCH v3] x86/EPT: work around hardware erratum setting A bit Date: Wed, 30 Sep 2015 13:07:25 +0100 Message-ID: <560BD07D.30402@citrix.com> References: <560BE55602000078000A711F@prv-mh.provo.novell.com> <560BCBC2.6040105@citrix.com> <560BEB9302000078000A717C@prv-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1ZhGAU-0007eu-M9 for xen-devel@lists.xenproject.org; Wed, 30 Sep 2015 12:07:30 +0000 In-Reply-To: <560BEB9302000078000A717C@prv-mh.provo.novell.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Jan Beulich Cc: Kevin Tian , Wei Liu , George Dunlap , Kai Huang , Ross Lagerwall , Jun Nakajima , xen-devel List-Id: xen-devel@lists.xenproject.org On 30/09/15 13:02, Jan Beulich wrote: >>>> On 30.09.15 at 13:47, wrote: >> On 30/09/15 12:36, Jan Beulich wrote: >>> Since commit 191b3f3344ee ("p2m/ept: enable PML in p2m-ept for >>> log-dirty"), the A and D bits of EPT paging entries are set >>> unconditionally, regardless of whether PML is enabled or not. This >>> causes a regression in Xen 4.6 on some processors due to Intel Errata >>> AVR41 -- HVM guests get severe memory corruption when the A bit is set >>> due to incorrect TLB flushing on mov to cr3. The errata affects the Atom >>> C2000 family (Avoton). >>> >>> To fix, do not set the A bit on this processor family. >>> >>> Signed-off-by: Ross Lagerwall >>> >>> Move feature suppression to feature detection code. Add command line >>> override. >>> >>> Signed-off-by: Jan Beulich >>> >>> --- a/docs/misc/xen-command-line.markdown >>> +++ b/docs/misc/xen-command-line.markdown >>> @@ -705,19 +705,28 @@ virtualization, to allow the L1 hypervis >>> does not provide VM\_ENTRY\_LOAD\_GUEST\_PAT. >>> >>> ### ept (Intel) >>> -> `= List of ( pml )` >>> +> `= List of ( pml | ad )` >> Please keep the type annotations. Future sub-options might not be >> boolean parameters. > None of the three other examples (efi, iommu, and pci) have such > annotations. If anything, I'd lean towards the way pci is being > described. Oh - they are missing. Going with the PCI route seems like a good way forwards. > >> Otherwise, Reviewed-by: Andrew Cooper > Let me know. Given I was mistaken about the other tags, consider this an unconditional review, although a modification towards the PCI route would be nice. ~Andrew