6a5520c626
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> |
||
---|---|---|
.. | ||
app | ||
bintools | ||
compiler | ||
emu | ||
flash | ||
ide | ||
linker | ||
linker_script | ||
makefile_exports | ||
modules | ||
reports | ||
toolchain | ||
usage | ||
util | ||
cfb.cmake | ||
extra_flags.cmake | ||
gcc-m-cpu.cmake | ||
gen_version_h.cmake | ||
hex.cmake | ||
kobj.cmake | ||
mcuboot.cmake | ||
package_helper.cmake | ||
pristine.cmake | ||
target_toolchain_flags.cmake |