1. 16 Apr, 2013 5 commits
  2. 14 Apr, 2013 8 commits
  3. 11 Apr, 2013 1 commit
    • Kevin Wolf's avatar
      KVM: x86 emulator: Fix segment loading in VM86 · f8da94e9
      Kevin Wolf authored
      This fixes a regression introduced in commit 03ebebeb ("KVM: x86
      emulator: Leave segment limit and attributs alone in real mode").
      The mentioned commit changed the segment descriptors for both real mode
      and VM86 to only update the segment base instead of creating a
      completely new descriptor with limit 0xffff so that unreal mode keeps
      working across a segment register reload.
      This leads to an invalid segment descriptor in the eyes of VMX, which
      seems to be okay for real mode because KVM will fix it up before the
      next VM entry or emulate the state, but it doesn't do this if the guest
      is in VM86, so we end up with:
        KVM: entry failed, hardware error 0x80000021
      Fix this by effectively reverting commit 03ebebeb
       for VM86 and leaving
      it only in place for real mode, which is where it's really needed.
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      Signed-off-by: default avatarGleb Natapov <gleb@redhat.com>
  4. 08 Apr, 2013 6 commits
  5. 07 Apr, 2013 5 commits
  6. 02 Apr, 2013 12 commits
  7. 24 Mar, 2013 1 commit
  8. 22 Mar, 2013 2 commits
    • Paul Mackerras's avatar
      KVM: PPC: Remove unused argument to kvmppc_core_dequeue_external · 4fe27d2a
      Paul Mackerras authored
      Currently kvmppc_core_dequeue_external() takes a struct kvm_interrupt *
      argument and does nothing with it, in any of its implementations.
      This removes it in order to make things easier for forthcoming
      in-kernel interrupt controller emulation code.
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      Signed-off-by: default avatarAlexander Graf <agraf@suse.de>
    • Scott Wood's avatar
      kvm/ppc/e500: eliminate tlb_refs · 47bf3797
      Scott Wood authored
      Commit 523f0e54
       ("KVM: PPC: E500:
      Explicitly mark shadow maps invalid") began using E500_TLB_VALID
      for guest TLB1 entries, and skipping invalidations if it's not set.
      However, when E500_TLB_VALID was set for such entries, it was on a
      fake local ref, and so the invalidations never happen.  gtlb_privs
      is documented as being only for guest TLB0, though we already violate
      that with E500_TLB_BITMAP.
      Now that we have MMU notifiers, and thus don't need to actually
      retain a reference to the mapped pages, get rid of tlb_refs, and
      use gtlb_privs for E500_TLB_VALID in TLB1.
      Since we can have more than one host TLB entry for a given tlbe_ref,
      be careful not to clear existing flags that are relevant to other
      host TLB entries when preparing a new host TLB entry.
      Signed-off-by: default avatarScott Wood <scottwood@freescale.com>
      Signed-off-by: default avatarAlexander Graf <agraf@suse.de>