Re: [PATCH] do not keep interrupt window closed by sti in real mode

Avi Kivity
2009-04-08T05:44:52Z

H. Peter Anvin wrote:
> Glauber Costa wrote:
>
>> While in real mode, sti does not block interrupts from the subsequent
>> instruction. This is stated at Intel SDM Volume 2b, page 4-432
>>
>
> I don't see how you're getting that idea from the STI documentation --
> and I am quite sure that that is not the case. Quite on the contrary.
> The only differences between protected mode and real mode has to do with
> the handling of VIF when CPL=3 (this rather naturally falls out if one
> considers CPL=0 in real mode).
>

I'm guessing the problem is due to the second instruction. We don't
clear the 'blocked by interrupt shadow' flag when we emulate, which
extends interrupt shadow by one more instruction. If the instruction
sequence is 'sti hlt' we end in an inconsistent state.

--
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.