RTEMS | cpukit/score/cpu/microblaze: The illegal instruction needs two synthesis options (#5759)
Sebastian Huber (@sebhub)
gitlab at rtems.org
Wed Sep 9 00:50:19 UTC 2026
Issue created by Sebastian Huber: https://gitlab.rtems.org/rtems/rtos/rtems/-/work_items/5759
`_CPU_Instruction_illegal()` is `.word 0x0`. Major opcode 0 is `add`,
so the word is `add r0, r0, r0` and it retires without an exception.
UG984 states that the word raises an illegal opcode exception only
where `C_OPCODE_0x0_ILLEGAL` is 1. The exception itself is optional and
needs `C_ILL_OPCODE_EXCEPTION`. Both are synthesis options of the soft
core, and Qemu defaults both to false.
A design which builds the core without either option reaches no
exception handler through this function. The report asks for a word
with an invalid major opcode, which needs one option instead of two.
Found while a per-register validation of the resume was written. This
description was created with Claude Code assistance.
--
View it on GitLab: https://gitlab.rtems.org/rtems/rtos/rtems/-/work_items/5759
You're receiving this email because of your account on gitlab.rtems.org. Unsubscribe from this thread: https://gitlab.rtems.org/-/sent_notifications/5-2sr3mjzsvhpps3va6zsu0xyxl-1d/unsubscribe | Manage all notifications: https://gitlab.rtems.org/-/profile/notifications | Help: https://gitlab.rtems.org/help
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/bugs/attachments/20260909/05ed4f7e/attachment.htm>
More information about the bugs
mailing list