How opendevicepartnership/patina works
Patina is a pure-Rust UEFI firmware implementation. Its principal boot-time workflow is platform startup entering the DXE core, which initializes firmware services and dispatches components; components use the SDK’s dependency-injection model and UEFI interfaces to provide platform capabilities. The repository also contains SDK formats and utilities, architecture-specific CPU support, and optional firmware components. The README establishes the product scope; sampled source confirms component service registration, memory management, and selected component behaviors, but does not expose enough DXE startup code to assert detailed call wiring.
Main entry points: storage.rs Component Storage · src/lib.rs DXE Core · component_dispatcher.rs Component Dispatcher · src/lib.rs UEFI SDK
Components 23
DXE Core
- DXE Core
patina_dxe_core/src/lib.rs - Component Dispatcher
patina_dxe_core/src/component_dispatcher.rs - Memory Manager
patina_dxe_core/src/memory_manager.rs - DXE Services
patina_dxe_core/src/dxe_services.rs
Firmware SDK
- UEFI SDK
sdk/patina/src/lib.rs - Component Storage
sdk/patina/src/component/storage.rs - Boot Services
sdk/patina/src/uefi/boot_services.rs - Firmware Volumes
sdk/patina/src/pi/fw_fs.rs - FFS Reader
sdk/patina_ffs/src/lib.rs - Section Extractors
sdk/patina_ffs_extractors/src/lib.rs - Component Macros
sdk/patina_macro/src/lib.rs
CPU Support
- CPU Architecture
core/patina_internal_cpu/src/lib.rs - Interrupt Management
core/patina_internal_cpu/src/interrupts.rs - Paging
core/patina_internal_cpu/src/paging.rs
Firmware Components
- ACPI Component
components/patina_acpi/src/lib.rs - SMBIOS Component
components/patina_smbios/src/lib.rs - Performance Component
components/patina_performance/src/lib.rs - Management Mode
components/patina_mm/src/lib.rs - Advanced Logger
components/patina_adv_logger/src/lib.rs - Sample Components
components/patina_samples/src/lib.rs
Core Utilities
- Debugger
core/patina_debugger/src/lib.rs - Stack Tracing
core/patina_stacktrace/src/lib.rs
Other components
- UEFI Platform
Connections 20
- UEFI Platform → DXE Core: enters DXE
- DXE Core → Component Dispatcher: dispatches components
- DXE Core → Memory Manager: provides memory
- DXE Core → DXE Services: provides services
- Component Dispatcher → Component Storage: uses storage
- Component Dispatcher → Boot Services: uses boot services
- UEFI SDK → Component Storage: defines component model
- UEFI SDK → Boot Services: defines interfaces
- Firmware Volumes → FFS Reader: parses volumes
- FFS Reader → Section Extractors: extracts sections
- Component Macros → UEFI SDK: generates component APIs
- CPU Architecture → Interrupt Management: supports interrupts
- CPU Architecture → Paging: supports paging
- ACPI Component → Component Storage: registers services
- SMBIOS Component → Boot Services: installs protocol
- Performance Component → Component Storage: provides component
- Management Mode → Component Storage: registers services
- Advanced Logger → Component Storage: provides component
- Sample Components → Component Storage: provides components
- Debugger → Stack Tracing: uses stack tracing