Source map

Every chapter is traced from a specific part of the OpenSMA tree at baseline 9b183d3 (02.0020.0000). This page is the canonical chapter → source mapping. Browse any path at the baseline via https://github.com/NVIDIA/OpenSMA/blob/9b183d3eeff57babf5c87cd84d9e3e78340bde0f/<path>.

Top-level layout

Path Role
mcu_build.sh Top-level build/sign entrypoint (arg parsing, core0/core1 orchestration)
corepdk/ Core build infrastructure (ubs), shared C++ modules (mctp-cpp, pldm-fd, spdm), platform glue
etc/ Make fragments: platforms/, projects/, plugins/ (sign, flash, coverage), features.mk, doxygen config
libexec/ Toolchains (ARM GNU 14.2, GCC 10.3, GNAT Ada) + NXP MCUXpresso SDK (not tracked here; see Setup)
src/nv/ The firmware subsystems (~45 modules)
src/sys/ Per-SoC BSP (mcu, mcxn236, mcxn556, x86)
src/boards/, src/projects/ Board definitions and buildable projects
src/overrides/ SDK override sources

Chapter → source mapping

Setup & Build System

Chapter Source
Setup README.md, mcu_build.sh, libexec/ (toolchain/SDK), patch/mcu.patch.xz
Build System mcu_build.sh, corepdk/ubs/, etc/platforms/*.mk, etc/projects/*.mk, etc/plugins/*.mk, libexec/ubs.dockerfile

Architecture

Chapter Source
Architecture src/nv/nv.h, src/nv/bootloader.h, src/sys/, src/projects/*/core0, core1, corepdk/modules/

Transports & Buses

Subsystem Source path Notes
MCTP src/nv/mctp/ (41 files) Transport core, composer, binding; deep-dive
IPC / mailbox src/nv/ipc/ (28), src/nv/mainbox/ Inter-core comms (core0↔core1)
I2C src/nv/i2c/ (49 files) Largest bus driver; controller/target, EEPROM cache
I3C src/nv/i3c/ (9) GPU-facing I3C
SPI src/nv/spi/ (17) External flash access
UART src/nv/uart/ Serial driver
USB src/nv/usb/ (11), src/nv/usb_proxy/ (2) HID/SMBus over USB
SSIF src/nv/ssif/ SMBus System Interface (IPMI-style)
VCOM src/nv/vcom/ (11) Virtual COM

Management Protocols

Subsystem Source path Notes
PLDM src/nv/pldm/, corepdk/modules/pldm-fd/ PLDM task + firmware-device module; deep-dive
SPDM src/nv/spdm/ (18), corepdk/modules/spdm/ Attestation/measurement; deep-dive
NHP src/nv/nhp/ (7) NVIDIA host protocol handler
LSTP src/nv/lstp/ (7), src/nv/lstp_bm/ LSTP parser + bare-metal router
IPC handler src/nv/ipchandler/ Message dispatch

Security & Root-of-Trust

Subsystem Source path Notes
vRoT src/nv/vrot/ (12) Root-of-trust, AP background copy; deep-dive
Secure boot src/nv/secure_boot/ (5) Boot authentication; deep-dive
Crypto src/nv/crypto/ (7) AES-GCM and helpers
Debug token src/nv/debugtoken/ Debug-authorization TLVs
FW parser src/nv/fw_parser/ AP/MCU firmware image parsing

Platform Control & Telemetry

Subsystem Source path Notes
Fan control src/nv/fancontrol/ Thermal/fan driver; deep-dive
GPU power src/nv/gpu_pwr_controller/ GPU power control task; deep-dive
Telemetry src/nv/telemetry/ (7) SMBus telemetry cache; deep-dive
SoC power smoothing src/nv/soc_pwr_smoothing/ (16) Power smoothing (MPF)
Voltage monitor src/nv/volt_mon/ (30) ADC, busbar temp, voltage rails
Perf monitor src/nv/perf_mon/ Perf + OOB error monitoring
GPIO / IOX src/nv/gpio/, src/nv/iox/ GPIO + IO expander
Timers / watchdog src/nv/ctimer/, src/nv/watchdog/ Timing + watchdog
Flash src/nv/flash/ (16) Flash management, background copy
FRU src/nv/fru/ FRU inventory
Register tables src/nv/reg_ds/, src/nv/reg_table/ Register datastore/table
VPP src/nv/vpp/ Voltage/power protection

Platform / BSP & Projects

Area Source path
SoC BSPs src/sys/mcu/, src/sys/mcxn236/, src/sys/mcxn556/, src/sys/x86/
Boards src/boards/mcxn547helloworld/, src/boards/p3957_cxx/
Projects src/projects/mcxn547helloworld/, src/projects/p3957_cxx/, src/projects/testrunner/
SDK overrides src/overrides/

Infrastructure (used throughout)

Area Source path
Common utilities src/nv/common/ (18)
Logging src/nv/logger/ (10)
Diagnostics src/nv/diag/
Emulation / unit tests src/nv/emulation/, src/nv/ut/, src/nv/coverage/, *-test.cpp files
AHS src/nv/ahs/ (10)

Subsystems without a dedicated deep-dive chapter are documented in their section landing page and here. To re-verify any mapping, see the Trace methodology.


Built with Just the Docs. Source-traced against NVIDIA/OpenSMA at 9b183d3 (v02.0020.0000). Methodology under appendices/trace-methodology.

This site uses Just the Docs, a documentation theme for Jekyll.