zephyr/cmake
Nathan Krueger 6a5520c626 arch/riscv: Adding KConfig options for 'A' and 'M' RISC-V extensions
New KConfig options for 'A' and 'M' RISC-V extensions have been
added.  These are used to configure the '-march' string used by GCC
to produce a compatible binary for the requested RISC-V variant.
In order to maintain compatibility with all currently defined SoC,
default the options for HW mul / Atomics support to 'y', but allow
them to be overridden for any SoC which does not support these.

I tested this change locally via twister agaisnt a few RISC-V platforms
including some 32bit and 64bit. To verify the 4 possibilities of Atomics
& HW Mul: (No, No), (No, Yes), (Yes, No), (Yes, Yes -- current behavior),
I used an out-of-tree GCC (xPack RISC-V GCC) which has multilib support
for rv32i, rv32ia, rv32ima to test against our out-of-tree Intel Nios V/m
processor in HW.  The Zephyr SDK RISCV GCC currently does not contain
multilib support for all variants exposed by these new KConfig options.

Signed-off-by: Nathan Krueger <nathan.krueger@intel.com>
2022-03-22 18:00:32 -04:00
..
app cmake: function to update Zephyr_DIR when loading old Zephyr packages 2022-03-07 16:35:54 +01:00
bintools everywhere: fix typos 2022-03-18 13:24:08 -04:00
compiler arch/riscv: Adding KConfig options for 'A' and 'M' RISC-V extensions 2022-03-22 18:00:32 -04:00
emu cmake: armfvp: Improve the FVP version check 2022-03-16 09:19:44 -05:00
flash cmake: support multiple entries in board.cmake 2021-11-12 21:33:42 -05:00
ide license: cleanup: add SPDX Apache-2.0 license identifier 2019-04-07 08:45:22 -04:00
linker everywhere: fix typos 2022-03-18 13:24:08 -04:00
linker_script linker: Create sections from zephyr,memory-region nodes 2022-03-19 14:32:17 -04:00
makefile_exports cmake: using zephyr_get_compile_options_for_lang_as_string for export 2020-12-15 08:37:54 -05:00
modules code_relocation: Move NOCOPY flag to avoid OS drive colon 2022-03-22 12:33:40 +01:00
reports scripts: size_report: Add support for TF-M and BL2 image size reports 2022-03-09 14:03:52 -05:00
toolchain everywhere: fix typos 2022-03-14 20:22:24 -04:00
usage cmake: boards and shields cmake files repurposed 2022-02-22 10:02:39 -08:00
util license: cleanup: add SPDX Apache-2.0 license identifier 2019-04-07 08:45:22 -04:00
cfb.cmake cmake: using ${ZEPHYR_BASE} instead of $ENV{ZEPHYR_BASE} 2020-03-27 16:23:46 +01:00
extra_flags.cmake cmake: extra_flags: fix EXTRA_CPPFLAGS being applied as macros 2019-12-13 13:23:40 -05:00
gcc-m-cpu.cmake cmake: armfvp: Remove the unnecessary parameters 2022-03-16 09:19:44 -05:00
gen_version_h.cmake cmake: Zephyr CMake package and CMake modules 2022-02-22 10:02:39 -08:00
hex.cmake license: cleanup: add SPDX Apache-2.0 license identifier 2019-04-07 08:45:22 -04:00
kobj.cmake cmake: improved handling of output and byproducts in CMake 2021-02-14 18:09:24 -05:00
mcuboot.cmake module: mcuboot: Add config option to support unsigned binary generation 2021-12-18 07:20:38 -05:00
package_helper.cmake cmake: package_helper CMake script 2022-02-23 11:34:22 -08:00
pristine.cmake cmake: pristine.cmake requires SOURCE_DIR and BINARY_DIR as arguments 2021-01-23 08:31:13 -05:00
target_toolchain_flags.cmake everywhere: fix typos 2022-03-14 20:22:24 -04:00