qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [RFC] hw: nios2: update interrupt_request when STATUS_PIE disabled
@ 2020-06-05  5:59 Wu, Wentong
  2020-06-05  7:06 ` Thomas Huth
  0 siblings, 1 reply; 7+ messages in thread
From: Wu, Wentong @ 2020-06-05  5:59 UTC (permalink / raw)
  To: qemu-devel@nongnu.org

[-- Attachment #1: Type: text/plain, Size: 1466 bytes --]

Hi all,
I'm running icount mode on qemu_nios2 with customized  platform(almost same with 10m50_devboard),
but cpu abort happened(qemu: fatal: Raised interrupt while not in I/O function) when guest code changes
state register with wrctl instruction, add some debug code finding that it's caused by the interrupt_request
mismatch, so I made a patch as below, not sure if it's right, hope I can have some discussion with maintainers
first! Thanks a lot!



commit efdb3da4e145a7a34ba8b3ab1cdcfc346ae20a11 (HEAD -> master)
Author: Wentong Wu <wentong.wu@intel.com>
Date:   Fri Jun 5 09:29:43 2020 -0400

    hw: nios2: update interrupt_request when CR_STATUS_PIE disabled

    Update interrupt_request when external interupt pends for STATUS_PIE
    disabled. Otherwise on icount enabled nios2 target there will be cpu
    abort when guest code changes state register with wrctl instruction.

    Signed-off-by: Wentong Wu <wentong.wu@intel.com>

diff --git a/hw/nios2/cpu_pic.c b/hw/nios2/cpu_pic.c
index 1c1989d5..b04db4d7 100644
--- a/hw/nios2/cpu_pic.c
+++ b/hw/nios2/cpu_pic.c
@@ -42,7 +42,9 @@ static void nios2_pic_cpu_handler(void *opaque, int irq, int level)
         } else if (!level) {
             env->irq_pending = 0;
             cpu_reset_interrupt(cs, type);
-        }
+        } else {
+            cs->interrupt_request |= type;
+       }
     } else {
         if (level) {
             cpu_interrupt(cs, type);

[-- Attachment #2: Type: text/html, Size: 7965 bytes --]

^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2020-06-11  6:07 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-06-05  5:59 [RFC] hw: nios2: update interrupt_request when STATUS_PIE disabled Wu, Wentong
2020-06-05  7:06 ` Thomas Huth
2020-06-05  7:14   ` Wu, Wentong
2020-06-08  1:00   ` Wu, Wentong
2020-06-09  8:39   ` Wu, Wentong
2020-06-10 13:29     ` Thomas Huth
2020-06-11  6:05       ` Wu, Wentong

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).