> 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 <dave.han...@linux.intel.com> > > Cc: Paolo Bonzini <pbonz...@redhat.com> > > Cc: Eduardo Habkost <ehabk...@redhat.com> > > Cc: Richard Henderson <r...@twiddle.net> > > --- > > target-i386/translate.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > Reviewed-by: Richard Henderson <r...@twiddle.net>
Thanks, queued and CCed qemu-stable. Paolo