Skip to content

Commit

Permalink
Merge pull request #3 from ARM-software/master
Browse files Browse the repository at this point in the history
Updating release branch with Beta Code from master
  • Loading branch information
prasanth-pulla authored Apr 24, 2017
2 parents 02bb3d5 + 6e7d750 commit 232c5e0
Show file tree
Hide file tree
Showing 88 changed files with 3,635 additions and 587 deletions.
72 changes: 43 additions & 29 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,28 +12,38 @@ For more information, download the [SBSA specification](http://infocenter.arm.co

SBSA **Architecture compliance suite** is a collection of self-checking, portable C-based tests.
These tests check an implementation for compliance against SBSA specification version 3.0.
The present release implements a UEFI shell application to execute these tests from UEFI Shell.
Amajority of the tests are executed from UEFI Shell by executing the SBSA UEFI shell application.
A few tests are executed by running the SBSA Linux application which in turn depends on the SBSA Linux kernel module.


## Release Details
- Code Quality : Alpha
- The result of a test should not be taken as a true indication of compliance. There is a possibility of false positives / false negetives.
- There are gaps in the test coverage. Refer to the [Testcase checklist](docs/testcase-checklist.md) for details.
## Release details
- Code Quality : Beta
- Test results should not be taken as a true indication of compliance; there may be false positives/negetives.
- Test coverage is not complete yet. See the [Testcase checklist](docs/testcase-checklist.md) for details.

1. For details on the SBSA ACS UEFI Shell Application, refer to the [SBSA ACS User Guide](docs/SBSA_ACS_User_Guide.pdf)
2. For more details on the Design of the SBSA ACS, refer to the [Validation Methodology Document](docs/SBSA_Val_Methodolgy.pdf)
3. For details on the test coverage, the scenarios implemented in the present release of the ACS and the scenarios planned in the future release, refer to the [Testcase checklist](docs/testcase-checklist.md)

### Prerequisites
## Github branch
- To pick up the release version of the code, checkout the release branch.
- To get the latest version of the code with bug fixes and new features, use the master branch.

1. EDK2 source tree. git clone [EDK2 tree](https://github.com/tianocore/edk2)
2. Install GCC 5.3 or later toolchain from [here](https://releases.linaro.org/components/toolchain/binaries/)
3. Install the Build pre-requisite packages to build EDK2. The details are beyond the scope of this document.
### SBSA ACS Linux kernel module
- The Linux kernel module files and the kernel patch file to enable the export of a few kernel APIs needed for the PCIe and IOMMU tests are located at [linux-arm.org/git](http://www.linux-arm.org/git?p=linux-acs.git).

## Target platforms
Any AARCH64 enterprise Platform which boots UEFI and Linux OS.

## Additional Reading
1. For details on the SBSA ACS UEFI Shell Application, refer to the [SBSA ACS User Guide](docs/SBSA_ACS_UEFI_App_User_Guide.pdf)
2. For more details on the Design of the SBSA ACS, refer to the [Validation Methodology Document](docs/SBSA_Val_Methodolgy.pdf)
3. For details on the test coverage, the scenarios implemented in the present release of the ACS and the scenarios planned in the future release, refer to the [Testcase checklist](docs/testcase-checklist.md)
### Prerequisites

### ACS Build steps
1. Any mainstream Linux based OS distribution
2. git clone [EDK2 tree](https://github.com/tianocore/edk2)
3. Install GCC 5.3 or later toolchain for Linux from [here](https://releases.linaro.org/components/toolchain/binaries/)
4. Install the Build pre-requisite packages to build EDK2. The details are beyond the scope of this document.


### ACS build steps - UEFI Shell application

1. cd local_edk2_path
2. git clone https://github.com/ARM-software/sbsa-acs AppPkg/Applications/sbsa-acs
Expand All @@ -42,24 +52,25 @@ The present release implements a UEFI shell application to execute these tests f
- Add SbsaPalLib|AppPkg/Applications/sbsa-acs/platform/pal_uefi/SbsaPalLib.inf
4. Add AppPkg/Applications/sbsa-acs/uefi_app/SbsaAvs.inf in the [components] section of ShellPkg/ShellPkg.dsc

#### Linux
1. export GCC49_AARCH64_PREFIX= "GCC5.3 toolchain path"/bin/aarch64-linux-gnu-
#### Linux build environment
1. export GCC49_AARCH64_PREFIX= GCC5.3 toolchain path pointing to /bin/aarch64-linux-gnu-
2. source edksetup.sh
3. make -C BaseTools/Source/C
4. source AppPkg/Applications/sbsa-acs/tools/scripts/avsbuild.sh

#### Windows
1. Set the toolchain path to GCC53.
2. set up the environment for AARCH64 - edk2 build.
3. Build the Sbsa Shell application. example: build -a AARCH64 -t GCC49 -p ShellPkg/ShellPkg.dsc -m AppPkg/Applications/sbsa-acs/uefi_app/SbsaAvs.inf
#### Windows build environment
1. Set the toolchain path to GCC53 or above.
2. Setup the environment for AARCH64 EDK2 build.
3. Build the SBSA shell application. Example: build -a AARCH64 -t GCC49 -p ShellPkg/ShellPkg.dsc -m
AppPkg/Applications/sbsa-acs/uefi_app/SbsaAvs.inf

### Build Output
### Build output

The EFI executable file is generated at
edk2_path/Build/Shell/DEBUG_GCC49/AARCH64/Sbsa.efi
edk2_path /Build/Shell/DEBUG_GCC49/AARCH64/Sbsa.efi


## Test Suite Execution
## Test suite execution

The compliance suite execution will vary depending on the Test environment. The below steps assume that the test suite is invoked via the UEFI shell application which is provided as part of the Kit.

Expand All @@ -75,7 +86,7 @@ On a system where a USB port is available and functional, follow the below steps
4. Execute “map –r” command to determine the file system number of the plugged in USB drive
5. Type “fs<x>” where <x> is replaced by the number determined in the step above
6. Run the executable “Sbsa.efi” with the appropriate parameters to start the compliance tests
- for details on the parameters, refer to [SBSA ACS User Guide](docs/SBSA_ACS_UEFI_App_User_Guide.pdf)
- for details on the parameters, refer to [SBSA ACS User Guide](docs/SBSA_ACS_User_Guide.pdf)
7. Copy the UART console output to a log file for analysis and certification


Expand All @@ -91,7 +102,7 @@ On a system where a USB port is available and functional, follow the below steps
4. Execute “map –r” command to determine the file system number of the secondary storage.
5. Type “fs<x>” where <x> is replaced by the number determined in the step above.
6. Run the executable “Sbsa.efi” to start the compliance tests.
- for details on the parameters, refer to [SBSA ACS User Guide](docs/SBSA_ACS_UEFI_App_User_Guide.pdf)
- for details on the parameters, refer to [SBSA ACS User Guide](docs/SBSA_ACS_User_Guide.pdf)
7. Copy the UART console output to a log file for analysis and certification

### Emulation environment without secondary storage
Expand All @@ -100,19 +111,22 @@ On an Emulation platform where secondary storage is not available.

1. Add the Sbsa.efi file as part of the UEFI FD file.
- Add SbsaAvs.inf and the dependant VAL and PAL inf files to the Platform dsc and fdf files.
- Or add the SbsaAvs.inf and the dependant VAL and PAL inf files to the UefiShellCommandLib.inf
2. Build UEFI image including the UEFI Shell.
3. Boot the system to UEFI shell.
4. Run the executable “Sbsa.efi” to start the compliance tests.
- for details on the parameters, refer to [SBSA ACS User Guide](docs/SBSA_ACS_UEFI_App_User_Guide.pdf)
- for details on the parameters, refer to [SBSA ACS User Guide](docs/SBSA_ACS_User_Guide.pdf)
5. Copy the UART console output to a log file for analysis and certification.

## License

## Linux OS based tests
Certain PCIe and IOMMU tests require Linux operating system with kernel version 4.10 or above. The description on how to build and run these tests are part of the [SBSA ACS User Guide](docs/SBSA_ACS_User_Guide.pdf).


## License
SBSA ACS is distributed under Apache v2.0 License.


## Feedback, Contrubutions and Support
## Feedback, contrubutions and support

- Please use the GitHub Issue Tracker associated with this repository for feedback.
- ARM licensees may contact ARM directly via their partner managers.
Expand Down
Binary file removed docs/SBSA_ACS_UEFI_App_User_Guide.pdf
Binary file not shown.
Binary file added docs/SBSA_ACS_User_Guide.pdf
Binary file not shown.
Binary file modified docs/SBSA_Val_Methodolgy.pdf
Binary file not shown.
Loading

0 comments on commit 232c5e0

Please sign in to comment.