AMD EPYC Linux Feature Documentation project includes information on various EPYC feature and their enablement in Linux environment. This documentation serves as a guidance to EPYC users to detect and test the EPYC feature enablement in Linux environment.
The AMD EPYC Linux Feature Documentation repository is divided into following technology domains:
- Cores (core/)
- IOMMU (io/)
- Locking (locking/)
- Memory Management (mm/)
- Performance Monitoring (pmu/)
- Power Management (pm/)
- Linux RAS (ras/)
- Scheduler (sched/)
- Secure Virtualization (svirt/)
- Virtualization (virt/)
These domains will include guide for feature detection, the state of feature enablement, best practices, and optionally steps to test the Feature for functional correctness.
The .md files contain the following details:
- Introduction: A brief introduction of the feature
- Significance: Describes the need for the feature and its significance.
- Support: Processor family supporting the feature and additional information to detect its presence (CPUID, MSR, etc.)
- Reference: Additional documentation of the feature including references to relevant specifications, and references to relevant sections of AMD64 Architecture Programmer’s Manual, Processor Programming Reference (PPR), etc.
- Design Description: Linux specific design details of the feature.
- Enablement: Upstream commit, mailing list information, and/or git tree containing the feature implementation.
- Prerequisite: Dependency information like kernel cmdline, BIOS settings, BIOS version, CPU firmware version, kernel config, any library, toolchain, external firmware dependency, etc.
- Test Environment: Details on setting up the environment and the relevant test cases to verify the feature implementation.
- Quirks: Errata, functional and implementation oddities of note around the feature.
This is a rough guidance for the content of feature documentation. The actual formatting is left to the author's discretion.
Building the documentation requires the following packages
doxygen graphviz texlive-latex-base texlive-fonts-recommended texlive-extra-utils texlive-latex-extra
To build the document, please run:
make clean
make docs
This will generate "epyc_linux_feature_doc.pdf" in the root directory.