1. 11 7月, 2014 10 次提交
  2. 10 7月, 2014 1 次提交
  3. 19 6月, 2014 7 次提交
  4. 18 6月, 2014 10 次提交
  5. 27 5月, 2014 1 次提交
  6. 22 5月, 2014 2 次提交
    • P
      KVM: x86: check CS.DPL against RPL during task switch · 5045b468
      Paolo Bonzini 提交于
      Table 7-1 of the SDM mentions a check that the code segment's
      DPL must match the selector's RPL.  This was not done by KVM,
      fix it.
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      5045b468
    • P
      KVM: x86: use new CS.RPL as CPL during task switch · 2356aaeb
      Paolo Bonzini 提交于
      During task switch, all of CS.DPL, CS.RPL, SS.DPL must match (in addition
      to all the other requirements) and will be the new CPL.  So far this
      worked by carefully setting the CS selector and flag before doing the
      task switch; setting CS.selector will already change the CPL.
      
      However, this will not work once we get the CPL from SS.DPL, because
      then you will have to set the full segment descriptor cache to change
      the CPL.  ctxt->ops->cpl(ctxt) will then return the old CPL during the
      task switch, and the check that SS.DPL == CPL will fail.
      
      Temporarily assume that the CPL comes from CS.RPL during task switch
      to a protected-mode task.  This is the same approach used in QEMU's
      emulation code, which (until version 2.0) manually tracks the CPL.
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      2356aaeb
  7. 24 4月, 2014 2 次提交
  8. 22 4月, 2014 1 次提交
  9. 17 3月, 2014 2 次提交
    • I
      KVM: x86 emulator: emulate MOVAPD · 6fec27d8
      Igor Mammedov 提交于
      Add emulation for 0x66 prefixed instruction of 0f 28 opcode
      that has been added earlier.
      Signed-off-by: NIgor Mammedov <imammedo@redhat.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      6fec27d8
    • I
      KVM: x86 emulator: emulate MOVAPS · 27ce8258
      Igor Mammedov 提交于
      HCK memory driver test fails when testing 32-bit Windows 8.1
      with baloon driver.
      
      tracing KVM shows error:
      reason EXIT_ERR rip 0x81c18326 info 0 0
      
      x/10i 0x81c18326-20
      0x0000000081c18312:  add    %al,(%eax)
      0x0000000081c18314:  add    %cl,-0x7127711d(%esi)
      0x0000000081c1831a:  rolb   $0x0,0x80ec(%ecx)
      0x0000000081c18321:  and    $0xfffffff0,%esp
      0x0000000081c18324:  mov    %esp,%esi
      0x0000000081c18326:  movaps %xmm0,(%esi)
      0x0000000081c18329:  movaps %xmm1,0x10(%esi)
      0x0000000081c1832d:  movaps %xmm2,0x20(%esi)
      0x0000000081c18331:  movaps %xmm3,0x30(%esi)
      0x0000000081c18335:  movaps %xmm4,0x40(%esi)
      
      which points to MOVAPS instruction currently no emulated by KVM.
      Fix it by adding appropriate entries to opcode table in KVM's emulator.
      Signed-off-by: NIgor Mammedov <imammedo@redhat.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      27ce8258
  10. 05 11月, 2013 2 次提交
  11. 03 11月, 2013 1 次提交
    • P
      KVM: x86: fix emulation of "movzbl %bpl, %eax" · daf72722
      Paolo Bonzini 提交于
      When I was looking at RHEL5.9's failure to start with
      unrestricted_guest=0/emulate_invalid_guest_state=1, I got it working with a
      slightly older tree than kvm.git.  I now debugged the remaining failure,
      which was introduced by commit 660696d1 (KVM: X86 emulator: fix
      source operand decoding for 8bit mov[zs]x instructions, 2013-04-24)
      introduced a similar mis-emulation to the one in commit 8acb4207 (KVM:
      fix sil/dil/bpl/spl in the mod/rm fields, 2013-05-30).  The incorrect
      decoding occurs in 8-bit movzx/movsx instructions whose 8-bit operand
      is sil/dil/bpl/spl.
      
      Needless to say, "movzbl %bpl, %eax" does occur in RHEL5.9's decompression
      prolog, just a handful of instructions before finally giving control to
      the decompressed vmlinux and getting out of the invalid guest state.
      
      Because OpMem8 bypasses decode_modrm, the same handling of the REX prefix
      must be applied to OpMem8.
      Reported-by: NMichele Baldessari <michele@redhat.com>
      Cc: stable@vger.kernel.org
      Cc: Gleb Natapov <gleb@redhat.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: NGleb Natapov <gleb@redhat.com>
      daf72722
  12. 01 11月, 2013 1 次提交