qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] Wrong reset of MIPS hflags EXL after interrupt?


From: Thiemo Seufer
Subject: Re: [Qemu-devel] Wrong reset of MIPS hflags EXL after interrupt?
Date: Fri, 18 Aug 2006 11:01:23 +0100
User-agent: Mutt/1.5.12-2006-07-14

Marius Groeger wrote:
> On Wed, 16 Aug 2006, Thiemo Seufer wrote:
> 
> >Dirk Behme wrote:
> >>Hi,
> >>
> >>I'm not sure, but while playing with MIPS interrupts, it
> >>seems to me that something with reset of interrupt flag
> >>MIPS_HFLAG_EXL (0x04) at exception exit (eret) is wrong. It
> >>seems to me that only one interrupt is executed because
> >>after eret, MIPS_HFLAG_EXL stays set in env->hflags. Then,
> >>at next interrupt, system correctly checks for
> >>MIPS_HFLAG_EXL, but this is still set and no further
> >>interrupt happens.
> 
> Dirk and I have been following up on this privately and could verify that it
> was indeed an issue with the testcase. QEMU is not causing any problem 
> here.
> 
> >This explains some weirdness I saw on my hacked up qemu
> >when running a mips32r2-compiled Linux kernel.
> 
> What exactly included that hack? Some new mips32r2 insns like rdhw?

All new r2 instructions. rdhwr wasn't used by the userland.
A recent r2 compiled Kernel will use the di/ei instructions, a
recursive exception will IIRC see a EXL flag set when there shouldn't
be one. The r1 kernel code happens to mask the EXL flag.


Thiemo




reply via email to

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