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

arch/riscv/qemu-rv: Add S-mode support #12178

Merged
merged 5 commits into from
Apr 28, 2024
Merged

Commits on Apr 26, 2024

  1. arch/risc-v: unfiy IPI access

    Add ipi process abstract function support.
    
    Signed-off-by: Inochi Amaoto <[email protected]>
    inochisa committed Apr 26, 2024
    Configuration menu
    Copy the full SHA
    7c22573 View commit details
    Browse the repository at this point in the history
  2. arch/risc-v: introduce dynamic stack allocation.

    It is misleading to allocate stack from static array and heap,
    make all stack allocated from heap area.
    
    Signed-off-by: Inochi Amaoto <[email protected]>
    inochisa committed Apr 26, 2024
    Configuration menu
    Copy the full SHA
    fec0879 View commit details
    Browse the repository at this point in the history
  3. arch/risc-v: report correct interrupt stack base

    As `up_get_intstackbase` supports per cpu stack base, fix
    the report value with the cpu specific one.
    
    Signed-off-by: Inochi Amaoto <[email protected]>
    inochisa committed Apr 26, 2024
    Configuration menu
    Copy the full SHA
    e82327b View commit details
    Browse the repository at this point in the history
  4. arch/risc-v: add risc-v SSTC extension support

    SSTC extension allows nuttx to implement S-mode timer directly,
    which is useful for starting at S-mode.
    
    Signed-off-by: Inochi Amaoto <[email protected]>
    inochisa committed Apr 26, 2024
    Configuration menu
    Copy the full SHA
    80f3b30 View commit details
    Browse the repository at this point in the history
  5. arch/riscv/qemu-rv: replace M-mode init code with SBI in kernel build

    The qemu-rv use a small init code for M mode in kernel build.
    It is hard-coding and is difficult to change. Due to the fact,
    introduce a already mature SBI implement (e.g OpenSBI) to
    replace existing code is a better choice.
    
    This patch introduce some change for qemu-rv:
    1. use SSTC to provide time interrupt in kernel build
    2. remove uncessary M mode trap.
    
    For simplicity, this patch does not add support for booting
    nuttx for any core, but force boot core to start core 0 and
    let core 0 do the initialization.
    
    Signed-off-by: Inochi Amaoto <[email protected]>
    inochisa committed Apr 26, 2024
    Configuration menu
    Copy the full SHA
    02c1a95 View commit details
    Browse the repository at this point in the history