Realm Management Monitor Logo
v0.8.0+g9c51b8
  • Home
  • About
    • 1. Readme for TF-RMM
      • 1.1. License
        • 1.1.1. Third Party Projects
      • 1.2. Contributing
      • 1.3. Feedback and support
    • 2. Project Maintenance
      • 2.1. Maintainers
    • 3. Change-log and Release notes
      • 3.1. v0.8.0
        • 3.1.1. New features in this release
        • 3.1.2. Bug fixes/improvements in this release
        • 3.1.3. Build/Testing/Tooling improvements
        • 3.1.4. Platforms
        • 3.1.5. Known issues and limitations
        • 3.1.6. Upcoming features
      • 3.2. v0.7.0
        • 3.2.1. New features in this release
        • 3.2.2. Bug fixes/improvements in this release
        • 3.2.3. Build/Testing/Tooling improvements
        • 3.2.4. Platforms
        • 3.2.5. Known issues and limitations
        • 3.2.6. Upcoming features
      • 3.3. v0.6.0
        • 3.3.1. New features in this release
        • 3.3.2. Bug fixes/improvements in this release
        • 3.3.3. Build/Testing/Tooling improvements
        • 3.3.4. Platforms
        • 3.3.5. Known issues and limitations
        • 3.3.6. Upcoming features
      • 3.4. v0.5.0
        • 3.4.1. New features in this release
        • 3.4.2. Bug fixes/improvements in this release
        • 3.4.3. Build/Testing/Tooling improvements
        • 3.4.4. Platforms
        • 3.4.5. Known issues and limitations
        • 3.4.6. Upcoming features
      • 3.5. v0.4.0
        • 3.5.1. New features in this release
        • 3.5.2. Build/Testing/Tooling improvements
        • 3.5.3. Platforms
        • 3.5.4. Bug fixes/improvements in this release
        • 3.5.5. Known issues and limitations
        • 3.5.6. Upcoming features
      • 3.6. v0.3.0
        • 3.6.1. New features in this release
        • 3.6.2. Build/Testing improvements
        • 3.6.3. Bug fixes in this release
        • 3.6.4. Upcoming features
        • 3.6.5. Known issues and limitations
      • 3.7. v0.2.0
      • 3.8. v0.1.0
        • 3.8.1. Upcoming features
        • 3.8.2. Known issues and limitations
    • 4. Developer Certificate of Origin
    • 5. License
  • Getting Started Guides
    • 1. Prerequisite
    • 2. Build Host
    • 3. Tool & Dependency overview
    • 4. Setup Toolchain
    • 5. Package Installation (Ubuntu-20.04 x64)
    • 6. Install python dependencies
    • 7. Install python dependencies for Documentation
    • 8. Install coverage tools analysis dependencies
    • 9. Getting the RMM Source
      • 9.1. Additional steps for Contributors
    • 10. Install Cppcheck and dependencies
    • 11. Install CBMC
    • 12. Install Clang-tidy
    • 13. Performing an Initial Build
    • 14. Running the RMM
    • 15. RMM Build Examples
    • 16. RMM Build Options
    • 17. RMM LLVM Build
    • 18. RMM Fake Host Build
    • 19. Building with Shrinkwrap
      • 19.1. Introduction
      • 19.2. Setup local RMM with Shrinkwrap
      • 19.3. 3-World testing
      • 19.4. 3-World testing with CCA DA
      • 19.5. Testing RMM with TFTF
      • 19.6. Overlays
        • 19.6.1. Example of use
  • Process
    • 1. Coding Standard
      • 1.1. General
      • 1.2. File Encoding
      • 1.3. Language
      • 1.4. C Language Standard
      • 1.5. Length
      • 1.6. Headers/Footers
      • 1.7. Naming conventions
      • 1.8. Indentation
      • 1.9. Spacing
      • 1.10. Braces
      • 1.11. Commenting
      • 1.12. Error return values and Exception handling
      • 1.13. Use of asserts and panic
      • 1.14. Using COMPILER_ASSERT to check for compile time data errors
      • 1.15. Data types, structures and typedefs
      • 1.16. Macros and Enums
      • 1.17. Switch statements
      • 1.18. Inline assembly
      • 1.19. Libc functions that are banned or to be used with caution
    • 2. Security Handling
    • 3. Commit Style
      • 3.1. Mandated Trailers
    • 4. Contributor’s Guide
      • 4.1. Getting Started
      • 4.2. Making Changes
      • 4.3. Submitting Changes
      • 4.4. License and Copyright for Contributions
  • Design
    • 1. RMM Locking Guidelines
      • 1.1. Introduction
      • 1.2. Requirements
        • 1.2.1. Critical Section
        • 1.2.2. Mutual Exclusion
        • 1.2.3. Deadlock Avoidance
        • 1.2.4. Starvation Avoidance
        • 1.2.5. Nested Critical Sections
      • 1.3. Implementation
        • 1.3.1. Locking
        • 1.3.2. Reference Counting
      • 1.4. Guidelines
        • 1.4.1. Mutual Exclusion
        • 1.4.2. Deadlock Avoidance
        • 1.4.3. Starvation Avoidance
        • 1.4.4. Nested Critical Sections
      • 1.5. References
    • 2. MMU setup and memory management design in RMM
      • 2.1. Physical Address Space
      • 2.2. Granule state tracking
      • 2.3. RMM stage 1 translation regime
        • 2.3.1. Stage 1 Low VA range
        • 2.3.2. Stage 1 High VA range
      • 2.4. Stage 1 translation library (xlat library)
      • 2.5. RMM executable bootstrap
    • 3. RMM Folder and Component organization
      • 3.1. Root Level Folders and Components
      • 3.2. Component File and Cmake Structure
    • 4. RMM Fake host architecture
      • 4.1. Fake host architecture design
      • 4.2. Fake host architecture employment scenarios implemented or ongoing
    • 5. RMM Cold and Warm boot design
    • 6. RMM-EL3 communication specification
    • 7. EL0 apps in RMM
      • 7.1. Goal
      • 7.2. Building app binaries
      • 7.3. Building final RMM image
      • 7.4. RMM App Instance
      • 7.5. RMM App VA space
      • 7.6. Initialising RMM app pages
      • 7.7. RMM App Service Calls
      • 7.8. Debugging RMM on FVP
      • 7.9. RMM Fake Host Build
      • 7.10. RMM Apps currently in RMM
      • 7.11. Directory layout of apps
      • 7.12. Proposed Enhancements to the RMM App Framework
  • Security
    • 1. Threat Model
      • 1.1. Introduction
      • 1.2. Data Flow Diagram
        • 1.2.1. Target of Evaluation
        • 1.2.2. Data Flow Diagram
      • 1.3. Threat Analysis components
        • 1.3.1. Assets
        • 1.3.2. Threat Agents
        • 1.3.3. Threat Types
        • 1.3.4. Threat Risk Ratings
      • 1.4. Threat Assessment
  • Resources
    • 1. Application Notes
      • 1.1. CBMC
        • 1.1.1. CBMC in RMM
        • 1.1.2. cbmc-viewer
        • 1.1.3. CBMC proof debugger
      • 1.2. Cppcheck Application Note
        • 1.2.1. Installing Cppcheck
        • 1.2.2. Invoking Cppcheck rule within TF-RMM build system
        • 1.2.3. Generating the Cppcheck HTML report
        • 1.2.4. Cppcheck Error Suppression
  • Glossary
Realm Management Monitor
  • Process
  • View page source
Previous Next

Process

Contents

  • 1. Coding Standard
  • 2. Security Handling
  • 3. Commit Style
  • 4. Contributor’s Guide
Previous Next

© Copyright TF-RMM Contributors.