On 05/06/2020 07.59, Wu, Wentong wrote: > 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
Hi, please have a look at the MAINTAINERS file in the main directory of the sources, you can find the corresponding maintainers there. Thus if you have questions related to nios2, please make sure to put Chris and Marek into CC: so that your patch gets the right attention! Thanks, Thomas > commit efdb3da4e145a7a34ba8b3ab1cdcfc346ae20a11 (HEAD -> master) > > Author: Wentong Wu <wentong...@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...@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); >