[riot-notifications] [RIOT-OS/RIOT] riscv_common: Refactor common fe310 code to riscv_common (#15718)

Koen Zandberg notifications at github.com
Thu Jan 7 15:58:21 CET 2021


### Contribution description

This PR refactors the lone fe310 RISC-V cpu into a separate riscv_common director keeping the fe310-specifics in their own directory. This makes it easier to add new RISC-V based processors in the future.

My original idea was to refactor into a rv32i_common directory, but I decided that riscv_common should be enough. Changes between rv64i and rv32i are minimal and mostly in the architecture size and doesn't warrant separate directories for the two (for now). It is however possible that some doxygen or variable names are still `rv32i_`, these should all be renamed to `riscv_`

### Testing procedure

Changes to the binaries should be minimal or nonexistent.

Compilation from Murdock, together with a few applications tested on the hifive1b should be enough for code tests.
Please also verify that the documentation and the generated doxygen makes sense after the split.


### Issues/PRs references

None
You can view, comment on, or merge this pull request online at:

  https://github.com/RIOT-OS/RIOT/pull/15718

-- Commit Summary --

  * riscv_common: Refactor common fe310 code to riscv_common

-- File Changes --

    M boards/hifive1b/include/periph_conf.h (2)
    M cpu/fe310/Kconfig (25)
    M cpu/fe310/Makefile (4)
    M cpu/fe310/Makefile.dep (7)
    M cpu/fe310/Makefile.features (12)
    M cpu/fe310/Makefile.include (22)
    M cpu/fe310/clock.c (2)
    M cpu/fe310/cpu.c (13)
    D cpu/fe310/include/cpu.h (80)
    M cpu/fe310/include/cpu_conf.h (26)
    A cpu/fe310/include/nanostubs.h (41)
    M cpu/fe310/include/periph_cpu.h (30)
    A cpu/riscv_common/Kconfig (29)
    A cpu/riscv_common/Makefile (3)
    A cpu/riscv_common/Makefile.dep (6)
    A cpu/riscv_common/Makefile.features (13)
    A cpu/riscv_common/Makefile.include (24)
    R cpu/riscv_common/context_frame.c (2)
    R cpu/riscv_common/include/c11_atomics_compat_cpu.hpp (0)
    R cpu/riscv_common/include/context_frame.h (2)
    A cpu/riscv_common/include/cpu.h (65)
    A cpu/riscv_common/include/cpu_conf_common.h (59)
    R cpu/riscv_common/include/cpucycle.h (2)
    R cpu/riscv_common/include/irq_arch.h (12)
    A cpu/riscv_common/include/periph_cpu_common.h (50)
    R cpu/riscv_common/include/plic.h (2)
    A cpu/riscv_common/include/vendor/riscv_csr.h (1332)
    R cpu/riscv_common/irq_arch.c (13)
    R cpu/riscv_common/ldscripts/riscv.ld (10)
    R cpu/riscv_common/ldscripts/riscv_base.ld (4)
    R cpu/riscv_common/ldscripts/riscv_vars.ld (4)
    R cpu/riscv_common/panic.c (4)
    A cpu/riscv_common/periph/Makefile (2)
    R cpu/riscv_common/periph/coretimer.c (0)
    R cpu/riscv_common/periph/plic.c (6)
    A cpu/riscv_common/riscv_init.c (37)
    R cpu/riscv_common/start.S (0)
    R cpu/riscv_common/thread_arch.c (4)
    M makefiles/arch/riscv.inc.mk (2)

-- Patch Links --

https://github.com/RIOT-OS/RIOT/pull/15718.patch
https://github.com/RIOT-OS/RIOT/pull/15718.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/RIOT-OS/RIOT/pull/15718
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.riot-os.org/pipermail/notifications/attachments/20210107/36f267bc/attachment-0001.htm>


More information about the notifications mailing list