About the project:
The AMD open Silicon Initialization Library (openSIL) is a collection of C libraries which can be integrated into an x86 host firmware, by directly compiling source or by linking with static libraries.
AMD openSIL consists of three statically linked libraries; xSIM (x86 Silicon Initialization Libraries), xPRF (x86 Platform Reference Library), and xUSL (x86 Utilities & Services Library). These libraries can be statically linked to a host firmware during compile/link time.
Source for the libraries resides under xSIM, xPRF, and xUSL.
AMD openSIL open-source projected roadmap:
Evaluation Only Phases (no support for production implementations):
- Phase I – Internal POC (complete).
- Phase II – AMD openSIL POC open-sourced for evaluation on AMD 4th Gen EPYC™ based CRB (complete: this source).
- Phase III – POC openSIL POC open-sourced, trending Q4 2024.
Production Phase:
- Phase IV: – AMD openSIL POR with UEFI Host FW trending 2026.
Getting Started:
-
Clone Repository:
- Establish your GitHub user account and your SSH keys (details are beyond this doc)
- Open a command/terminal window
- Run git to obtain the project:
> git clone git@github.com:openSIL/openSIL.git
-
Establish the project environment variables.
- You will find a shell/cmd file (SetSilEnv) in the ‘util’ directory for this purpose.
-
Configure your project
-
This release of the AMD openSIL libraries supports AMD 4th Gen EPYC™ on the Onyx CRB only.
-
The openSIL project uses the python version of the Kconfig tool for this purpose. (See GitHub Kconfiglib).
-
Run the interactive configuration UI:
> python %PYTHONPATH%menuconfig.py Kconfig
-
-
Build openSIL Libraries:
- The AMD openSIL library build is performed using ‘Meson build’, an open source python tool (see GitHub). Several targets allow a focused build for xUSL, xSIM, xPRF or openSIL(xUSL + xSIM + XPRF) static libraries. AMD openSIL specific Meson build documentation is not yet available.
- The project can be built for 32bit and/or 64bit compilation and static libraries.
- The project supports both the GNU/GCC or LLVM/clang tool chain and the Microsoft Visual C tool chain. Generally it is recommended to use the latest versions of these tool chains.
Specific versions being used today (June 2023) are:- GCC – v10.2.0
- llvm/clang – v10.0
- MSVC v19.00.24210 (Visual Studio 2015)
-
Integrate with Host Firmware:
- AMD has a separate repository (“opensil-uefi-interface” ) for helping customers integrate openSIL with previous UEFI-AGESA installations. Please contact your AMD representative for more information.
-
Test Host Firmware on reference platform
-
All AMD openSIL testing has been performed on AMD an AMD reference platform (Onyx CRB).
-
Present list of supported reference platforms is shown in the following table.
Market
SegmentAMD Processor
Family ModelFirmware Reference Platform
NameServer F19M10 UEFI Onyx
-
Forthcoming items:
- Formal documentation to be published to this repository.
- Continuous integration (CI) tools will be implemented as a pre-requisite to merging pull requests.
License:
The MIT License (MIT): https://opensource.org/license/mit/