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.
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.
- Phase IV: – AMD openSIL POR with UEFI Host FW trending 2026.
- 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 firstname.lastname@example.org: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.
Firmware Reference Platform
Server F19M10 UEFI Onyx
- Formal documentation to be published to this repository.
- Continuous integration (CI) tools will be implemented as a pre-requisite to merging pull requests.
The MIT License (MIT): https://opensource.org/license/mit/