Skip to content

Conversation

@kv2019i
Copy link
Collaborator

@kv2019i kv2019i commented Jul 1, 2025

Add an OS overlay for Linux. This overlay configures SOF to be used with SOF Linux kernel driver. The overlay modifies Kconfig configuration options to align with requirements of of the Linux driver.

Similar overlays may be added later for other OS'es.

Add an OS overlay for Linux. This overlay configures SOF to
be used with SOF Linux kernel driver. The overlay modifies
Kconfig configuration options to align with requirements of
of the Linux driver.

Similar overlays may be added later for other OS'es.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
@kv2019i
Copy link
Collaborator Author

kv2019i commented Jul 1, 2025

Intended to cover options that are specific to Linux SOF usage (e.g. #10028 ).

Keeping as draft until I can test with a custom CI run (where the overlay is enabled).

@kv2019i kv2019i marked this pull request as ready for review July 1, 2025 13:43
Copilot AI review requested due to automatic review settings July 1, 2025 13:43
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR adds an OS overlay configuration file for Linux that sets up the SOF firmware to work with the Linux kernel driver by disabling context save.

  • Added a new configuration file: app/os_linux_overlay.conf
  • Set CONFIG_ADSP_IMR_CONTEXT_SAVE to 'n' as the Linux driver does not require firmware state retention

@kv2019i
Copy link
Collaborator Author

kv2019i commented Jul 1, 2025

Seems to pass build tests and works with all targets, so marking as ready for review.

@kv2019i kv2019i requested review from jsarha and lyakh July 1, 2025 13:44
@kv2019i kv2019i requested a review from abonislawski July 2, 2025 12:53
@kv2019i
Copy link
Collaborator Author

kv2019i commented Jul 2, 2025

FYI @abonislawski this will impact our signing flow for sof-bin binaries (need to build with this overlay)

@abonislawski
Copy link
Member

If the Linux version requires an overlay, then something went wrong with our default state. :) Maybe we should do the opposite? This approach forces open-source users to use extra overlays. It's not a big deal right now, but I assume this overlay will grow and we'll lose the vision of a single binary.

@kv2019i
Copy link
Collaborator Author

kv2019i commented Jul 3, 2025

@lgirdwood can chime in. @abonislawski I discussed before the PR and he wanted to have Linux as the overlay. The SOF LInux driver will continue to work with the non-overlay build as well, so the overlay is (at least now) a subset that disables stuff Linux driver does not need. Buy you don't need to use the overlay. You just get some extra features you cannot use with Linux driver.

@lgirdwood
Copy link
Member

If the Linux version requires an overlay, then something went wrong with our default state. :) Maybe we should do the opposite? This approach forces open-source users to use extra overlays. It's not a big deal right now, but I assume this overlay will grow and we'll lose the vision of a single binary.

@kv2019i @abonislawski we have a scalable kernel from a single source today. This means we can optimize the binary for any OS/SKU using Kconfig i.e. some OSes may require features that other OSes don't and vice versa (same with KPIs). The need here today is driven by the different needs around context save/restore with some OSes.

Long term I expect base FW will same binary for all OS/SKUs, but Kconfig differentiation will be in the SOF application/modules (but today we are not there and need to differentiate the baseFW also).

@kv2019i kv2019i merged commit 00b9607 into thesofproject:main Jul 4, 2025
26 of 48 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants