[rtems-central commit] spec: Add GRLIB errata

Sebastian Huber sebh at rtems.org
Tue Nov 23 16:20:18 UTC 2021


Module:    rtems-central
Branch:    master
Commit:    a2228ffc4fd7bfa4bc0ed38958888b66ba67d051
Changeset: http://git.rtems.org/rtems-central/commit/?id=a2228ffc4fd7bfa4bc0ed38958888b66ba67d051

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Mon Nov 22 13:13:49 2021 +0100

spec: Add GRLIB errata

---

 spec-glossary/glossary/gr712rc.yml                 | 15 ++++++
 spec-glossary/glossary/gr740.yml                   | 15 ++++++
 spec-glossary/glossary/sparc.yml                   | 13 +++++
 spec-glossary/glossary/system-on-chip.yml          | 18 +++++++
 spec/bsp/sparc/leon3/if/idle-thread.yml            | 14 ++++++
 spec/bsp/sparc/leon3/req/errata-b2bst-nop.yml      | 16 ++++++
 spec/bsp/sparc/leon3/req/errata-gr712rc-01.yml     | 17 +++++++
 spec/bsp/sparc/leon3/req/errata-gr712rc-02.yml     | 17 +++++++
 spec/bsp/sparc/leon3/req/errata-gr712rc-03.yml     | 17 +++++++
 spec/bsp/sparc/leon3/req/errata-gr712rc-04.yml     | 17 +++++++
 spec/bsp/sparc/leon3/req/errata-gr712rc-05.yml     | 17 +++++++
 spec/bsp/sparc/leon3/req/errata-gr712rc-06.yml     | 17 +++++++
 spec/bsp/sparc/leon3/req/errata-gr712rc-07.yml     | 17 +++++++
 spec/bsp/sparc/leon3/req/errata-gr712rc-08.yml     | 17 +++++++
 spec/bsp/sparc/leon3/req/errata-gr712rc-09.yml     | 17 +++++++
 spec/bsp/sparc/leon3/req/errata-gr712rc-10.yml     | 17 +++++++
 spec/bsp/sparc/leon3/req/errata-gr712rc-11.yml     | 19 +++++++
 spec/bsp/sparc/leon3/req/errata-gr712rc-12.yml     | 19 +++++++
 spec/bsp/sparc/leon3/req/errata-gr712rc-13.yml     | 19 +++++++
 spec/bsp/sparc/leon3/req/errata-gr712rc-14.yml     | 17 +++++++
 spec/bsp/sparc/leon3/req/errata-gr712rc-15.yml     | 19 +++++++
 spec/bsp/sparc/leon3/req/errata-gr712rc-16.yml     | 19 +++++++
 spec/bsp/sparc/leon3/req/errata-gr712rc-17.yml     | 19 +++++++
 spec/bsp/sparc/leon3/req/errata-gr712rc-18.yml     | 17 +++++++
 spec/bsp/sparc/leon3/req/errata-gr712rc-19.yml     | 17 +++++++
 spec/bsp/sparc/leon3/req/errata-gr712rc-20.yml     | 19 +++++++
 .../leon3/req/errata-gr712rc-compiler-fix.yml      | 22 ++++++++
 spec/bsp/sparc/leon3/req/errata-gr740-18-1.yml     | 17 +++++++
 spec/bsp/sparc/leon3/req/errata-gr740-18-2.yml     | 17 +++++++
 spec/bsp/sparc/leon3/req/errata-gr740-18-3.yml     | 17 +++++++
 spec/bsp/sparc/leon3/req/errata-gr740-18-4.yml     | 17 +++++++
 spec/bsp/sparc/leon3/req/errata-gr740-20-1.yml     | 17 +++++++
 spec/bsp/sparc/leon3/req/errata-gr740-20-2.yml     | 17 +++++++
 .../sparc/leon3/req/errata-tn-0018-macro-fix.yml   | 16 ++++++
 .../leon3/req/errata-tn-0018-macro-wait-iflush.yml | 14 ++++++
 .../leon3/req/errata-tn-0018-macro-write-psr.yml   | 15 ++++++
 spec/bsp/sparc/leon3/req/errata-tn-0018-macros.yml | 15 ++++++
 spec/bsp/sparc/leon3/req/idle-task-body.yml        | 15 ++++++
 .../leon3/req/idle-task-power-down-errata.yml      | 15 ++++++
 spec/bsp/sparc/leon3/req/idle-task-power-down.yml  | 16 ++++++
 spec/bsp/sparc/leon3/val/errata-gr712rc-01.yml     | 13 +++++
 spec/bsp/sparc/leon3/val/errata-gr712rc-02.yml     | 13 +++++
 spec/bsp/sparc/leon3/val/errata-gr712rc-03.yml     | 13 +++++
 spec/bsp/sparc/leon3/val/errata-gr712rc-04.yml     | 13 +++++
 spec/bsp/sparc/leon3/val/errata-gr712rc-05.yml     | 13 +++++
 spec/bsp/sparc/leon3/val/errata-gr712rc-06.yml     | 13 +++++
 spec/bsp/sparc/leon3/val/errata-gr712rc-07.yml     | 14 ++++++
 spec/bsp/sparc/leon3/val/errata-gr712rc-08.yml     | 28 +++++++++++
 spec/bsp/sparc/leon3/val/errata-gr712rc-09.yml     | 14 ++++++
 spec/bsp/sparc/leon3/val/errata-gr712rc-10.yml     | 13 +++++
 spec/bsp/sparc/leon3/val/errata-gr712rc-11.yml     | 13 +++++
 spec/bsp/sparc/leon3/val/errata-gr712rc-12.yml     | 13 +++++
 spec/bsp/sparc/leon3/val/errata-gr712rc-14.yml     | 13 +++++
 spec/bsp/sparc/leon3/val/errata-gr712rc-15.yml     | 13 +++++
 spec/bsp/sparc/leon3/val/errata-gr712rc-18.yml     | 13 +++++
 spec/bsp/sparc/leon3/val/errata-gr712rc-19.yml     | 20 ++++++++
 spec/bsp/sparc/leon3/val/errata-gr740-18-1.yml     | 13 +++++
 spec/bsp/sparc/leon3/val/errata-gr740-18-2.yml     | 13 +++++
 spec/bsp/sparc/leon3/val/errata-gr740-18-3.yml     | 13 +++++
 spec/bsp/sparc/leon3/val/errata-gr740-18-4.yml     | 13 +++++
 spec/bsp/sparc/leon3/val/errata-gr740-20-1.yml     | 13 +++++
 spec/bsp/sparc/leon3/val/errata-gr740-20-2.yml     | 13 +++++
 spec/bsp/sparc/leon3/val/errata-tn-0018-fp.yml     | 23 +++++++++
 .../errata-tn-0018-interrupt-disable-enable.yml    | 21 ++++++++
 .../sparc/leon3/val/errata-tn-0018-interrupts.yml  | 19 +++++++
 spec/bsp/sparc/leon3/val/errata-tn-0018-macros.yml | 21 ++++++++
 .../bsp/sparc/leon3/val/errata-tn-0018-syscall.yml | 15 ++++++
 .../leon3/val/errata-tn-0018-window-flush.yml      | 16 ++++++
 .../leon3/val/errata-tn-0018-window-overflow.yml   | 13 +++++
 .../leon3/val/errata-tn-0018-window-underflow.yml  | 13 +++++
 spec/bsp/sparc/leon3/val/gr712rc.yml               | 58 ++++++++++++++++++++++
 spec/req/errata.yml                                | 15 ++++++
 spec/testsuites/bsp-sparc-leon3-gr712rc.yml        | 19 +++++++
 73 files changed, 1218 insertions(+)

diff --git a/spec-glossary/glossary/gr712rc.yml b/spec-glossary/glossary/gr712rc.yml
new file mode 100644
index 0000000..d47f622
--- /dev/null
+++ b/spec-glossary/glossary/gr712rc.yml
@@ -0,0 +1,15 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+glossary-type: term
+links:
+- role: glossary-member
+  uid: ../glossary-general
+term: GR712RC
+text: |
+  The
+  `GR712RC <https://www.gaisler.com/index.php/products/components/gr712rc>`_
+  is a ${system-on-chip:/term} containing two processors of the ${sparc:/term}
+  ${target-arch:/term}.
+type: glossary
diff --git a/spec-glossary/glossary/gr740.yml b/spec-glossary/glossary/gr740.yml
new file mode 100644
index 0000000..9851407
--- /dev/null
+++ b/spec-glossary/glossary/gr740.yml
@@ -0,0 +1,15 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+glossary-type: term
+links:
+- role: glossary-member
+  uid: ../glossary-general
+term: GR740
+text: |
+  The
+  `GR740 <https://www.gaisler.com/index.php/products/components/gr740>`_
+  is a ${system-on-chip:/term} containing four processors of the ${sparc:/term}
+  ${target-arch:/term}.
+type: glossary
diff --git a/spec-glossary/glossary/sparc.yml b/spec-glossary/glossary/sparc.yml
new file mode 100644
index 0000000..a03dc4e
--- /dev/null
+++ b/spec-glossary/glossary/sparc.yml
@@ -0,0 +1,13 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+glossary-type: term
+links:
+- role: glossary-member
+  uid: ../glossary-general
+term: SPARC
+text: |
+  This term is an acronym for `Scalable Processor ARChitecture
+  <https://sparc.org/>`_.  See also ${target-arch:/term}.
+type: glossary
diff --git a/spec-glossary/glossary/system-on-chip.yml b/spec-glossary/glossary/system-on-chip.yml
new file mode 100644
index 0000000..2a31deb
--- /dev/null
+++ b/spec-glossary/glossary/system-on-chip.yml
@@ -0,0 +1,18 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+glossary-type: term
+links:
+- role: glossary-member
+  uid: ../glossary-general
+term: system on a chip
+text: |
+  This project uses the `system on a chip definition of Wikipedia
+  <https://en.wikipedia.org/wiki/System_on_a_chip>`_: "A system on a chip (SoC)
+  is an integrated circuit (also known as a *chip*) that integrates all or
+  most components of a computer or other electronic system."
+
+  Systems on a chip are ${target:/term} systems for applications using
+  ${rtems:/term}.
+type: glossary
diff --git a/spec/bsp/sparc/leon3/if/idle-thread.yml b/spec/bsp/sparc/leon3/if/idle-thread.yml
new file mode 100644
index 0000000..ac24ba9
--- /dev/null
+++ b/spec/bsp/sparc/leon3/if/idle-thread.yml
@@ -0,0 +1,14 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+index-entries: []
+interface-type: unspecified-function
+links:
+- role: interface-placement
+  uid: ../../../if/header
+- role: interface-ingroup
+  uid: ../../../if/group
+name: bsp_idle_thread
+references: []
+type: interface
diff --git a/spec/bsp/sparc/leon3/req/errata-b2bst-nop.yml b/spec/bsp/sparc/leon3/req/errata-b2bst-nop.yml
new file mode 100644
index 0000000..b0ac274
--- /dev/null
+++ b/spec/bsp/sparc/leon3/req/errata-b2bst-nop.yml
@@ -0,0 +1,16 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de
+enabled-by: sparc/gr712rc
+links:
+- role: requirement-refinement
+  uid: errata-gr712rc-13
+non-functional-type: design
+rationale: null
+references: []
+requirement-type: non-functional
+text: |
+  The software product shall use the define ``SPARC_LEON3FT_B2BST_NOP`` in
+  ${/glossary/assemblerlanguage:/term} ${/glossary/sourcecode:/term} to insert
+  ``nop`` instructions required by the errata workaround.
+type: requirement
diff --git a/spec/bsp/sparc/leon3/req/errata-gr712rc-01.yml b/spec/bsp/sparc/leon3/req/errata-gr712rc-01.yml
new file mode 100644
index 0000000..2be31fb
--- /dev/null
+++ b/spec/bsp/sparc/leon3/req/errata-gr712rc-01.yml
@@ -0,0 +1,17 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de
+enabled-by: sparc/gr712rc
+links:
+- role: requirement-refinement
+  uid: /req/errata
+non-functional-type: design
+rationale: null
+references:
+- identifier: https://www.gaisler.com/doc/gr712rc-usermanual.pdf
+  type: url
+requirement-type: non-functional
+text: |
+  The software product shall take the errata 1 (FTAHBRAM: On-chip Memory not
+  cacheable) into account.
+type: requirement
diff --git a/spec/bsp/sparc/leon3/req/errata-gr712rc-02.yml b/spec/bsp/sparc/leon3/req/errata-gr712rc-02.yml
new file mode 100644
index 0000000..236a321
--- /dev/null
+++ b/spec/bsp/sparc/leon3/req/errata-gr712rc-02.yml
@@ -0,0 +1,17 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de
+enabled-by: sparc/gr712rc
+links:
+- role: requirement-refinement
+  uid: /req/errata
+non-functional-type: design
+rationale: null
+references:
+- identifier: https://www.gaisler.com/doc/gr712rc-usermanual.pdf
+  type: url
+requirement-type: non-functional
+text: |
+  The software product shall take the errata 2 (CAN OC: interrupt can be
+  cleared before read) into account.
+type: requirement
diff --git a/spec/bsp/sparc/leon3/req/errata-gr712rc-03.yml b/spec/bsp/sparc/leon3/req/errata-gr712rc-03.yml
new file mode 100644
index 0000000..4276395
--- /dev/null
+++ b/spec/bsp/sparc/leon3/req/errata-gr712rc-03.yml
@@ -0,0 +1,17 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de
+enabled-by: sparc/gr712rc
+links:
+- role: requirement-refinement
+  uid: /req/errata
+non-functional-type: design
+rationale: null
+references:
+- identifier: https://www.gaisler.com/doc/gr712rc-usermanual.pdf
+  type: url
+requirement-type: non-functional
+text: |
+  The software product shall take the errata 3 (GRSPW2: interrupt can be lost)
+  into account.
+type: requirement
diff --git a/spec/bsp/sparc/leon3/req/errata-gr712rc-04.yml b/spec/bsp/sparc/leon3/req/errata-gr712rc-04.yml
new file mode 100644
index 0000000..b5b8ffa
--- /dev/null
+++ b/spec/bsp/sparc/leon3/req/errata-gr712rc-04.yml
@@ -0,0 +1,17 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de
+enabled-by: sparc/gr712rc
+links:
+- role: requirement-refinement
+  uid: /req/errata
+non-functional-type: design
+rationale: null
+references:
+- identifier: https://www.gaisler.com/doc/gr712rc-usermanual.pdf
+  type: url
+requirement-type: non-functional
+text: |
+  The software product shall take the errata 4 (GRSPW2: CRC calculation
+  partially incorrect) into account.
+type: requirement
diff --git a/spec/bsp/sparc/leon3/req/errata-gr712rc-05.yml b/spec/bsp/sparc/leon3/req/errata-gr712rc-05.yml
new file mode 100644
index 0000000..872be29
--- /dev/null
+++ b/spec/bsp/sparc/leon3/req/errata-gr712rc-05.yml
@@ -0,0 +1,17 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de
+enabled-by: sparc/gr712rc
+links:
+- role: requirement-refinement
+  uid: /req/errata
+non-functional-type: design
+rationale: null
+references:
+- identifier: https://www.gaisler.com/doc/gr712rc-usermanual.pdf
+  type: url
+requirement-type: non-functional
+text: |
+  The software product shall take the errata 5 (SPICTRL: transfers in progress
+  bit not cleared) into account.
+type: requirement
diff --git a/spec/bsp/sparc/leon3/req/errata-gr712rc-06.yml b/spec/bsp/sparc/leon3/req/errata-gr712rc-06.yml
new file mode 100644
index 0000000..c4bfe8a
--- /dev/null
+++ b/spec/bsp/sparc/leon3/req/errata-gr712rc-06.yml
@@ -0,0 +1,17 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de
+enabled-by: sparc/gr712rc
+links:
+- role: requirement-refinement
+  uid: /req/errata
+non-functional-type: design
+rationale: null
+references:
+- identifier: https://www.gaisler.com/doc/gr712rc-usermanual.pdf
+  type: url
+requirement-type: non-functional
+text: |
+  The software product shall take the errata 6 (SPICTRL: back-to-back
+  transfers) into account.
+type: requirement
diff --git a/spec/bsp/sparc/leon3/req/errata-gr712rc-07.yml b/spec/bsp/sparc/leon3/req/errata-gr712rc-07.yml
new file mode 100644
index 0000000..ad99df7
--- /dev/null
+++ b/spec/bsp/sparc/leon3/req/errata-gr712rc-07.yml
@@ -0,0 +1,17 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de
+enabled-by: sparc/gr712rc
+links:
+- role: requirement-refinement
+  uid: /req/errata
+non-functional-type: design
+rationale: null
+references:
+- identifier: https://www.gaisler.com/doc/gr712rc-usermanual.pdf
+  type: url
+requirement-type: non-functional
+text: |
+  The software product shall take the errata 7 (FTMCTLR: EDAC usage with 8-bit
+  wide memory) into account.
+type: requirement
diff --git a/spec/bsp/sparc/leon3/req/errata-gr712rc-08.yml b/spec/bsp/sparc/leon3/req/errata-gr712rc-08.yml
new file mode 100644
index 0000000..11aba41
--- /dev/null
+++ b/spec/bsp/sparc/leon3/req/errata-gr712rc-08.yml
@@ -0,0 +1,17 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de
+enabled-by: sparc/gr712rc
+links:
+- role: requirement-refinement
+  uid: /req/errata
+non-functional-type: design
+rationale: null
+references:
+- identifier: https://www.gaisler.com/doc/gr712rc-usermanual.pdf
+  type: url
+requirement-type: non-functional
+text: |
+  The software product shall take the errata 8 (LEON3FT Cache Controller:
+  Incorrect Bus Access After Power-Down) into account.
+type: requirement
diff --git a/spec/bsp/sparc/leon3/req/errata-gr712rc-09.yml b/spec/bsp/sparc/leon3/req/errata-gr712rc-09.yml
new file mode 100644
index 0000000..dcccaca
--- /dev/null
+++ b/spec/bsp/sparc/leon3/req/errata-gr712rc-09.yml
@@ -0,0 +1,17 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de
+enabled-by: sparc/gr712rc
+links:
+- role: requirement-refinement
+  uid: /req/errata
+non-functional-type: design
+rationale: null
+references:
+- identifier: https://www.gaisler.com/doc/gr712rc-usermanual.pdf
+  type: url
+requirement-type: non-functional
+text: |
+  The software product shall take the errata 9 (Failing SDRAM Access After
+  Uncorrectable EDAC Error) into account.
+type: requirement
diff --git a/spec/bsp/sparc/leon3/req/errata-gr712rc-10.yml b/spec/bsp/sparc/leon3/req/errata-gr712rc-10.yml
new file mode 100644
index 0000000..8a4edfd
--- /dev/null
+++ b/spec/bsp/sparc/leon3/req/errata-gr712rc-10.yml
@@ -0,0 +1,17 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de
+enabled-by: sparc/gr712rc
+links:
+- role: requirement-refinement
+  uid: /req/errata
+non-functional-type: design
+rationale: null
+references:
+- identifier: https://www.gaisler.com/doc/gr712rc-usermanual.pdf
+  type: url
+requirement-type: non-functional
+text: |
+  The software product shall take the errata 10 (MIL-STD-1553B core duplicate
+  interrupt assertion) into account.
+type: requirement
diff --git a/spec/bsp/sparc/leon3/req/errata-gr712rc-11.yml b/spec/bsp/sparc/leon3/req/errata-gr712rc-11.yml
new file mode 100644
index 0000000..b5601f3
--- /dev/null
+++ b/spec/bsp/sparc/leon3/req/errata-gr712rc-11.yml
@@ -0,0 +1,19 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de
+enabled-by: sparc/gr712rc
+links:
+- role: requirement-refinement
+  uid: /req/errata
+non-functional-type: design
+rationale: null
+references:
+- identifier: https://www.gaisler.com/doc/gr712rc-usermanual.pdf
+  type: url
+- identifier: https://www.gaisler.com/doc/antn/GRLIB-TN-0002.pdf
+  type: url
+requirement-type: non-functional
+text: |
+  The software product shall take the errata 11 (Technical Note on LEON SRMMU
+  Behaviour) into account.
+type: requirement
diff --git a/spec/bsp/sparc/leon3/req/errata-gr712rc-12.yml b/spec/bsp/sparc/leon3/req/errata-gr712rc-12.yml
new file mode 100644
index 0000000..1a5378e
--- /dev/null
+++ b/spec/bsp/sparc/leon3/req/errata-gr712rc-12.yml
@@ -0,0 +1,19 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de
+enabled-by: sparc/gr712rc
+links:
+- role: requirement-refinement
+  uid: /req/errata
+non-functional-type: design
+rationale: null
+references:
+- identifier: https://www.gaisler.com/doc/gr712rc-usermanual.pdf
+  type: url
+- identifier: https://www.gaisler.com/doc/antn/GRLIB-TN-0008.pdf
+  type: url
+requirement-type: non-functional
+text: |
+  The software product shall take the errata 12 (Technical Note on GRETH
+  Ethernet Controller Behaviour) into account.
+type: requirement
diff --git a/spec/bsp/sparc/leon3/req/errata-gr712rc-13.yml b/spec/bsp/sparc/leon3/req/errata-gr712rc-13.yml
new file mode 100644
index 0000000..c15b7cf
--- /dev/null
+++ b/spec/bsp/sparc/leon3/req/errata-gr712rc-13.yml
@@ -0,0 +1,19 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de
+enabled-by: sparc/gr712rc
+links:
+- role: requirement-refinement
+  uid: /req/errata
+non-functional-type: design
+rationale: null
+references:
+- identifier: https://www.gaisler.com/doc/gr712rc-usermanual.pdf
+  type: url
+- identifier: https://www.gaisler.com/doc/antn/GRLIB-TN-0009.pdf
+  type: url
+requirement-type: non-functional
+text: |
+  The software product shall take the errata 13 (Technical Note on Stale Cache
+  Entry After Store with Data Tag Parity Error) into account.
+type: requirement
diff --git a/spec/bsp/sparc/leon3/req/errata-gr712rc-14.yml b/spec/bsp/sparc/leon3/req/errata-gr712rc-14.yml
new file mode 100644
index 0000000..db362c4
--- /dev/null
+++ b/spec/bsp/sparc/leon3/req/errata-gr712rc-14.yml
@@ -0,0 +1,17 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de
+enabled-by: sparc/gr712rc
+links:
+- role: requirement-refinement
+  uid: /req/errata
+non-functional-type: design
+rationale: null
+references:
+- identifier: https://www.gaisler.com/doc/gr712rc-usermanual.pdf
+  type: url
+requirement-type: non-functional
+text: |
+  The software product shall take the errata 14 (Never disable the TLB when the
+  MMU is enabled) into account.
+type: requirement
diff --git a/spec/bsp/sparc/leon3/req/errata-gr712rc-15.yml b/spec/bsp/sparc/leon3/req/errata-gr712rc-15.yml
new file mode 100644
index 0000000..5bea43d
--- /dev/null
+++ b/spec/bsp/sparc/leon3/req/errata-gr712rc-15.yml
@@ -0,0 +1,19 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de
+enabled-by: sparc/gr712rc
+links:
+- role: requirement-refinement
+  uid: /req/errata
+non-functional-type: design
+rationale: null
+references:
+- identifier: https://www.gaisler.com/doc/gr712rc-usermanual.pdf
+  type: url
+- identifier: https://www.gaisler.com/doc/antn/GRLIB-TN-0011.pdf
+  type: url
+requirement-type: non-functional
+text: |
+  The software product shall take the errata 15 (Technical Note on LEON3/FT AHB
+  Lock Release During Atomic Operation) into account.
+type: requirement
diff --git a/spec/bsp/sparc/leon3/req/errata-gr712rc-16.yml b/spec/bsp/sparc/leon3/req/errata-gr712rc-16.yml
new file mode 100644
index 0000000..86ca0c3
--- /dev/null
+++ b/spec/bsp/sparc/leon3/req/errata-gr712rc-16.yml
@@ -0,0 +1,19 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de
+enabled-by: sparc/gr712rc
+links:
+- role: requirement-refinement
+  uid: /req/errata
+non-functional-type: design
+rationale: null
+references:
+- identifier: https://www.gaisler.com/doc/gr712rc-usermanual.pdf
+  type: url
+- identifier: https://www.gaisler.com/doc/antn/GRLIB-TN-0012.pdf
+  type: url
+requirement-type: non-functional
+text: |
+  The software product shall take the errata 16 (Technical Note on GR712RC
+  Incorrect Annulation of Floating-point Operation on) into account.
+type: requirement
diff --git a/spec/bsp/sparc/leon3/req/errata-gr712rc-17.yml b/spec/bsp/sparc/leon3/req/errata-gr712rc-17.yml
new file mode 100644
index 0000000..46e1783
--- /dev/null
+++ b/spec/bsp/sparc/leon3/req/errata-gr712rc-17.yml
@@ -0,0 +1,19 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de
+enabled-by: sparc/gr712rc
+links:
+- role: requirement-refinement
+  uid: /req/errata
+non-functional-type: design
+rationale: null
+references:
+- identifier: https://www.gaisler.com/doc/gr712rc-usermanual.pdf
+  type: url
+- identifier: https://www.gaisler.com/doc/antn/GRLIB-TN-0013.pdf
+  type: url
+requirement-type: non-functional
+text: |
+  The software product shall take the errata 17 (Technical Note on GRFPU
+  Floating-point controller: Missing FDIV/FSQRT Result) into account.
+type: requirement
diff --git a/spec/bsp/sparc/leon3/req/errata-gr712rc-18.yml b/spec/bsp/sparc/leon3/req/errata-gr712rc-18.yml
new file mode 100644
index 0000000..ecd0782
--- /dev/null
+++ b/spec/bsp/sparc/leon3/req/errata-gr712rc-18.yml
@@ -0,0 +1,17 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de
+enabled-by: sparc/gr712rc
+links:
+- role: requirement-refinement
+  uid: /req/errata
+non-functional-type: design
+rationale: null
+references:
+- identifier: https://www.gaisler.com/doc/gr712rc-usermanual.pdf
+  type: url
+requirement-type: non-functional
+text: |
+  The software product shall take the errata 18 (Don’t break into debug mode on
+  RETT instructions) into account.
+type: requirement
diff --git a/spec/bsp/sparc/leon3/req/errata-gr712rc-19.yml b/spec/bsp/sparc/leon3/req/errata-gr712rc-19.yml
new file mode 100644
index 0000000..3dda971
--- /dev/null
+++ b/spec/bsp/sparc/leon3/req/errata-gr712rc-19.yml
@@ -0,0 +1,17 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de
+enabled-by: sparc/gr712rc
+links:
+- role: requirement-refinement
+  uid: /req/errata
+non-functional-type: design
+rationale: null
+references:
+- identifier: https://www.gaisler.com/doc/gr712rc-usermanual.pdf
+  type: url
+requirement-type: non-functional
+text: |
+  The software product shall take the errata 19 (Stores to ASI 0x1C may update
+  data cache) into account.
+type: requirement
diff --git a/spec/bsp/sparc/leon3/req/errata-gr712rc-20.yml b/spec/bsp/sparc/leon3/req/errata-gr712rc-20.yml
new file mode 100644
index 0000000..d649af9
--- /dev/null
+++ b/spec/bsp/sparc/leon3/req/errata-gr712rc-20.yml
@@ -0,0 +1,19 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de
+enabled-by: sparc/gr712rc
+links:
+- role: requirement-refinement
+  uid: /req/errata
+non-functional-type: design
+rationale: null
+references:
+- identifier: https://www.gaisler.com/doc/gr712rc-usermanual.pdf
+  type: url
+- identifier: https://www.gaisler.com/doc/antn/GRLIB-TN-0018.pdf
+  type: url
+requirement-type: non-functional
+text: |
+  The software product shall take the errata 20 (Technical Note on LEON3FT RETT
+  Restart Errata) into account.
+type: requirement
diff --git a/spec/bsp/sparc/leon3/req/errata-gr712rc-compiler-fix.yml b/spec/bsp/sparc/leon3/req/errata-gr712rc-compiler-fix.yml
new file mode 100644
index 0000000..d472cca
--- /dev/null
+++ b/spec/bsp/sparc/leon3/req/errata-gr712rc-compiler-fix.yml
@@ -0,0 +1,22 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de
+enabled-by: sparc/gr712rc
+links:
+- role: requirement-refinement
+  uid: errata-gr712rc-13
+- role: requirement-refinement
+  uid: errata-gr712rc-16
+- role: requirement-refinement
+  uid: errata-gr712rc-17
+- role: requirement-refinement
+  uid: errata-gr712rc-20
+non-functional-type: design
+rationale: |
+  This compiler option enables workarounds for chip errata.
+references: []
+requirement-type: non-functional
+text: |
+  The software product shall be compiled using the ``-mfix-gr712rc`` compiler
+  option.
+type: requirement
diff --git a/spec/bsp/sparc/leon3/req/errata-gr740-18-1.yml b/spec/bsp/sparc/leon3/req/errata-gr740-18-1.yml
new file mode 100644
index 0000000..60824cd
--- /dev/null
+++ b/spec/bsp/sparc/leon3/req/errata-gr740-18-1.yml
@@ -0,0 +1,17 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de
+enabled-by: sparc/gr740
+links:
+- role: requirement-refinement
+  uid: /req/errata
+non-functional-type: design
+rationale: null
+references:
+- identifier: https://www.gaisler.com/doc/gr740/GR740-UM-DS-2-5.pdf
+  type: url
+requirement-type: non-functional
+text: |
+  The software product shall take the errata 18-2 (PCI master/initiator lockup
+  due to write burst waitstates) into account.
+type: requirement
diff --git a/spec/bsp/sparc/leon3/req/errata-gr740-18-2.yml b/spec/bsp/sparc/leon3/req/errata-gr740-18-2.yml
new file mode 100644
index 0000000..3433fd5
--- /dev/null
+++ b/spec/bsp/sparc/leon3/req/errata-gr740-18-2.yml
@@ -0,0 +1,17 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de
+enabled-by: sparc/gr740
+links:
+- role: requirement-refinement
+  uid: /req/errata
+non-functional-type: design
+rationale: null
+references:
+- identifier: https://www.gaisler.com/doc/gr740/GR740-UM-DS-2-5.pdf
+  type: url
+requirement-type: non-functional
+text: |
+  The software product shall take the errata 18-1 (SpaceWire router missing
+  first byte after EEP on links with downstream congestion) into account.
+type: requirement
diff --git a/spec/bsp/sparc/leon3/req/errata-gr740-18-3.yml b/spec/bsp/sparc/leon3/req/errata-gr740-18-3.yml
new file mode 100644
index 0000000..c81b300
--- /dev/null
+++ b/spec/bsp/sparc/leon3/req/errata-gr740-18-3.yml
@@ -0,0 +1,17 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de
+enabled-by: sparc/gr740
+links:
+- role: requirement-refinement
+  uid: /req/errata
+non-functional-type: design
+rationale: null
+references:
+- identifier: https://www.gaisler.com/doc/gr740/GR740-UM-DS-2-5.pdf
+  type: url
+requirement-type: non-functional
+text: |
+  The software product shall take the errata 18-3 (L2 cache scrubber
+  malfunction on uncorrectable error when SH option disabled into account.
+type: requirement
diff --git a/spec/bsp/sparc/leon3/req/errata-gr740-18-4.yml b/spec/bsp/sparc/leon3/req/errata-gr740-18-4.yml
new file mode 100644
index 0000000..01678ff
--- /dev/null
+++ b/spec/bsp/sparc/leon3/req/errata-gr740-18-4.yml
@@ -0,0 +1,17 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de
+enabled-by: sparc/gr740
+links:
+- role: requirement-refinement
+  uid: /req/errata
+non-functional-type: design
+rationale: null
+references:
+- identifier: https://www.gaisler.com/doc/gr740/GR740-UM-DS-2-5.pdf
+  type: url
+requirement-type: non-functional
+text: |
+  The software product shall take the errata 18-4 (SpaceWire router block of
+  output ports used for distributing multicast packets) into account.
+type: requirement
diff --git a/spec/bsp/sparc/leon3/req/errata-gr740-20-1.yml b/spec/bsp/sparc/leon3/req/errata-gr740-20-1.yml
new file mode 100644
index 0000000..847f77e
--- /dev/null
+++ b/spec/bsp/sparc/leon3/req/errata-gr740-20-1.yml
@@ -0,0 +1,17 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de
+enabled-by: sparc/gr740
+links:
+- role: requirement-refinement
+  uid: /req/errata
+non-functional-type: design
+rationale: null
+references:
+- identifier: https://www.gaisler.com/doc/gr740/GR740-UM-DS-2-5.pdf
+  type: url
+requirement-type: non-functional
+text: |
+  The software product shall take the errata 20-1 (Stores to ASI 0x1C
+  (MMU/cache bypass) can update data cache contents) into account.
+type: requirement
diff --git a/spec/bsp/sparc/leon3/req/errata-gr740-20-2.yml b/spec/bsp/sparc/leon3/req/errata-gr740-20-2.yml
new file mode 100644
index 0000000..f63cfee
--- /dev/null
+++ b/spec/bsp/sparc/leon3/req/errata-gr740-20-2.yml
@@ -0,0 +1,17 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de
+enabled-by: sparc/gr740
+links:
+- role: requirement-refinement
+  uid: /req/errata
+non-functional-type: design
+rationale: null
+references:
+- identifier: https://www.gaisler.com/doc/gr740/GR740-UM-DS-2-5.pdf
+  type: url
+requirement-type: non-functional
+text: |
+  The software product shall take the errata 20-2 (LEON4 Statistics Unit time
+  stamp register unavailable) into account.
+type: requirement
diff --git a/spec/bsp/sparc/leon3/req/errata-tn-0018-macro-fix.yml b/spec/bsp/sparc/leon3/req/errata-tn-0018-macro-fix.yml
new file mode 100644
index 0000000..a80aed6
--- /dev/null
+++ b/spec/bsp/sparc/leon3/req/errata-tn-0018-macro-fix.yml
@@ -0,0 +1,16 @@
+SPDX-License-Identifier: CC-BY-SA-4.0
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: sparc/gr712rc
+links:
+- role: requirement-refinement
+  uid: errata-tn-0018-macros
+functional-type: function
+rationale: null
+references: []
+requirement-type: functional
+text: |
+  The ``TN0018_FIX`` macro shall provide an instruction sequence for
+  *Workaround #1* to be placed immediatly before a ``jumpl`` followed by
+  ``rett`` pair.
+type: requirement
diff --git a/spec/bsp/sparc/leon3/req/errata-tn-0018-macro-wait-iflush.yml b/spec/bsp/sparc/leon3/req/errata-tn-0018-macro-wait-iflush.yml
new file mode 100644
index 0000000..d3b376e
--- /dev/null
+++ b/spec/bsp/sparc/leon3/req/errata-tn-0018-macro-wait-iflush.yml
@@ -0,0 +1,14 @@
+SPDX-License-Identifier: CC-BY-SA-4.0
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: sparc/gr712rc
+links:
+- role: requirement-refinement
+  uid: errata-tn-0018-macros
+functional-type: function
+rationale: null
+references: []
+requirement-type: functional
+text: |
+  The ``TN0018_WAIT_IFLUSH`` macro shall flush the instruction cache.
+type: requirement
diff --git a/spec/bsp/sparc/leon3/req/errata-tn-0018-macro-write-psr.yml b/spec/bsp/sparc/leon3/req/errata-tn-0018-macro-write-psr.yml
new file mode 100644
index 0000000..eb37d1d
--- /dev/null
+++ b/spec/bsp/sparc/leon3/req/errata-tn-0018-macro-write-psr.yml
@@ -0,0 +1,15 @@
+SPDX-License-Identifier: CC-BY-SA-4.0
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: sparc/gr712rc
+links:
+- role: requirement-refinement
+  uid: errata-tn-0018-macros
+functional-type: function
+rationale: null
+references: []
+requirement-type: functional
+text: |
+  The ``TN0018_WRITE_PSR`` macro shall write the source register to register
+  ``%psr``.
+type: requirement
diff --git a/spec/bsp/sparc/leon3/req/errata-tn-0018-macros.yml b/spec/bsp/sparc/leon3/req/errata-tn-0018-macros.yml
new file mode 100644
index 0000000..2392bbb
--- /dev/null
+++ b/spec/bsp/sparc/leon3/req/errata-tn-0018-macros.yml
@@ -0,0 +1,15 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de
+enabled-by: sparc/gr712rc
+links:
+- role: requirement-refinement
+  uid: errata-gr712rc-20
+non-functional-type: design
+rationale: null
+references: []
+requirement-type: non-functional
+text: |
+  The software product shall provide ${/glossary/assemblerlanguage:/term}
+  macros to help implementing workarounds for the errata.
+type: requirement
diff --git a/spec/bsp/sparc/leon3/req/idle-task-body.yml b/spec/bsp/sparc/leon3/req/idle-task-body.yml
new file mode 100644
index 0000000..d7a24f0
--- /dev/null
+++ b/spec/bsp/sparc/leon3/req/idle-task-body.yml
@@ -0,0 +1,15 @@
+SPDX-License-Identifier: CC-BY-SA-4.0
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: bsps/sparc/leon3
+links:
+- role: interface-function
+  uid: ../../../if/acfg-idle-task-body
+functional-type: function
+rationale: null
+references: []
+requirement-type: functional
+text: |
+  The ${/glossary/bsp:/term} shall define
+  ${../../../if/acfg-idle-task-body:/name} to ${../if/idle-thread:/name}.
+type: requirement
diff --git a/spec/bsp/sparc/leon3/req/idle-task-power-down-errata.yml b/spec/bsp/sparc/leon3/req/idle-task-power-down-errata.yml
new file mode 100644
index 0000000..8e2c162
--- /dev/null
+++ b/spec/bsp/sparc/leon3/req/idle-task-power-down-errata.yml
@@ -0,0 +1,15 @@
+SPDX-License-Identifier: CC-BY-SA-4.0
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: bsps/sparc/leon3
+links:
+- role: interface-function
+  uid: idle-task-body
+functional-type: function
+rationale: null
+references: []
+requirement-type: functional
+text: |
+  The ${../if/idle-thread:/name} function shall be implemented according to
+  ``Workaround 2`` of {errata-gr712rc-08}.
+type: requirement
diff --git a/spec/bsp/sparc/leon3/req/idle-task-power-down.yml b/spec/bsp/sparc/leon3/req/idle-task-power-down.yml
new file mode 100644
index 0000000..a8a71a4
--- /dev/null
+++ b/spec/bsp/sparc/leon3/req/idle-task-power-down.yml
@@ -0,0 +1,16 @@
+SPDX-License-Identifier: CC-BY-SA-4.0
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: bsps/sparc/leon3
+links:
+- role: interface-function
+  uid: idle-task-body
+functional-type: function
+rationale: null
+references: []
+requirement-type: functional
+text: |
+  The ${../if/idle-thread:/name} function shall perform an endless loop which
+  sets the processor into the power-down mode using a write to ``%asr19`` in
+  each iteration.
+type: requirement
diff --git a/spec/bsp/sparc/leon3/val/errata-gr712rc-01.yml b/spec/bsp/sparc/leon3/val/errata-gr712rc-01.yml
new file mode 100644
index 0000000..5146e85
--- /dev/null
+++ b/spec/bsp/sparc/leon3/val/errata-gr712rc-01.yml
@@ -0,0 +1,13 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: sparc/gr712rc
+links:
+- role: validation
+  uid: ../req/errata-gr712rc-01
+method: by-review-of-design
+references: []
+text: |
+  The errata of the ${/glossary/gr712rc:/term} is not applicable to the
+  software product since it does not use the on-chip memory.
+type: validation
diff --git a/spec/bsp/sparc/leon3/val/errata-gr712rc-02.yml b/spec/bsp/sparc/leon3/val/errata-gr712rc-02.yml
new file mode 100644
index 0000000..8c928e4
--- /dev/null
+++ b/spec/bsp/sparc/leon3/val/errata-gr712rc-02.yml
@@ -0,0 +1,13 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: sparc/gr712rc
+links:
+- role: validation
+  uid: ../req/errata-gr712rc-02
+method: by-review-of-design
+references: []
+text: |
+  The errata of the ${/glossary/gr712rc:/term} is not applicable to the
+  software product since it does not provide a high-level CAN driver.
+type: validation
diff --git a/spec/bsp/sparc/leon3/val/errata-gr712rc-03.yml b/spec/bsp/sparc/leon3/val/errata-gr712rc-03.yml
new file mode 100644
index 0000000..ee3b2f1
--- /dev/null
+++ b/spec/bsp/sparc/leon3/val/errata-gr712rc-03.yml
@@ -0,0 +1,13 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: sparc/gr712rc
+links:
+- role: validation
+  uid: ../req/errata-gr712rc-03
+method: by-review-of-design
+references: []
+text: |
+  The errata of the ${/glossary/gr712rc:/term} is not applicable to the
+  software product since it does not provide a high-level SpaceWire driver.
+type: validation
diff --git a/spec/bsp/sparc/leon3/val/errata-gr712rc-04.yml b/spec/bsp/sparc/leon3/val/errata-gr712rc-04.yml
new file mode 100644
index 0000000..86f7e2d
--- /dev/null
+++ b/spec/bsp/sparc/leon3/val/errata-gr712rc-04.yml
@@ -0,0 +1,13 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: sparc/gr712rc
+links:
+- role: validation
+  uid: ../req/errata-gr712rc-04
+method: by-review-of-design
+references: []
+text: |
+  The errata of the ${/glossary/gr712rc:/term} is not applicable to the
+  software product since it does not provide a high-level SpaceWire driver.
+type: validation
diff --git a/spec/bsp/sparc/leon3/val/errata-gr712rc-05.yml b/spec/bsp/sparc/leon3/val/errata-gr712rc-05.yml
new file mode 100644
index 0000000..57064bc
--- /dev/null
+++ b/spec/bsp/sparc/leon3/val/errata-gr712rc-05.yml
@@ -0,0 +1,13 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: sparc/gr712rc
+links:
+- role: validation
+  uid: ../req/errata-gr712rc-05
+method: by-review-of-design
+references: []
+text: |
+  The errata of the ${/glossary/gr712rc:/term} is not applicable to the
+  software product since it does not provide a high-level SPI driver.
+type: validation
diff --git a/spec/bsp/sparc/leon3/val/errata-gr712rc-06.yml b/spec/bsp/sparc/leon3/val/errata-gr712rc-06.yml
new file mode 100644
index 0000000..b67b72c
--- /dev/null
+++ b/spec/bsp/sparc/leon3/val/errata-gr712rc-06.yml
@@ -0,0 +1,13 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: sparc/gr712rc
+links:
+- role: validation
+  uid: ../req/errata-gr712rc-06
+method: by-review-of-design
+references: []
+text: |
+  The errata of the ${/glossary/gr712rc:/term} is not applicable to the
+  software product since it does not provide a high-level SPI driver.
+type: validation
diff --git a/spec/bsp/sparc/leon3/val/errata-gr712rc-07.yml b/spec/bsp/sparc/leon3/val/errata-gr712rc-07.yml
new file mode 100644
index 0000000..a036aab
--- /dev/null
+++ b/spec/bsp/sparc/leon3/val/errata-gr712rc-07.yml
@@ -0,0 +1,14 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: sparc/gr712rc
+links:
+- role: validation
+  uid: ../req/errata-gr712rc-07
+method: by-review-of-design
+references: []
+text: |
+  The errata of the ${/glossary/gr712rc:/term} is not applicable to the
+  software product since it is not responsible to configure the SRAM or PROM
+  memory.
+type: validation
diff --git a/spec/bsp/sparc/leon3/val/errata-gr712rc-08.yml b/spec/bsp/sparc/leon3/val/errata-gr712rc-08.yml
new file mode 100644
index 0000000..e64ca67
--- /dev/null
+++ b/spec/bsp/sparc/leon3/val/errata-gr712rc-08.yml
@@ -0,0 +1,28 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: bsps/sparc/leon3
+links:
+- role: validation
+  uid: ../req/errata-gr712rc-08
+- role: validation
+  uid: ../req/idle-task-power-down
+- role: validation
+  uid: ../req/idle-task-power-down-errata
+method: by-inspection
+references:
+- identifier: bsps/sparc/leon3/start/bspidle.S
+  hash: gmJydgDbHmV9_F0Ru0dQ_v78f8_UXwEKnAp5LpQVn98=
+  type: file
+text: |
+  Inspection of the referenced ${/glossary/sourcecode:/term} file showed that
+  the ``Workaround 2`` is implemented.  Contrary to the recommendation in the
+  errata workaround description, the stack pointer is used as the source
+  operand of the load instruction.  This is not an issue, since the idle thread
+  does not use the loaded value.  Inspection showed also that an infinite loop
+  is implemented which uses a write to ``%asr19`` to enter the power-down mode.
+
+  The errata workaround is implemented unconditionally since it is harmless and
+  may be considered a performance optimization.  It is some sort of a data
+  cache prefetch.
+type: validation
diff --git a/spec/bsp/sparc/leon3/val/errata-gr712rc-09.yml b/spec/bsp/sparc/leon3/val/errata-gr712rc-09.yml
new file mode 100644
index 0000000..4aa7532
--- /dev/null
+++ b/spec/bsp/sparc/leon3/val/errata-gr712rc-09.yml
@@ -0,0 +1,14 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: sparc/gr712rc
+links:
+- role: validation
+  uid: ../req/errata-gr712rc-09
+method: by-review-of-design
+references: []
+text: |
+  The errata of the ${/glossary/gr712rc:/term} is not applicable to the
+  software product since it assumes that the boot loader correctly configured
+  the memory controller.
+type: validation
diff --git a/spec/bsp/sparc/leon3/val/errata-gr712rc-10.yml b/spec/bsp/sparc/leon3/val/errata-gr712rc-10.yml
new file mode 100644
index 0000000..425ea2d
--- /dev/null
+++ b/spec/bsp/sparc/leon3/val/errata-gr712rc-10.yml
@@ -0,0 +1,13 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: sparc/gr712rc
+links:
+- role: validation
+  uid: ../req/errata-gr712rc-10
+method: by-review-of-design
+references: []
+text: |
+  The errata of the ${/glossary/gr712rc:/term} is not applicable to the
+  software product since it does not provide a high-level MIL-STD-1553B driver.
+type: validation
diff --git a/spec/bsp/sparc/leon3/val/errata-gr712rc-11.yml b/spec/bsp/sparc/leon3/val/errata-gr712rc-11.yml
new file mode 100644
index 0000000..f40df33
--- /dev/null
+++ b/spec/bsp/sparc/leon3/val/errata-gr712rc-11.yml
@@ -0,0 +1,13 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: sparc/gr712rc
+links:
+- role: validation
+  uid: ../req/errata-gr712rc-11
+method: by-review-of-design
+references: []
+text: |
+  The errata of the ${/glossary/gr712rc:/term} is not applicable to the
+  software product since it does not use the MMU.
+type: validation
diff --git a/spec/bsp/sparc/leon3/val/errata-gr712rc-12.yml b/spec/bsp/sparc/leon3/val/errata-gr712rc-12.yml
new file mode 100644
index 0000000..92555d4
--- /dev/null
+++ b/spec/bsp/sparc/leon3/val/errata-gr712rc-12.yml
@@ -0,0 +1,13 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: sparc/gr712rc
+links:
+- role: validation
+  uid: ../req/errata-gr712rc-12
+method: by-review-of-design
+references: []
+text: |
+  The errata of the ${/glossary/gr712rc:/term} is not applicable to the
+  software product since it does not provide a high-level GRETH driver.
+type: validation
diff --git a/spec/bsp/sparc/leon3/val/errata-gr712rc-14.yml b/spec/bsp/sparc/leon3/val/errata-gr712rc-14.yml
new file mode 100644
index 0000000..d8190e2
--- /dev/null
+++ b/spec/bsp/sparc/leon3/val/errata-gr712rc-14.yml
@@ -0,0 +1,13 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: sparc/gr712rc
+links:
+- role: validation
+  uid: ../req/errata-gr712rc-14
+method: by-review-of-design
+references: []
+text: |
+  The errata of the ${/glossary/gr712rc:/term} is not applicable to the
+  software product since it does not use the MMU.
+type: validation
diff --git a/spec/bsp/sparc/leon3/val/errata-gr712rc-15.yml b/spec/bsp/sparc/leon3/val/errata-gr712rc-15.yml
new file mode 100644
index 0000000..52c4522
--- /dev/null
+++ b/spec/bsp/sparc/leon3/val/errata-gr712rc-15.yml
@@ -0,0 +1,13 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: sparc/gr712rc
+links:
+- role: validation
+  uid: ../req/errata-gr712rc-15
+method: by-review-of-design
+references: []
+text: |
+  The errata of the ${/glossary/gr712rc:/term} is not applicable to the
+  software product since it does not use the MMU.
+type: validation
diff --git a/spec/bsp/sparc/leon3/val/errata-gr712rc-18.yml b/spec/bsp/sparc/leon3/val/errata-gr712rc-18.yml
new file mode 100644
index 0000000..048e509
--- /dev/null
+++ b/spec/bsp/sparc/leon3/val/errata-gr712rc-18.yml
@@ -0,0 +1,13 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: sparc/gr712rc
+links:
+- role: validation
+  uid: ../req/errata-gr712rc-18
+method: by-review-of-design
+references: []
+text: |
+  The errata of the ${/glossary/gr712rc:/term} is not applicable to the
+  software product since it does not break into debug mode.
+type: validation
diff --git a/spec/bsp/sparc/leon3/val/errata-gr712rc-19.yml b/spec/bsp/sparc/leon3/val/errata-gr712rc-19.yml
new file mode 100644
index 0000000..44e23cf
--- /dev/null
+++ b/spec/bsp/sparc/leon3/val/errata-gr712rc-19.yml
@@ -0,0 +1,20 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: sparc/gr712rc
+links:
+- role: validation
+  uid: ../req/errata-gr712rc-19
+method: by-inspection
+references:
+- identifier: bsps/sparc/leon3/include/bsp/leon3.h
+  hash: IYTJZM16nwK8qVHx9RLtXeHB1s5Ab-yEixVEWzgVp9Q=
+  type: file
+- identifier: cpukit/score/cpu/sparc/include/libcpu/grlib-tn-0018.h
+  hash: 2H6O61TZYKcwDpr_dKrDOe8xkMNjXz45Oh6bwL5b2vM=
+  type: file
+text: |
+  The ${/glossary/sourcecode:/term} of the software product was reviewed for
+  uses of the ``sta`` instruction with the ASI set to 0x1c.  No use of this
+  instruction was found.
+type: validation
diff --git a/spec/bsp/sparc/leon3/val/errata-gr740-18-1.yml b/spec/bsp/sparc/leon3/val/errata-gr740-18-1.yml
new file mode 100644
index 0000000..3c84ce9
--- /dev/null
+++ b/spec/bsp/sparc/leon3/val/errata-gr740-18-1.yml
@@ -0,0 +1,13 @@
+SPDX-License-Identifier: CC-BY-SA-4.0
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: sparc/gr740
+links:
+- role: validation
+  uid: ../req/errata-gr740-18-1
+method: by-analysis
+references: []
+text: |
+  The errata of the ${/glossary/gr740:/term} is not applicable to the software
+  product since it does not provide a high-level SpaceWire driver.
+type: validation
diff --git a/spec/bsp/sparc/leon3/val/errata-gr740-18-2.yml b/spec/bsp/sparc/leon3/val/errata-gr740-18-2.yml
new file mode 100644
index 0000000..7ea4b59
--- /dev/null
+++ b/spec/bsp/sparc/leon3/val/errata-gr740-18-2.yml
@@ -0,0 +1,13 @@
+SPDX-License-Identifier: CC-BY-SA-4.0
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: sparc/gr740
+links:
+- role: validation
+  uid: ../req/errata-gr740-18-2
+method: by-analysis
+references: []
+text: |
+  The errata of the ${/glossary/gr740:/term} is not applicable to the software
+  product since it does not provide a high-level PCI driver.
+type: validation
diff --git a/spec/bsp/sparc/leon3/val/errata-gr740-18-3.yml b/spec/bsp/sparc/leon3/val/errata-gr740-18-3.yml
new file mode 100644
index 0000000..906f7bc
--- /dev/null
+++ b/spec/bsp/sparc/leon3/val/errata-gr740-18-3.yml
@@ -0,0 +1,13 @@
+SPDX-License-Identifier: CC-BY-SA-4.0
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: sparc/gr740
+links:
+- role: validation
+  uid: ../req/errata-gr740-18-3
+method: by-analysis
+references: []
+text: |
+  The errata of the ${/glossary/gr740:/term} is not applicable to the software
+  product since it not responsible for the L2 cache scrubber.
+type: validation
diff --git a/spec/bsp/sparc/leon3/val/errata-gr740-18-4.yml b/spec/bsp/sparc/leon3/val/errata-gr740-18-4.yml
new file mode 100644
index 0000000..6e04ab8
--- /dev/null
+++ b/spec/bsp/sparc/leon3/val/errata-gr740-18-4.yml
@@ -0,0 +1,13 @@
+SPDX-License-Identifier: CC-BY-SA-4.0
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: sparc/gr740
+links:
+- role: validation
+  uid: ../req/errata-gr740-18-4
+method: by-analysis
+references: []
+text: |
+  The errata of the ${/glossary/gr740:/term} is not applicable to the software
+  product since it does not provide a high-level SpaceWire driver.
+type: validation
diff --git a/spec/bsp/sparc/leon3/val/errata-gr740-20-1.yml b/spec/bsp/sparc/leon3/val/errata-gr740-20-1.yml
new file mode 100644
index 0000000..60c0a52
--- /dev/null
+++ b/spec/bsp/sparc/leon3/val/errata-gr740-20-1.yml
@@ -0,0 +1,13 @@
+SPDX-License-Identifier: CC-BY-SA-4.0
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: sparc/gr740
+links:
+- role: validation
+  uid: ../req/errata-gr740-20-1
+method: by-analysis
+references: []
+text: |
+  The errata of the ${/glossary/gr740:/term} is not applicable to the software
+  product since it does not use the MMU.
+type: validation
diff --git a/spec/bsp/sparc/leon3/val/errata-gr740-20-2.yml b/spec/bsp/sparc/leon3/val/errata-gr740-20-2.yml
new file mode 100644
index 0000000..4731957
--- /dev/null
+++ b/spec/bsp/sparc/leon3/val/errata-gr740-20-2.yml
@@ -0,0 +1,13 @@
+SPDX-License-Identifier: CC-BY-SA-4.0
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: sparc/gr740
+links:
+- role: validation
+  uid: ../req/errata-gr740-20-2
+method: by-analysis
+references: []
+text: |
+  The errata of the ${/glossary/gr740:/term} is not applicable to the software
+  product since it does not use the LEON4 Statistics Unit.
+type: validation
diff --git a/spec/bsp/sparc/leon3/val/errata-tn-0018-fp.yml b/spec/bsp/sparc/leon3/val/errata-tn-0018-fp.yml
new file mode 100644
index 0000000..43d3cd7
--- /dev/null
+++ b/spec/bsp/sparc/leon3/val/errata-tn-0018-fp.yml
@@ -0,0 +1,23 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: sparc/gr712rc
+links:
+- role: validation
+  uid: ../req/errata-gr712rc-20
+method: by-inspection
+references:
+- identifier: cpukit/score/cpu/sparc/syscall.S
+  hash: QDjhpRe0UrN3OhoVJEGSnJU0028ZHBGjXYFXrZsRwO4=
+  type: file
+text: |
+  The ``syscall_irqdis_fp`` trap handler always jumps back to a floating-point
+  instruction, thus no workaround is necessary.
+  
+  The ``syscall_lazy_fp_switch`` trap handler always jumps back to a
+  floating-point instruction or terminates the system with a jump to
+  ``_Internal_error()``, thus no workaround is necessary.  The
+  ``_Internal_error()`` function starts with a ``save`` instruction.  Also this
+  function terminates the system, so that the ``rett`` instruction should never
+  be in the instruction cache since the code path is only executed once.
+type: validation
diff --git a/spec/bsp/sparc/leon3/val/errata-tn-0018-interrupt-disable-enable.yml b/spec/bsp/sparc/leon3/val/errata-tn-0018-interrupt-disable-enable.yml
new file mode 100644
index 0000000..0360c31
--- /dev/null
+++ b/spec/bsp/sparc/leon3/val/errata-tn-0018-interrupt-disable-enable.yml
@@ -0,0 +1,21 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: sparc/gr712rc
+links:
+- role: validation
+  uid: ../req/errata-gr712rc-20
+method: by-inspection
+references:
+- identifier: cpukit/score/cpu/sparc/include/rtems/score/sparc.h
+  hash: PRwOyOwR1b2y0Pno_KTXlY-o0QXIm_TfVZM24eDmt0s=
+  type: file
+- identifier: cpukit/score/cpu/sparc/sparc-counter-asm.S
+  hash: X8UNM08ffHOazOxa3gY4Vqsn2ZJmX8rrM3drT_8QpLQ=
+  type: file
+text: |
+  For the ``syscall_irqdis`` and ``syscall_irqen`` traps a workaround was
+  implemented by inserting a ``nop`` instruction in system call generation.
+  Thus the corresponding trap handler always returns to a non-``jmpl``
+  instruction.
+type: validation
diff --git a/spec/bsp/sparc/leon3/val/errata-tn-0018-interrupts.yml b/spec/bsp/sparc/leon3/val/errata-tn-0018-interrupts.yml
new file mode 100644
index 0000000..26becb7
--- /dev/null
+++ b/spec/bsp/sparc/leon3/val/errata-tn-0018-interrupts.yml
@@ -0,0 +1,19 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: sparc/gr712rc
+links:
+- role: validation
+  uid: ../req/errata-gr712rc-20
+method: by-inspection
+references:
+- identifier: cpukit/score/cpu/sparc/cpu_asm.S
+  hash: ZvR01zogfIGxPsSTqTesSMRDXlQFV9I0TOZ9eUAsQt8=
+  type: file
+- identifier: cpukit/score/cpu/sparc/sparc-isr-handler.S
+  hash: J6qNYoUFUVXetylnUNrz7MY1jrBs4AbuS5mxyZ4FxEc=
+  type: file
+text: |
+  A special ``rett`` sequence errata workaround was implemented for the
+  interrupt trap handler.
+type: validation
diff --git a/spec/bsp/sparc/leon3/val/errata-tn-0018-macros.yml b/spec/bsp/sparc/leon3/val/errata-tn-0018-macros.yml
new file mode 100644
index 0000000..d24ee1a
--- /dev/null
+++ b/spec/bsp/sparc/leon3/val/errata-tn-0018-macros.yml
@@ -0,0 +1,21 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: sparc/gr712rc
+links:
+- role: validation
+  uid: ../req/errata-tn-0018-macro-fix
+- role: validation
+  uid: ../req/errata-tn-0018-macro-wait-iflush
+- role: validation
+  uid: ../req/errata-tn-0018-macro-write-psr
+method: by-inspection
+references:
+- identifier: cpukit/score/cpu/sparc/include/libcpu/grlib-tn-0018.h
+  hash: 2H6O61TZYKcwDpr_dKrDOe8xkMNjXz45Oh6bwL5b2vM=
+  type: file
+text: |
+  The ${/glossary/sourcecode:/term} of the software product was reviewed for a
+  correct implementation of the errata workaround support macros.  The macros
+  are correctly implemented.
+type: validation
diff --git a/spec/bsp/sparc/leon3/val/errata-tn-0018-syscall.yml b/spec/bsp/sparc/leon3/val/errata-tn-0018-syscall.yml
new file mode 100644
index 0000000..e36251d
--- /dev/null
+++ b/spec/bsp/sparc/leon3/val/errata-tn-0018-syscall.yml
@@ -0,0 +1,15 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: sparc/gr712rc
+links:
+- role: validation
+  uid: ../req/errata-gr712rc-20
+method: by-inspection
+references:
+- identifier: cpukit/score/cpu/sparc/syscall.S
+  hash: QDjhpRe0UrN3OhoVJEGSnJU0028ZHBGjXYFXrZsRwO4=
+  type: file
+text: |
+  The ``syscall`` trap handler shuts down the system and never returns.
+type: validation
diff --git a/spec/bsp/sparc/leon3/val/errata-tn-0018-window-flush.yml b/spec/bsp/sparc/leon3/val/errata-tn-0018-window-flush.yml
new file mode 100644
index 0000000..136dc11
--- /dev/null
+++ b/spec/bsp/sparc/leon3/val/errata-tn-0018-window-flush.yml
@@ -0,0 +1,16 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: sparc/gr712rc
+links:
+- role: validation
+  uid: ../req/errata-gr712rc-20
+method: by-inspection
+references:
+- identifier: cpukit/score/cpu/sparc/window.S
+  hash: C4nky3WMzvibNRRv3cK3dmmbw0erz-RV3t1CL6ZV2dk=
+  type: file
+text: |
+  A special ``rett`` sequence errata workaround was implemented for the window
+  flush trap handler.
+type: validation
diff --git a/spec/bsp/sparc/leon3/val/errata-tn-0018-window-overflow.yml b/spec/bsp/sparc/leon3/val/errata-tn-0018-window-overflow.yml
new file mode 100644
index 0000000..6737422
--- /dev/null
+++ b/spec/bsp/sparc/leon3/val/errata-tn-0018-window-overflow.yml
@@ -0,0 +1,13 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: sparc/gr712rc
+links:
+- role: validation
+  uid: ../req/errata-gr712rc-20
+method: by-analysis
+references: []
+text: |
+  There is no errata workaround necessary for the window overflow trap, since
+  the window overflow trap always returns to a ``save`` instruction.
+type: validation
diff --git a/spec/bsp/sparc/leon3/val/errata-tn-0018-window-underflow.yml b/spec/bsp/sparc/leon3/val/errata-tn-0018-window-underflow.yml
new file mode 100644
index 0000000..945a6f3
--- /dev/null
+++ b/spec/bsp/sparc/leon3/val/errata-tn-0018-window-underflow.yml
@@ -0,0 +1,13 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: sparc/gr712rc
+links:
+- role: validation
+  uid: ../req/errata-gr712rc-20
+method: by-analysis
+references: []
+text: |
+  There is no errata workaround necessary for the window underflow trap, since
+  the window underflow trap always returns to a ``restore`` instruction.
+type: validation
diff --git a/spec/bsp/sparc/leon3/val/gr712rc.yml b/spec/bsp/sparc/leon3/val/gr712rc.yml
new file mode 100644
index 0000000..33d8df6
--- /dev/null
+++ b/spec/bsp/sparc/leon3/val/gr712rc.yml
@@ -0,0 +1,58 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links: []
+test-actions:
+- action-brief: |
+    Validate the use of the ``-mfix-gr712rc`` compiler option.
+  action-code: |
+    const char *s;
+  checks:
+  - brief: |
+      Check that the compiler built-in define ``__FIX_LEON3FT_B2BST`` is
+      defined.
+    code: |
+      #if !defined(__FIX_LEON3FT_B2BST)
+      #error "__FIX_LEON3FT_B2BST is not defined"
+      #endif
+    links:
+    - role: validation
+      uid: ../req/errata-gr712rc-compiler-fix
+  - brief: |
+      Check that the compiler built-in define ``__FIX_LEON3FT_TN0018`` is
+      defined.
+    code: |
+      #if !defined(__FIX_LEON3FT_TN0018)
+      #error "__FIX_LEON3FT_TN0018 is not defined"
+      #endif
+    links:
+    - role: validation
+      uid: ../req/errata-gr712rc-compiler-fix
+  - brief: |
+      Check that the ``SPARC_LEON3FT_B2BST_NOP`` define expands to a ``nop``
+      instruction.
+    code: |
+      s = RTEMS_XSTRING( SPARC_LEON3FT_B2BST_NOP );
+      T_true( IsEqualIgnoreWhiteSpace( s, "nop" ) );
+    links:
+    - role: validation
+      uid: ../req/errata-b2bst-nop
+  links: []
+test-brief: |
+  This test case collection provides validation test cases for the
+  ``sparc/gr712rc`` ${/glossary/bsp:/term}.
+test-context: []
+test-context-support: null
+test-description: null
+test-header: null
+test-includes:
+- bsp.h
+test-local-includes:
+- tx-support.h
+test-setup: null
+test-stop: null
+test-support: null
+test-target: testsuites/validation/tc-bsp-sparc-leon3-gr712rc.c
+test-teardown: null
+type: test-case
diff --git a/spec/req/errata.yml b/spec/req/errata.yml
new file mode 100644
index 0000000..cd990ff
--- /dev/null
+++ b/spec/req/errata.yml
@@ -0,0 +1,15 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de
+enabled-by: true
+links:
+- role: requirement-refinement
+  uid: root
+non-functional-type: design
+rationale: null
+references: []
+requirement-type: non-functional
+text: |
+  The software product shall take ${/glossary/target:/term} errata into
+  account.
+type: requirement
diff --git a/spec/testsuites/bsp-sparc-leon3-gr712rc.yml b/spec/testsuites/bsp-sparc-leon3-gr712rc.yml
new file mode 100644
index 0000000..c0f788a
--- /dev/null
+++ b/spec/testsuites/bsp-sparc-leon3-gr712rc.yml
@@ -0,0 +1,19 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: sparc/gr712rc
+links:
+- role: requirement-refinement
+  uid: /req/test-suites
+test-brief: |
+  This validation test suite contains BSP-specific test cases.
+test-code: |
+  const char rtems_test_name[] = "${.:/test-suite-name}";
+
+  #include "ts-default.h"
+test-description: null
+test-includes: []
+test-local-includes: []
+test-suite-name: BspSparcLeon3Gr712rc
+test-target: testsuites/validation/ts-bsp-sparc-leon3-gr712rc.c
+type: test-suite



More information about the vc mailing list