xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Stefano Stabellini <stefano@aporeto.com>
To: Julien Grall <julien.grall@arm.com>
Cc: andre.przywara@arm.com, sstabellini@kernel.org,
	steve.capper@arm.com, wei.chen@arm.com, xen-devel@lists.xen.org
Subject: Re: [PATCH v3 12/16] xen/arm: Document the errata implemented in Xen
Date: Wed, 22 Jun 2016 11:03:06 +0100 (BST)	[thread overview]
Message-ID: <alpine.DEB.2.10.1606221101410.2575@sstabellini-ThinkPad-X260> (raw)
In-Reply-To: <1465315583-1278-13-git-send-email-julien.grall@arm.com>

On Tue, 7 Jun 2016, Julien Grall wrote:
> The new document will help to keep track of each erratum Xen is able to
> handle.
> 
> The text is based on the Linux doc in Documents/arm64/silicon-errata.txt.
> 
> Also list the current errata that Xen is aware of.
> 
> Signed-off-by: Julien Grall <julien.grall@arm.com>
> 
> ---
>     Changes in v3:
>         - Fix grammar in the commit message
>         - s/Linux/Xen/
>         - Mention that runtime patching is only supported by ARM64
> ---
>  docs/misc/arm/silicon-errata.txt | 45 ++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 45 insertions(+)
>  create mode 100644 docs/misc/arm/silicon-errata.txt
> 
> diff --git a/docs/misc/arm/silicon-errata.txt b/docs/misc/arm/silicon-errata.txt
> new file mode 100644
> index 0000000..374a63a
> --- /dev/null
> +++ b/docs/misc/arm/silicon-errata.txt
> @@ -0,0 +1,45 @@
> +                Silicon Errata and Software Workarounds
> +                =======================================
> +
> +It is an unfortunate fact of life that hardware is often produced with
> +so-called "errata", which can cause it to deviate from the architecture
> +under specific circumstances.  For hardware produced by ARM, these
> +errata are broadly classified into the following categories:
> +
> +  Category A: A critical error without a viable workaround.
> +  Category B: A significant or critical error with an acceptable
> +              workaround.
> +  Category C: A minor error that is not expected to occur under normal
> +              operation.
> +
> +For more information, consult one of the "Software Developers Errata
> +Notice" documents available on infocenter.arm.com (registration
> +required).
> +
> +As far as Xen is concerned, Category B errata may require some special
> +treatment in the hypervisor. For example, avoiding a particular sequence
> +of code, or configuring the processor in a particular way. A less common
> +situation may require similar actions in order to declassify a Category A
> +erratum into a Category C erratum. These are collectively known as
> +"software workarounds" and are only required in the minority of cases
> +(e.g. those cases that both require a non-secure workaround *and* can
> +be triggered by Xen).
> +
> +For software workarounds that may adversely impact systems unaffected by
> +the erratum in question, a Kconfig entry is added under "ARM errata
> +workarounds via the alternatives framework". These are enabled by default
> +and patched in at runtime when an affected CPU is detected. Note that
> +runtime patching is only supported by ARM64. For less-intrusive workarounds,

I think it is more correct to say "supported on ARM64", because it is
not ARM64 which has support for it but Xen when runs on it.
Alternatively "supported by Xen on ARM64".

With this small issue fixed:

Acked-by: Stefano Stabellini <sstabellini@kernel.org>


> +a Kconfig option is not available and the code is structured (preferably
> +with a comment) in such a way that the erratum will not be hit.
> +
> +This approach can make it slightly onerous to determine exactly which
> +errata are worked around in an arbitrary hypervisor source tree, so this
> +file acts as a registry of software workarounds in the Xen hypervisor and
> +will be updated when new workarounds are committed and backported to
> +stable hypervisors.
> +
> +| Implementor    | Component       | Erratum ID      | Kconfig                 |
> ++----------------+-----------------+-----------------+-------------------------+
> +| ARM            | Cortex-A15      | #766422         | N/A                     |
> +| ARM            | Cortex-A57      | #852523         | N/A                     |
> -- 
> 1.9.1
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

  reply	other threads:[~2016-06-22 10:03 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-07 16:06 [PATCH v3 00/16] xen/arm: Introduce alternative runtime patching for ARM64 Julien Grall
2016-06-07 16:06 ` [PATCH v3 01/16] xen/arm: Makefile: Sort the entries alphabetically Julien Grall
2016-06-07 16:06 ` [PATCH v3 02/16] xen/arm: Include the header asm-arm/system.h in asm-arm/page.h Julien Grall
2016-06-07 16:06 ` [PATCH v3 03/16] xen/arm: Add macros to handle the MIDR Julien Grall
2016-06-07 16:06 ` [PATCH v3 04/16] xen/arm: Add cpu_hwcap bitmap Julien Grall
2016-06-07 16:06 ` [PATCH v3 05/16] xen/arm64: Add an helper to invalidate all instruction caches Julien Grall
2016-06-07 16:06 ` [PATCH v3 06/16] xen/arm: arm64: Move the define BRK_BUG_FRAME into a separate header Julien Grall
2016-06-07 16:06 ` [PATCH v3 07/16] xen/arm: arm64: Reserve a brk immediate to fault on purpose Julien Grall
2016-06-07 16:06 ` [PATCH v3 08/16] xen/arm: arm64: Add helpers to decode and encode branch instructions Julien Grall
2016-06-07 16:06 ` [PATCH v3 09/16] xen/arm: Introduce alternative runtime patching Julien Grall
2016-06-07 17:24   ` Konrad Rzeszutek Wilk
2016-06-08  9:39     ` Julien Grall
2016-06-08 18:17       ` Konrad Rzeszutek Wilk
2016-06-08 18:22         ` Julien Grall
2016-06-08 18:35           ` Konrad Rzeszutek Wilk
2016-06-09 13:33   ` Julien Grall
2016-06-07 16:06 ` [PATCH v3 10/16] xen/arm: cpufeature: Provide an helper to check if a capability is supported Julien Grall
2016-06-22  9:59   ` Stefano Stabellini
2016-06-22 10:09     ` Julien Grall
2016-06-22 10:14       ` Stefano Stabellini
2016-06-07 16:06 ` [PATCH v3 11/16] xen/arm: Detect silicon revision and set cap bits accordingly Julien Grall
2016-06-22 10:00   ` Stefano Stabellini
2016-06-07 16:06 ` [PATCH v3 12/16] xen/arm: Document the errata implemented in Xen Julien Grall
2016-06-22 10:03   ` Stefano Stabellini [this message]
2016-06-07 16:06 ` [PATCH v3 13/16] xen/arm: arm64: Add Cortex-A53 cache errata workaround Julien Grall
2016-06-22 10:04   ` Stefano Stabellini
2016-06-07 16:06 ` [PATCH v3 14/16] xen/arm: arm64: Add cortex-A57 erratum 832075 workaround Julien Grall
2016-06-22 10:10   ` Stefano Stabellini
2016-06-07 16:06 ` [PATCH v3 15/16] xen/arm: traps: Don't inject a fault if the translation VA -> IPA fails Julien Grall
2016-06-07 16:06 ` [PATCH v3 16/16] xen/arm: arm64: Document Cortex-A57 erratum 834220 Julien Grall
2016-06-14 12:15   ` Julien Grall
2016-06-22 10:08   ` Stefano Stabellini
2016-06-22 10:18     ` Julien Grall
2016-06-22 10:37       ` Stefano Stabellini

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=alpine.DEB.2.10.1606221101410.2575@sstabellini-ThinkPad-X260 \
    --to=stefano@aporeto.com \
    --cc=andre.przywara@arm.com \
    --cc=julien.grall@arm.com \
    --cc=sstabellini@kernel.org \
    --cc=steve.capper@arm.com \
    --cc=wei.chen@arm.com \
    --cc=xen-devel@lists.xen.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).