On 07/06/2016 14:07, poletaev wrote:
>> Second, an IRET with HF_NMI_MASK set can be translated to _only_ the
>> reset of NMI mask followed by end of basic block. An IRET without
>> HF_NMI_MASK instead can be translated the same way as now.
>
> I want to make it like this, but it seems to me i
> Second, an IRET with HF_NMI_MASK set can be translated to _only_ the
> reset of NMI mask followed by end of basic block. An IRET without
> HF_NMI_MASK instead can be translated the same way as now.
I want to make it like this, but it seems to me it can lead to zero tb size
and introduce bad s
On 07/06/2016 10:07, poletaev wrote:
> diff --git a/target-i386/translate.c b/target-i386/translate.c
> index f010022..c409baf 100644
> --- a/target-i386/translate.c
> +++ b/target-i386/translate.c
> @@ -6319,6 +6319,7 @@ static target_ulong disas_insn(CPUX86State *env,
> DisasContext *s,
>
From: Dmitry Poletaev
Subject: [PATCH] target-i386: fix iret emulation correctness
Signed-off-by: Dmitry Poletaev
According to Intel manual: "If the NMI handler is a virtual-8086 task with
an IOPL of less than 3, an IRET instruction issued from the handler
generates a general-protection
ex