Re: [kvm-devel] [PATCH] Refactor hypercall infrastructure (v2)

Amit Shah
2007-12-03T11:30:42Z

* Avi Kivity wrote:
> Amit Shah wrote:
> > * Anthony Liguori wrote:
> >
> >
> >> Amit Shah wrote:
> >>
> >>
> >> What are you using to issue the hypercall?
> >>
> >
> > +       r = kvm_hypercall1(KVM_PV_PCI_DEVICE, page_gfn);
> >
> > Setup is done by:
> >
> > +       if (!kvm_para_available()) {
> > +               printk(KERN_ERR "KVM paravirt support not available\n");
> > +               r = -ENODEV;
> > +               goto out_dereg;
> > +       }
> >
>
> There was a bug where instructions with a modrm byte specifying a
> register would try to access memory.  In the memory was not mapped,
> emulation would fail. vmcall is one such instruction.  This was fixed by
>
> commit f83562246921d6a8a7de8b76853a6835ace3699d
> Author: Aurelien Jarno <aurelien@aurel32.net>
> Date:   Wed Oct 17 19:30:41 2007 +0200
>
>     KVM: x86 emulator: fix access registers for instructions with ModR/M
> byte and Mod = 3

Thanks, and thank you, Aurelien!