Skip to content

Commit

Permalink
docs: fusa: Add Assumption of Use (AOU)
Browse files Browse the repository at this point in the history
AoU are the assumptions that Xen relies on other components (eg platform
platform, domains) to fulfill its requirements. In our case, platform means
a combination of hardware, firmware and bootloader.

We have defined AoU in the intro.rst and added AoU for the generic
timer.

Also, fixed a requirement to denote that Xen shall **not** expose the
system counter frequency via the "clock-frequency" device tree property.
The reason being the device tree documentation strongly discourages the
use of this peoperty. Further if the "clock-frequency" is exposed, then
it overrides the value programmed in the CNTFRQ_EL0 register.

So, the frequency shall be exposed via the CNTFRQ_EL0 register only and
consequently there is an assumption on the platform to program the
register correctly.

Signed-off-by: Michal Orzel <[email protected]>
Signed-off-by: Ayan Kumar Halder <[email protected]>
Reviewed-by: Julien Grall <[email protected]>
Reviewed-by: Bertrand Marquis <[email protected]>
  • Loading branch information
orzelmichal authored and sstabellini committed Oct 2, 2024
1 parent 633ee8b commit f9ce66e
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 1 deletion.
24 changes: 23 additions & 1 deletion docs/fusa/reqs/design-reqs/arm64/generic-timer.rst
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ Read system counter frequency

Description:
Xen shall expose the frequency of the system counter to the domains in
CNTFRQ_EL0 register and/or domain device tree's "clock-frequency" property.
CNTFRQ_EL0 register.

Rationale:

Expand Down Expand Up @@ -116,6 +116,28 @@ Rationale:

Comments:

Covers:
- `XenProd~emulated_timer~1`

Assumption of Use on the Platform
=================================

Expose system timer frequency via register
------------------------------------------

`XenSwdgn~arm64_generic_timer_plat_program_cntfrq_el0~1`

Description:
CNTFRQ_EL0 register shall be programmed with the value of the system timer
frequency.

Rationale:
Xen reads the CNTFRQ_EL0 register to get the value of system timer frequency.

Comments:
While there is a provision to get this value by reading the "clock-frequency"
dt property [2], the use of this property is strongly discouraged.

Covers:
- `XenProd~emulated_timer~1`

Expand Down
10 changes: 10 additions & 0 deletions docs/fusa/reqs/intro.rst
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,16 @@ The requirements are linked using OpenFastTrace
OpenFastTrace parses through the requirements and generates a traceability
report.

Assumption of Use
=================

Xen is making several assumptions on the status of the platform or on some
functions being present and operational. For example, Xen might assume that
some registers are set.
Anybody who wants to use Xen must validate that the platform it is used on
(meaning the hardware and any software running before Xen like the firmware)
fulfils all the AoU described by Xen.

The following is the skeleton for a requirement.

Title of the requirement
Expand Down

0 comments on commit f9ce66e

Please sign in to comment.