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> |
||
---|---|---|
.. | ||
arc | ||
arm | ||
arm64 | ||
common | ||
mips | ||
nios2 | ||
posix | ||
riscv | ||
sparc | ||
x86 | ||
xtensa | ||
CMakeLists.txt | ||
Kconfig |