diff mbox

[Xen-devel,v2,11/15] xen/arm: Document the errata implemented in Xen

Message ID 1464013052-32587-12-git-send-email-julien.grall@arm.com
State Superseded
Headers show

Commit Message

Julien Grall May 23, 2016, 2:17 p.m. UTC
The new document will help to keep track of all the erratum that 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>
---
 docs/misc/arm/silicon-errata.txt | 45 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)
 create mode 100644 docs/misc/arm/silicon-errata.txt

Comments

Julien Grall May 24, 2016, 9:13 a.m. UTC | #1
Hi Andrew,

On 23/05/2016 15:38, Andrew Cooper wrote:
> On 23/05/16 15:17, Julien Grall wrote:
>> The new document will help to keep track of all the erratum that Xen is
>> able to handle.
>
> Just a grammar nit (which most native English speakers get wrong, given
> its Latin roots)
>
> An erratum, or Many errata.

I know about that. I was not sure whether it is "all + plural" or "all + 
singular".
>
> In this case, I would suggest "... to keep track of each erratum Xen is
> able to handle."

I will update the commmit message.

Cheers,
diff mbox

Patch

diff --git a/docs/misc/arm/silicon-errata.txt b/docs/misc/arm/silicon-errata.txt
new file mode 100644
index 0000000..3f0d32b
--- /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 Linux).
+
+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. For
+less-intrusive workarounds, 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                     |