qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] cpu-exec: Don't mask out external interrupts wh


From: Martin Galvan
Subject: Re: [Qemu-devel] [PATCH] cpu-exec: Don't mask out external interrupts when single-stepping an invalid instruction.
Date: Fri, 12 Sep 2014 12:50:07 -0300

On Fri, Sep 12, 2014 at 12:37 PM, Richard Henderson <address@hidden> wrote:
> Alpha do_interrupt doesn't mess with cpu->interrupt_request at all, and 
> doesn't
> generate two calls to do_interrupt.  The one call finds the vector for the
> given interrupt, modifies the PC, and swaps to the shadow register bank.
>

Indeed it does. The problem is, even if I changed the code inside
ARM's do_interrupt to set the correct PC in the first call (so the IRQ
masking wasn't an issue anymore) I'd still be stuck in the loop
without returning control back to gdb.

> (Which reminds me, we really, Really, need to get those ifdefs in cpu_exec
> factored out into a nice single cpu callback.  Every time I read this code, I
> feel I've missed something.)

I totally agree with you there.

>> How do you set cpu->exception_index in to EXCP_DEBUG after calling
>> do_interrupt with EXCP_OPCDEC?
>
> I still don't know, but I know that _I_ don't do it.  I tried stepping through
> qemu itself here, but I managed to crash the guest gdb in the process; dunno
> what happened there.
>

In that case I'll see if I can step through Qemu myself and find out
how Alpha returns control to gdb. Perhaps we can do the same on ARM.

Thanks a lot!

-- 

Martín Galván

Software Engineer

Taller Technologies Argentina


San Lorenzo 47, 3rd Floor, Office 5

Córdoba, Argentina

Phone: 54 351 4217888 / +54 351 4218211



reply via email to

[Prev in Thread] Current Thread [Next in Thread]