On 04/16/2017 04:23 PM, Stafford Horne wrote:
In openrisc simulators we use hooks like 'l.nop 1' to cause the
simulator to exit.  Implement that for qemu too.

Reported-by: Waldemar Brodkorb <w...@openadk.org>
Signed-off-by: Stafford Horne <sho...@gmail.com>

As I said the first time this was posted: This is horrible.

If you want to do something like this, it needs to be buried under a special run mode like -semihosting.

         case 0x01:    /* l.nop */
             LOG_DIS("l.nop %d\n", I16);
+            {
+                TCGv_i32 arg = tcg_const_i32(I16);
+                gen_helper_nop(arg);
+            }

You also really really must special-case l.nop 0 so that it doesn't generate a function call. Just think of all the extra calls you're adding for every delay slot that couldn't be filled.


r~

Reply via email to