How project-silicium/mu-silicium works
Project Silicium is ARM64 UEFI firmware intended to let supported devices boot Windows or Linux. The user-facing path is device firmware startup through platform boot management to an OS boot option; optional firmware capabilities include secure-boot policy handling, USB mass-storage mode, and keypad input. Platform- and SoC-specific code supplies memory maps, memory-range discovery, and hardware support. The tree and excerpts establish these responsibilities, but do not show the complete firmware dispatch/configuration wiring, so unsampled connections are omitted.
Main entry points: MassStorage.c USB Mass Storage · SecureBootHandler.c Secure Boot Handler · BootManager.c Platform Boot Manager · RamManager.c UEFI RAM Mapping
Components 18
Device Platforms
- Platform Memory Maps
Platforms - Platform Security
Silicon
Boot Services
- Platform Boot Manager
Silicon/Silicium/SiliciumPkg/Library/BootManagerLib/BootManager.c - Secure Boot Handler
Silicon/Silicium/SiliciumPkg/Library/SecureBootHandlerLib/SecureBootHandler.c - USB Mass Storage
Silicon/Qualcomm/QcomPkg/Applications/MassStorage/MassStorage.c - Storage Device Path
Silicon/Qualcomm/QcomPkg/Applications/MassStorage/MassStorage.h
Memory Management
- UEFI RAM Mapping
Silicon/Silicium/SiliciumPkg/Drivers/RamManagerDxe/RamManager.c - Samsung RAM Ranges
Silicon/Samsung/SamsungPkg/Library/RamManagerLib/RamManager.c - MediaTek RAM Ranges
Silicon/MediaTek/MediaTekPkg/Library/RamManagerLib/RamManager.c
Hardware Drivers
- Keypad Input Driver
Silicon/Silicium/SiliciumPkg/Drivers/KeypadDxe/KeypadController.c - Keypad Driver Interface
Silicon/Silicium/SiliciumPkg/Drivers/KeypadDxe/KeypadDxe.h - SoC Hardware Drivers
Silicon/MediaTek/MediaTekPkg/Drivers
Other components
- UEFI Device
- Windows or Linux
- UEFI File System
- USB MSD Protocol
- Block I/O Protocol
- EMI Registers
Connections 10
- UEFI Device → Platform Boot Manager: starts firmware boot
README.md - Platform Boot Manager → Windows or Linux: boots option
Silicon/Silicium/SiliciumPkg/Library/BootManagerLib/BootManager.c - Secure Boot Handler → UEFI File System: reads and updates policy
Silicon/Silicium/SiliciumPkg/Library/SecureBootHandlerLib/SecureBootHandler.c - Secure Boot Handler → Platform Security: enrolls keys
Silicon/Silicium/SiliciumPkg/Library/SecureBootHandlerLib/SecureBootHandler.c - USB Mass Storage → USB MSD Protocol: starts USB device
Silicon/Qualcomm/QcomPkg/Applications/MassStorage/MassStorage.c - USB Mass Storage → Block I/O Protocol: assigns storage handles
Silicon/Qualcomm/QcomPkg/Applications/MassStorage/MassStorage.c - USB Mass Storage → Storage Device Path: uses device path
Silicon/Qualcomm/QcomPkg/Applications/MassStorage/MassStorage.c - Keypad Input Driver → Keypad Driver Interface: uses interface types
Silicon/Silicium/SiliciumPkg/Drivers/KeypadDxe/KeypadController.c - UEFI RAM Mapping → Platform Memory Maps: parses memory map
- MediaTek RAM Ranges → EMI Registers: reads rank registers
Silicon/MediaTek/MediaTekPkg/Library/RamManagerLib/RamManager.c