1. 08 Apr, 2013 5 commits
  2. 07 Apr, 2013 5 commits
  3. 02 Apr, 2013 12 commits
  4. 24 Mar, 2013 1 commit
  5. 21 Mar, 2013 10 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>
    • Scott Wood's avatar
      kvm/ppc/e500: g2h_tlb1_map: clear old bit before setting new bit · 36ada4f4
      Scott Wood authored
      It's possible that we're using the same host TLB1 slot to map (a
      presumably different portion of) the same guest TLB1 entry.  Clear
      the bit in the map before setting it, so that if the esels are the same
      the bit will remain set.
      Signed-off-by: default avatarScott Wood <scottwood@freescale.com>
      Signed-off-by: default avatarAlexander Graf <agraf@suse.de>
    • Scott Wood's avatar
      kvm/ppc/e500: h2g_tlb1_rmap: esel 0 is valid · d6940b64
      Scott Wood authored
      Add one to esel values in h2g_tlb1_rmap, so that "no mapping" can be
      distinguished from "esel 0".  Note that we're not saved by the fact
      that host esel 0 is reserved for non-KVM use, because KVM host esel
      numbering is not the raw host numbering (see to_htlb1_esel).
      Signed-off-by: default avatarScott Wood <scottwood@freescale.com>
      Signed-off-by: default avatarAlexander Graf <agraf@suse.de>
    • Bharat Bhushan's avatar
      KVM: PPC: booke: Added debug handler · 15b708be
      Bharat Bhushan authored
      Installed debug handler will be used for guest debug support
      and debug facility emulation features (patches for these
      features will follow this patch).
      Signed-off-by: default avatarLiu Yu <yu.liu@freescale.com>
      [bharat.bhushan@freescale.com: Substantial changes]
      Signed-off-by: default avatarBharat Bhushan <bharat.bhushan@freescale.com>
      Signed-off-by: default avatarAlexander Graf <agraf@suse.de>
    • Bharat Bhushan's avatar
      KVM: PPC: Added one_reg interface for timer registers · 78accda4
      Bharat Bhushan authored
      If userspace wants to change some specific bits of TSR
      (timer status register) then it uses GET/SET_SREGS ioctl interface.
      So the steps will be:
            i)   user-space will make get ioctl,
            ii)  change TSR in userspace
            iii) then make set ioctl.
      It can happen that TSR gets changed by kernel after step i) and
      before step iii).
      To avoid this we have added below one_reg ioctls for oring and clearing
      specific bits in TSR. This patch adds one registerface for:
           1) setting specific bit in TSR (timer status register)
           2) clearing specific bit in TSR (timer status register)
           3) setting/getting the TCR register. There are cases where we want to only
              change TCR and not TSR. Although we can uses SREGS without
              KVM_SREGS_E_UPDATE_TSR flag but I think one reg is better. I am open
              if someone feels we should use SREGS only here.
           4) getting/setting TSR register
      Signed-off-by: default avatarBharat Bhushan <bharat.bhushan@freescale.com>
      Signed-off-by: default avatarAlexander Graf <agraf@suse.de>
    • Bharat Bhushan's avatar
      KVM: PPC: move tsr update in a separate function · d26f22c9
      Bharat Bhushan authored
      This is done so that same function can be called from SREGS and
      ONE_REG interface (follow up patch).
      Signed-off-by: default avatarBharat Bhushan <bharat.bhushan@freescale.com>
      Signed-off-by: default avatarAlexander Graf <agraf@suse.de>
    • Takuya Yoshikawa's avatar
      KVM: MMU: Rename kvm_mmu_free_some_pages() to make_mmu_pages_available() · 81f4f76b
      Takuya Yoshikawa authored
      The current name "kvm_mmu_free_some_pages" should be used for something
      that actually frees some shadow pages, as we expect from the name, but
      what the function is doing is to make some, KVM_MIN_FREE_MMU_PAGES,
      shadow pages available: it does nothing when there are enough.
      This patch changes the name to reflect this meaning better; while doing
      this renaming, the code in the wrapper function is inlined into the main
      body since the whole function will be inlined into the only caller now.
      Signed-off-by: default avatarTakuya Yoshikawa <yoshikawa_takuya_b1@lab.ntt.co.jp>
      Signed-off-by: default avatarMarcelo Tosatti <mtosatti@redhat.com>
    • Takuya Yoshikawa's avatar
      KVM: MMU: Move kvm_mmu_free_some_pages() into kvm_mmu_alloc_page() · 7ddca7e4
      Takuya Yoshikawa authored
      What this function is doing is to ensure that the number of shadow pages
      does not exceed the maximum limit stored in n_max_mmu_pages: so this is
      placed at every code path that can reach kvm_mmu_alloc_page().
      Although it might have some sense to spread this function in each such
      code path when it could be called before taking mmu_lock, the rule was
      changed not to do so.
      Taking this background into account, this patch moves it into
      kvm_mmu_alloc_page() and simplifies the code.
      Note: the unlikely hint in kvm_mmu_free_some_pages() guarantees that the
      overhead of this function is almost zero except when we actually need to
      allocate some shadow pages, so we do not need to care about calling it
      multiple times in one path by doing kvm_mmu_get_page() a few times.
      Signed-off-by: default avatarTakuya Yoshikawa <yoshikawa_takuya_b1@lab.ntt.co.jp>
      Signed-off-by: default avatarMarcelo Tosatti <mtosatti@redhat.com>
    • Marcelo Tosatti's avatar
      Merge remote-tracking branch 'upstream/master' into queue · 2ae33b38
      Marcelo Tosatti authored
      Merge reason:
      From: Alexander Graf <agraf@suse.de>
      "Just recently this really important patch got pulled into Linus' tree for 3.9:
      commit 1674400a
      Author: Anton Blanchard <anton <at> samba.org>
      Date:   Tue Mar 12 01:51:51 2013 +0000
      Without that commit, I can not boot my G5, thus I can't run automated tests on it against my queue.
      Could you please merge kvm/next against linus/master, so that I can base my trees against that?"
      * upstream/master: (653 commits)
        PCI: Use ROM images from firmware only if no other ROM source available
        sparc: remove unused "config BITS"
        sparc: delete "if !ULTRA_HAS_POPULATION_COUNT"
        KVM: Fix bounds checking in ioapic indirect register reads (CVE-2013-1798)
        KVM: x86: Convert MSR_KVM_SYSTEM_TIME to use gfn_to_hva_cache functions (CVE-2013-1797)
        KVM: x86: fix for buffer overflow in handling of MSR_KVM_SYSTEM_TIME (CVE-2013-1796)
        arm64: Kconfig.debug: Remove unused CONFIG_DEBUG_ERRORS
        arm64: Do not select GENERIC_HARDIRQS_NO_DEPRECATED
        inet: limit length of fragment queue hash table bucket lists
        qeth: Fix scatter-gather regression
        qeth: Fix invalid router settings handling
        qeth: delay feature trace
        sgy-cts1000: Remove __dev* attributes
        KVM: x86: fix deadlock in clock-in-progress request handling
        KVM: allow host header to be included even for !CONFIG_KVM
        hwmon: (lm75) Fix tcn75 prefix
        hwmon: (lm75.h) Update header inclusion
        MAINTAINERS: Remove Mark M. Hoffman
        xfs: ensure we capture IO errors correctly
        xfs: fix xfs_iomap_eof_prealloc_initial_size type
      Signed-off-by: default avatarMarcelo Tosatti <mtosatti@redhat.com>
  6. 20 Mar, 2013 1 commit
  7. 19 Mar, 2013 6 commits