1. Introduction
  2. Patina Background
  3. Patina in the UEFI Rust Ecosystem
  4. Training Videos
  5. Background Information
  6. Patina DXE Core Memory Safety Strategy
  7. Rust Tooling in Patina
  8. UEFI Memory Safety Case Studies
  9. Best Practices
  10. Abstractions
  11. Architecture Abstraction
  12. Code Organization
  13. Code Reuse
  14. Dependency Management
  15. Error Handling
  16. FFI Authoring
  17. UEFI Strings
  18. Unsafe Guidance
  19. Developer Guides
  20. Code First Process
  21. Code First Template
  22. Creating a New Unstable Feature
  23. Debugging
    1. Core Reload
    2. Windbg Debugging Example
    3. Windbg Debugging
  24. Documenting
    1. Quick Reference
  25. Formatting
  26. Hardware Access
    1. Memory-Mapped I/O (MMIO)
  27. Other Resources
  28. Process for Unstable Features
  29. RFC Lifecycle
  30. RFC Template
  31. Rust and Toolchain Version Update Process
  32. Testing
    1. Integration Testing
    2. Mocking
    3. On-Platform Testing
    4. QEMU PR Validation
    5. Unit Testing
  33. Toolchain Configuration
  34. Patina Component Model
  35. Component Crate Requirements
  36. Component Interface
  37. Getting Started with Components
  38. Patina DXE Core Platform Integration
  39. Patina DXE Core Requirements Checklist
  40. Patina DXE Core Requirements
  41. Setting up the Patina DXE Core
  42. Patina DXE Core Subsystems
  43. Theory and Operation
    1. Advanced Logger
    2. Component Model
    3. CPU
    4. Debugging
    5. Dispatcher
    6. Event, Timer, and Task Priority
    7. Image Loading and Execution
    8. Memory Management
    9. Memory Bins
    10. Performance Measurement
    11. Protocol Database
    12. Synchronization
    13. Testing
    14. UEFI Driver Model
  44. Contributors
  45. License