Skip to content

Commit

Permalink
Changes to READMe and version (ARM-software#401)
Browse files Browse the repository at this point in the history
- Changed the ACS version to 1.0.9
- Changes to READMe file on edk2 commit and release
- change to checklist

Signed-off-by: Sujana M <[email protected]>
  • Loading branch information
Sujana-M authored Nov 21, 2024
1 parent b35fbfe commit c4ebf54
Show file tree
Hide file tree
Showing 7 changed files with 34 additions and 11 deletions.
11 changes: 6 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,21 +5,21 @@
## Base System Architecture
**Base System Architecture** (BSA) specification describes a hardware system architecture based on the Arm 64-bit architecture. System software such as operating systems, hypervisors, and firmware rely on this. It addresses PE features and key aspects of system architecture.

For more information, download the [BSA specification](https://developer.arm.com/documentation/den0094/c/?lang=en)
For more information, download the [BSA specification](https://developer.arm.com/documentation/den0094/d/?lang=en)


## BSA - Architecture Compliance Suite

BSA **Architecture Compliance Suite** (ACS) is a collection of self-checking, portable C-based tests.
This suite includes a set of examples of the invariant behaviors that are provided by the [BSA](https://developer.arm.com/documentation/den0094/c/?lang=en) specification, so that you can verify if these behaviour have been interpreted correctly.
This suite includes a set of examples of the invariant behaviors that are provided by the [BSA](https://developer.arm.com/documentation/den0094/d/?lang=en) specification, so that you can verify if these behaviour have been interpreted correctly.

Most of the tests are executed from UEFI (Unified Extensible Firmware Interface) Shell by executing the BSA UEFI shell application.
A few tests are executed by running the BSA ACS Linux application which in turn depends on the BSA ACS Linux kernel module.
The tests can also be executed in a Bare-metal environment. The initialization of the Bare-metal environment is specific to the environment and is out of scope of this document.

## Release details
- Code quality: v1.0.8
- The tests are written for version 1.0 (c) of the BSA specification.
- Code quality: v1.0.9
- The tests are written for version 1.1 of the BSA specification.
- The tests can be run at both the Pre-Silicon and Silicon level.
- For complete coverage of the BSA rules, availability of an Exerciser is required for Exerciser tests to be run during verficiation at Pre-Silicon level.
- The compliance suite is not a substitute for design verification.
Expand Down Expand Up @@ -55,7 +55,7 @@ Prebuilt images for each release are available in the prebuilt_images folder of
Before you start the ACS build, ensure that the following requirements are met.

- Any mainstream Linux-based OS distribution running on a x86 or AArch64 machine.
- git clone the [EDK2 tree](https://github.com/tianocore/edk2). Recommended edk2 tag is edk2-stable202402
- git clone the [EDK2 tree](https://github.com/tianocore/edk2). Recommended edk2 commit is 836942fbadb629050b866a8052e6af755bcdf623
- git clone the [EDK2 port of libc](https://github.com/tianocore/edk2-libc) to local <edk2_path>.
- Install GCC-ARM 13.2 [toolchain](https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads).
- Install the build prerequisite packages to build EDK2.<br />
Expand Down Expand Up @@ -263,6 +263,7 @@ The Arm SystemReady ACS test suite may run at a higher privilege level. An attac
--------------------------------------------------------------------------------------------
| BSA Spec Version | BSA ACS Version | BSA Tag ID | Pre-Si Support |
|-----------------------|:-------------------:|:-------------------:|:--------------------:|
| BSA v1.1 | v1.0.9 | v24.11_REL1.0.9 | Yes |
| BSA v1.0(c) | v1.0.8 | v24.03_REL1.0.8 | Yes |
| BSA v1.0(c) | v1.0.7 | v23.12_REL1.0.7 | Yes |
| BSA v1.0(c) | v1.0.6 |v23.11_BootFramework | Yes |
Expand Down
2 changes: 1 addition & 1 deletion baremetal_app/BsaAcs.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@

#define BSA_ACS_MAJOR_VER 1
#define BSA_ACS_MINOR_VER 0
#define BSA_ACS_SUBMINOR_VER 8
#define BSA_ACS_SUBMINOR_VER 9

#define INVALID_MPIDR 0xffffffff

Expand Down
23 changes: 22 additions & 1 deletion docs/PCIe_Exerciser/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,9 +53,30 @@ To run the BSA exerciser tests make the following change in ${rdn2_path}/model-s
+ -C pcie_group_0.pciex16.hierarchy_file_name="example_pcie_hierarchy_0.json" \
```

### Minimum requirement of PCIe Hierarchy

The diagram below illustrates the minimal PCIe hierarchy structure necessary for comprehensive testing of an exerciser test case.

```
________________________________
| Root Bridge |
|________________________________|
| | |
| | |
___|__ ____|____ ____|____
| RCiEP| | RootPort| | RootPort|
|______| |_________| |_________|
| |
| |
____|_____ ____|_____
| Exerciser| | Exerciser|
| EndPoint | | EndPoint |
|__________| |__________|
```

## Useful links

- For information on configuring the [PCIe Hierarchy](PCIeConfigurableHierarchy.md)
- For more information on PCIe capabilities that exerciser supports, refer [Exerciser.md](Exerciser.md)

*Copyright (c) 2023 Arm Limited and Contributors. All rights reserved.*
*Copyright (c) 2023-2024 Arm Limited and Contributors. All rights reserved.*
2 changes: 1 addition & 1 deletion docs/arm_bsa_testcase_checklist.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ BSA ACS Testcase checklist
The below table provides the following details

#. BSA rules covered by a test.
#. SystemReady certification band(IR, ES and SR) for which test is required.
#. SystemReady band(IR, ES and SR) for which test is required.
#. Runtime environment(UEFI, BareMetal and Linux) where test executes.
#. Tests for which exerciser is required.

Expand Down
2 changes: 1 addition & 1 deletion linux_app/bsa-acs-app/include/bsa_app.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@

#define BSA_APP_VERSION_MAJOR 1
#define BSA_APP_VERSION_MINOR 0
#define BSA_APP_VERSION_SUBMINOR 8
#define BSA_APP_VERSION_SUBMINOR 9

#define G_SW_OS 0
#define G_SW_HYP 1
Expand Down
3 changes: 2 additions & 1 deletion mem_test/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,9 @@ might lead to unpredictable behavior in concurrent programs.

## Steps to build litmus tests into bsa-acs
1. Setup edk2 build directory
> git clone --branch edk2-stable202402 https://github.com/tianocore/edk2.git
> git clone https://github.com/tianocore/edk2.git
> cd edk2
> git checkout 836942fbadb629050b866a8052e6af755bcdf623
> git clone https://github.com/tianocore/edk2-libc.git
> git submodule update --init --recursive
Expand Down
2 changes: 1 addition & 1 deletion uefi_app/BsaAcs.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@

#define BSA_ACS_MAJOR_VER 1
#define BSA_ACS_MINOR_VER 0
#define BSA_ACS_SUBMINOR_VER 8
#define BSA_ACS_SUBMINOR_VER 9

#define G_PRINT_LEVEL ACS_PRINT_TEST

Expand Down

0 comments on commit c4ebf54

Please sign in to comment.