readme: add some highlevel detail around the boot flow.#10609
readme: add some highlevel detail around the boot flow.#10609lgirdwood merged 1 commit intothesofproject:mainfrom
Conversation
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.
src/init/README.md
Outdated
| 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.
src/init/README.md
Outdated
| 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.
Describe the boot flow and manifest. Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
kv2019i
left a comment
There was a problem hiding this comment.
Hmm, I do wonder should we have just recipes for agents to generate the diagrams and not save snapshots to git. The seq diagrams touch details that we might be changing still as we remove SOF specific steps. OTOH, I still like the inline readme documentation (versus sof-docs), so +1 still.
This is where we add in AGENTS.md that changes in |
|
@lgirdwood wrote:
I'm more worried about the (arguably few) remaining human coders who might not remember to update the README.md files if they are too elaborate. I'm sure the agents will update the readmes event without the AGENT.md file... |
Describe the boot flow and manifest.