-
Notifications
You must be signed in to change notification settings - Fork 6.5k
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
RISCV32 QEMU illegal instruction exception / floating point support #34026
Comments
The same function on qemu_riscv64 doesn't generate the
|
You mean need to add @katsuster was making some changes to the floating point support recently and guessing he'll be able to know better how this is suppose to work. |
Thanks to @galak suggestion, I added k_float_enable(_current, 0) and CONFIG_FPU_SHARING config flag and updated my zephyr to master branch and which solved some other issues that I had with double division operation. I still have this issue though. Also, it would be great if @katsuster can suggest a solution with zephyr 2.5, if possible, since we are using that release version in our pipeline. |
Update: |
@mehrdadh Do you want to run floating point instruction on main thread?
I hope this helps. |
@katsuster Thanks for the information. |
Describe the bug
I'm running a machine learning model on qemu_riscv32 and I ran into illegal instruction exception for some reason. I wasn't sure if this is a bug and if so whether it is related to zephyr or qemu, however I'll try to provide as much as information to get a better understanding.
Here is the assembly code that I'm running:
My code breaks on line
0x8000bd8a
and then themcause
register is loaded with value0x02
which translates to illegal instruction. Please let me know if you need more information about this.Impact
We are working on adding riscv32 support to apache TVM and this issue currently blocks us for supporting certain operations.
Environment
The text was updated successfully, but these errors were encountered: