All of lore.kernel.org
 help / color / mirror / Atom feed
From: Julien Grall <julien.grall@arm.com>
To: xen-devel@lists.xenproject.org
Cc: andre.przywara@arm.com, Julien Grall <julien.grall@arm.com>,
	sstabellini@kernel.org
Subject: [PATCH for-4.12 0/8] xen/arm: Workaround for Cortex-A76 erratum 1165522
Date: Wed, 28 Nov 2018 16:49:31 +0000	[thread overview]
Message-ID: <20181128164939.8329-1-julien.grall@arm.com> (raw)

Hi all,

Early version of Cortex-A76 can end-up with corrupt TLBs if they
speculate an AT instruction while the S1/S2 system registers are in an
inconsistent state.

This can happen during guest context switch and when invalidating the
TLBs for other than the current VMID.

The workaround implemented in Xen will:
    - Use an empty stage-2 with a reserved VMID while context
      switching between 2 guests
    - Use an empty stage-2 with the VMID where TLBs need to
      be flushed

Cheers,

Julien Grall (8):
  xen/arm: Only set necessary flags when initializing HCR_EL2
  xen/arm: p2m: Provide an helper to generate the VTTBR
  xen/arm: p2m: Introduce an helper to allocate the root page-table
  xen/arm: domain_build: Don't switch to the guest P2M when copying data
  xen/arm: p2m: Only use isb() when it is necessary
  xen/arm: Implement workaround for Cortex-A76 erratum 1165522
  xen/arm: p2m: Clean-up headers included and order them alphabetically
  DO NOT APPLY Allow testing the new AT speculate workaround code

 docs/misc/arm/silicon-errata.txt |   1 +
 xen/arch/arm/cpuerrata.c         |  16 +++++
 xen/arch/arm/domain.c            |   8 ++-
 xen/arch/arm/domain_build.c      |  13 ----
 xen/arch/arm/p2m.c               | 138 ++++++++++++++++++++++++++++++++-------
 xen/arch/arm/traps.c             |   8 ++-
 xen/include/asm-arm/cpufeature.h |   3 +-
 xen/include/asm-arm/processor.h  |   2 +
 8 files changed, 146 insertions(+), 43 deletions(-)

-- 
2.11.0


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

             reply	other threads:[~2018-11-28 16:49 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-28 16:49 Julien Grall [this message]
2018-11-28 16:49 ` [PATCH for-4.12 1/8] xen/arm: Only set necessary flags when initializing HCR_EL2 Julien Grall
2018-12-21 14:33   ` Andrii Anisov
2019-01-23 23:50   ` Stefano Stabellini
2018-11-28 16:49 ` [PATCH for-4.12 2/8] xen/arm: p2m: Provide an helper to generate the VTTBR Julien Grall
2018-12-21 14:34   ` Andrii Anisov
2019-01-23 23:27   ` Stefano Stabellini
2019-01-24 11:06     ` Julien Grall
2018-11-28 16:49 ` [PATCH for-4.12 3/8] xen/arm: p2m: Introduce an helper to allocate the root page-table Julien Grall
2018-12-21 14:35   ` Andrii Anisov
2019-01-23 23:29   ` Stefano Stabellini
2018-11-28 16:49 ` [PATCH for-4.12 4/8] xen/arm: domain_build: Don't switch to the guest P2M when copying data Julien Grall
2018-12-21 15:16   ` Andrii Anisov
2019-01-24  0:08   ` Stefano Stabellini
2018-11-28 16:49 ` [PATCH for-4.12 5/8] xen/arm: p2m: Only use isb() when it is necessary Julien Grall
2018-12-21 14:36   ` Andrii Anisov
2018-12-21 14:43   ` Andrii Anisov
2018-12-21 14:48     ` Julien Grall
2019-01-23 23:42   ` Stefano Stabellini
2019-01-24 11:29     ` Julien Grall
2018-11-28 16:49 ` [PATCH for-4.12 6/8] xen/arm: Implement workaround for Cortex-A76 erratum 1165522 Julien Grall
2018-12-21 15:47   ` Andrii Anisov
2019-01-24  0:52   ` Stefano Stabellini
2019-01-24 13:17     ` Julien Grall
2019-01-25 21:36       ` Stefano Stabellini
2019-01-27  9:55         ` Julien Grall
2019-01-28 11:11           ` Julien Grall
2019-01-29  0:52             ` Stefano Stabellini
2019-01-29 10:37               ` Julien Grall
2018-11-28 16:49 ` [PATCH for-4.12 7/8] xen/arm: p2m: Clean-up headers included and order them alphabetically Julien Grall
2018-12-21 14:44   ` Andrii Anisov
2018-12-21 15:33     ` Andrii Anisov
2018-11-28 16:49 ` [PATCH for-4.12 8/8] DO NOT APPLY Allow testing the new AT speculate workaround code Julien Grall
2018-12-21 14:44   ` Andrii Anisov
2018-12-21 14:47     ` Andrew Cooper
2018-12-21 14:55       ` Andrii Anisov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20181128164939.8329-1-julien.grall@arm.com \
    --to=julien.grall@arm.com \
    --cc=andre.przywara@arm.com \
    --cc=sstabellini@kernel.org \
    --cc=xen-devel@lists.xenproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.