1. 14 Nov, 2023 18 commits
  2. 13 Nov, 2023 13 commits
  3. 08 Nov, 2023 1 commit
  4. 31 Oct, 2023 8 commits
    • Paolo Bonzini's avatar
      Merge tag 'kvmarm-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into HEAD · 45b890f7
      Paolo Bonzini authored
      KVM/arm64 updates for 6.7
      
       - Generalized infrastructure for 'writable' ID registers, effectively
         allowing userspace to opt-out of certain vCPU features for its guest
      
       - Optimization for vSGI injection, opportunistically compressing MPIDR
         to vCPU mapping into a table
      
       - Improvements to KVM's PMU emulation, allowing userspace to select
         the number of PMCs available to a VM
      
       - Guest support for memory operation instructions (FEAT_MOPS)
      
       - Cleanups to handling feature flags in KVM_ARM_VCPU_INIT, squashing
         bugs and getting rid of useless code
      
       - Changes to the way the SMCCC filter is constructed, avoiding wasted
         memory allocations when not in use
      
       - Load the stage-2 MMU context at vcpu_load() for VHE systems, reducing
         the overhead of errata mitigations
      
       - Miscellaneous kernel and selftest fixes
      45b890f7
    • Paolo Bonzini's avatar
      Merge tag 'kvm-x86-svm-6.7' of https://github.com/kvm-x86/linux into HEAD · be479419
      Paolo Bonzini authored
      KVM SVM changes for 6.7:
      
       - Report KVM_EXIT_SHUTDOWN instead of EINVAL if KVM intercepts SHUTDOWN while
         running an SEV-ES guest.
      
       - Clean up handling "failures" when KVM detects it can't emulate the "skip"
         action for an instruction that has already been partially emulated.  Drop a
         hack in the SVM code that was fudging around the emulator code not giving
         SVM enough information to do the right thing.
      be479419
    • Paolo Bonzini's avatar
      Merge tag 'kvm-x86-pmu-6.7' of https://github.com/kvm-x86/linux into HEAD · d5cde2e0
      Paolo Bonzini authored
      KVM PMU change for 6.7:
      
       - Handle NMI/SMI requests after PMU/PMI requests so that a PMI=>NMI doesn't
         require redoing the entire run loop due to the NMI not being detected until
         the final kvm_vcpu_exit_request() check before entering the guest.
      d5cde2e0
    • Paolo Bonzini's avatar
      Merge tag 'kvm-x86-xen-6.7' of https://github.com/kvm-x86/linux into HEAD · e122d7a1
      Paolo Bonzini authored
      KVM x86 Xen changes for 6.7:
      
       - Omit "struct kvm_vcpu_xen" entirely when CONFIG_KVM_XEN=n.
      
       - Use the fast path directly from the timer callback when delivering Xen timer
         events.  Avoid the problematic races with using the fast path by ensuring
         the hrtimer isn't running when (re)starting the timer or saving the timer
         information (for userspace).
      
       - Follow the lead of upstream Xen and ignore the VCPU_SSHOTTMR_future flag.
      e122d7a1
    • Paolo Bonzini's avatar
      Merge tag 'kvm-x86-mmu-6.7' of https://github.com/kvm-x86/linux into HEAD · f0f59d06
      Paolo Bonzini authored
      KVM x86 MMU changes for 6.7:
      
       - Clean up code that deals with honoring guest MTRRs when the VM has
         non-coherent DMA and host MTRRs are ignored, i.e. EPT is enabled.
      
       - Zap EPT entries when non-coherent DMA assignment stops/start to prevent
         using stale entries with the wrong memtype.
      
       - Don't ignore guest PAT for CR0.CD=1 && KVM_X86_QUIRK_CD_NW_CLEARED=y, as
         there's zero reason to ignore guest PAT if the effective MTRR memtype is WB.
         This will also allow for future optimizations of handling guest MTRR updates
         for VMs with non-coherent DMA and the quirk enabled.
      
       - Harden the fast page fault path to guard against encountering an invalid
         root when walking SPTEs.
      f0f59d06
    • Paolo Bonzini's avatar
      Merge tag 'kvm-x86-misc-6.7' of https://github.com/kvm-x86/linux into HEAD · f292dc8a
      Paolo Bonzini authored
      KVM x86 misc changes for 6.7:
      
       - Add CONFIG_KVM_MAX_NR_VCPUS to allow supporting up to 4096 vCPUs without
         forcing more common use cases to eat the extra memory overhead.
      
       - Add IBPB and SBPB virtualization support.
      
       - Fix a bug where restoring a vCPU snapshot that was taken within 1 second of
         creating the original vCPU would cause KVM to try to synchronize the vCPU's
         TSC and thus clobber the correct TSC being set by userspace.
      
       - Compute guest wall clock using a single TSC read to avoid generating an
         inaccurate time, e.g. if the vCPU is preempted between multiple TSC reads.
      
       - "Virtualize" HWCR.TscFreqSel to make Linux guests happy, which complain
          about a "Firmware Bug" if the bit isn't set for select F/M/S combos.
      
       - Don't apply side effects to Hyper-V's synthetic timer on writes from
         userspace to fix an issue where the auto-enable behavior can trigger
         spurious interrupts, i.e. do auto-enabling only for guest writes.
      
       - Remove an unnecessary kick of all vCPUs when synchronizing the dirty log
         without PML enabled.
      
       - Advertise "support" for non-serializing FS/GS base MSR writes as appropriate.
      
       - Use octal notation for file permissions through KVM x86.
      
       - Fix a handful of typo fixes and warts.
      f292dc8a
    • Paolo Bonzini's avatar
      Merge tag 'kvm-x86-docs-6.7' of https://github.com/kvm-x86/linux into HEAD · fadaf574
      Paolo Bonzini authored
      KVM x86 Documentation updates for 6.7:
      
       - Fix various typos, notably a confusing reference to the non-existent
         "struct kvm_vcpu_event" (the actual structure is kvm_vcpu_events, plural).
      
       - Update x86's kvm_mmu_page documentation to bring it closer to the code
         (this raced with the removal of async zapping and so the documentation is
         already stale; my bad).
      
       - Document the behavior of x86 PMU filters on fixed counters.
      fadaf574
    • Paolo Bonzini's avatar
      Merge tag 'kvm-x86-apic-6.7' of https://github.com/kvm-x86/linux into HEAD · f2336467
      Paolo Bonzini authored
      KVM x86 APIC changes for 6.7:
      
       - Purge VMX's posted interrupt descriptor *before* loading APIC state when
         handling KVM_SET_LAPIC.  Purging the PID after loading APIC state results in
         lost APIC timer IRQs as the APIC timer can be armed as part of loading APIC
         state, i.e. can immediately pend an IRQ if the expiry is in the past.
      
       - Clear the ICR.BUSY bit when handling trap-like x2APIC writes.  This avoids a
         WARN, due to KVM expecting the BUSY bit to be cleared when sending IPIs.
      f2336467