[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] i386 translation: fix typo in xsetbv implementa
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [PATCH] i386 translation: fix typo in xsetbv implementation |
Date: |
Sat, 23 Jul 2016 03:51:19 -0400 (EDT) |
> On 07/20/2016 09:27 PM, Dave Hansen wrote:
> > QEMU 2.6 added support for the XSAVE family of instructions, which
> > includes the XSETBV instruction which allows setting the 'XCR0'
> > register.
> >
> > But, when booting Linux kernels with XSAVE support enabled, I was
> > getting very early crashes where the instruction pointer was set
> > to 0x3. I tracked it down to a jump instruction generated by this:
> >
> > gen_jmp_im(s->pc - pc_start);
> >
> > where s->pc is pointing to the instruction after XSETBV and pc_start
> > is pointing _at_ XSETBV. Subtract the two and you get 0x3. Whoops.
> >
> > The fix is to replace this typo with the pattern found everywhere
> > else in the file when folks want to end the translation buffer.
> >
> > Richard Henderson confirmed that this is a bug and that this is the
> > correct fix.
> >
> > Signed-off-by: Dave Hansen <address@hidden>
> > Cc: Paolo Bonzini <address@hidden>
> > Cc: Eduardo Habkost <address@hidden>
> > Cc: Richard Henderson <address@hidden>
> > ---
> > target-i386/translate.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
>
> Reviewed-by: Richard Henderson <address@hidden>
Thanks, queued and CCed qemu-stable.
Paolo