On Thu, 21 Feb 2019 at 14:20, Auger Eric <eric.au...@redhat.com> wrote: > On 2/14/19 8:05 PM, Peter Maydell wrote: > > Support this by making kvm_arch_put_registers() synchronize > > CPU state back into the list. We sync only those registers > > where the initial write succeeds, which should be sufficient.
> This commit introduces a regression when running with EDK2 FW: > > I get the following traces: > > error: kvm run failed Function not implemented > PC=000000013f5a6208 X00=00000000404003c4 X01=000000000000003a > X02=0000000000000000 X03=00000000404003c4 X04=0000000000000000 > X05=0000000096000046 X06=000000013d2ef270 X07=000000013e3d1710 > X08=09010755ffaf8ba8 X09=ffaf8b9cfeeb5468 X10=feeb546409010756 > X11=09010757ffaf8b90 X12=feeb50680903068b X13=090306a1ffaf8bc0 > X14=0000000000000000 X15=0000000000000000 X16=000000013f872da0 > X17=00000000ffffa6ab X18=0000000000000000 X19=000000013f5a92d0 > X20=000000013f5a7a78 X21=000000000000003a X22=000000013f5a7ab2 > X23=000000013f5a92e8 X24=000000013f631090 X25=0000000000000010 > X26=0000000000000100 X27=000000013f89501b X28=000000013e3d14e0 > X29=000000013e3d12a0 X30=000000013f5a2518 SP=000000013b7be0b0 > PSTATE=404003c4 -Z-- EL1t > > > and in host dmesg: > [ 3507.926571] kvm [35042]: load/store instruction decoding not implemented Ugh. Presumably this means that at some point we're writing back a wrong value to a guest system register and making it fall over :-( I guess debug would be by identifying when execution diverges... thanks -- PMM