Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

subsys: settings: nvs: provisioning of settings images #79130

Open
wants to merge 5 commits into
base: main
Choose a base branch
from

Commits on Sep 27, 2024

  1. drivers: flash: simulator: fix address resolution

    The flash simulator assumes that flash is being addressed with absolute
    addresses by clients. But this is not the case. Given addresses are
    relative to the flash base address.
    
    The existing code only worked because the base address was always zero.
    Testing with non-zero base addresses caused a mem fault/page fault.
    
    (Reproducible e.g. when using the NVS settings subsystem on QEMU x86
    with a non-zero base address in the soc-nv-flash node.)
    
    Fixes zephyrproject-rtos#79082
    
    Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
    fgrandel committed Sep 27, 2024
    Configuration menu
    Copy the full SHA
    3af7da8 View commit details
    Browse the repository at this point in the history
  2. arch: x86: ia32: linker.ld: add missing DT sections macro

    Generating sections via DT memory attributes did not work for the
    platform as only the memory region was created so far.
    
    Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
    fgrandel committed Sep 27, 2024
    Configuration menu
    Copy the full SHA
    09a7e96 View commit details
    Browse the repository at this point in the history
  3. qemu: x86: support memory-mapped flash simulator

    This change adds a reserved mapped memory region to the QEMU x86 board
    and places fixed simulated flash partitions inside that region mapped to
    its own linker section in the final ELF file. The section is then added
    to the pagetable to support access even if memory protection is active.
    
    The change places the simulated flash at a well-defined memory address
    rather than in the common .bss section.
    
    The rationale behind this approach is, that then the contents of the
    simulated flash can be pre-provisioned via a separate raw binary or
    Intel hex image to qemu (or any other application using simulated flash)
    independently from the kernel image.
    
    This will be used in a later PR to exemplify pre-provisioned settings
    partitions with the NVS settings backend.
    
    Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
    fgrandel committed Sep 27, 2024
    Configuration menu
    Copy the full SHA
    8d1ded4 View commit details
    Browse the repository at this point in the history
  4. drivers: flash: simulator: simulate pre-provisioned flash

    Enables the flash simulator to simulate pre-provisioned flash with QEMU
    (or any other application using the flash simulator).
    
    Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
    fgrandel committed Sep 27, 2024
    Configuration menu
    Copy the full SHA
    500eab3 View commit details
    Browse the repository at this point in the history
  5. samples: settings: provisioned flash

    Adds an overlay, code and documentation to the sample that allows user
    to test an independently provisioned settings partition on QEMU.
    
    Also provides instructions how to achieve the same on real devices.
    
    Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
    fgrandel committed Sep 27, 2024
    Configuration menu
    Copy the full SHA
    819ad68 View commit details
    Browse the repository at this point in the history