summaryrefslogtreecommitdiffstats
path: root/spec/bsp/sparc/leon3/val/errata-gr712rc-08.yml
blob: e64ca676459f64d074d2aa3ac7b0302874bee40c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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