readme: add some highlevel detail around the boot flow.#10609
readme: add some highlevel detail around the boot flow.#10609lgirdwood wants to merge 3 commits intothesofproject:mainfrom
Conversation
Describe the boot flow and manifest. Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
There was a problem hiding this comment.
Pull request overview
Adds high-level documentation for src/init describing the SOF firmware boot flow (primary/secondary cores) and the extended firmware manifest layout.
Changes:
- Documented primary core boot sequence, including initialization ordering and key subsystems
- Documented secondary core boot sequence for cold boot vs restore paths
- Added an overview of the extended manifest structure embedded in
.fw_metadata
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| participant sof_init as sof_init (src/init.c) | ||
| participant pci as primary_core_init |
There was a problem hiding this comment.
In the Mermaid diagram, pci is used as the participant alias for primary_core_init. This is easy to misread as the PCI bus/subsystem. Consider renaming the alias to something unambiguous (e.g., pcore, pc_init, or primary) to avoid confusion in the rendered diagram.
| Zephyr->>sof_init: SYS_INIT (POST_KERNEL) | ||
| sof_init->>pci: Initialize Primary Core Context | ||
|
|
||
| pci->>trace: Setup DMA Tracing & Logging | ||
| pci->>notify: Setup System Notifiers | ||
| pci->>pm: Initialize Runtime Power Management | ||
|
|
||
| pci->>platform: Platform-Specific HW Config | ||
| note right of platform: e.g., interrupts, IPC windows (Intel, i.MX) | ||
|
|
||
| pci->>ams: Init Asynchronous Messaging Service | ||
|
|
||
| pci->>mbox: Set Firmware Registers ABI Version | ||
|
|
||
| pci->>task: Start SOF Main Processing Task Loop |
There was a problem hiding this comment.
In the Mermaid diagram, pci is used as the participant alias for primary_core_init. This is easy to misread as the PCI bus/subsystem. Consider renaming the alias to something unambiguous (e.g., pcore, pc_init, or primary) to avoid confusion in the rendered diagram.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Liam Girdwood <lgirdwood@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Liam Girdwood <lgirdwood@gmail.com>
Describe the boot flow and manifest.