• Paolo Bonzini's avatar
    Merge tag 'kvm-x86-xen-6.9' of https://github.com/kvm-x86/linux into HEAD · e9a2bba4
    Paolo Bonzini authored
    KVM Xen and pfncache changes for 6.9:
    
     - Rip out the half-baked support for using gfn_to_pfn caches to manage pages
       that are "mapped" into guests via physical addresses.
    
     - Add support for using gfn_to_pfn caches with only a host virtual address,
       i.e. to bypass the "gfn" stage of the cache.  The primary use case is
       overlay pages, where the guest may change the gfn used to reference the
       overlay page, but the backing hva+pfn remains the same.
    
     - Add an ioctl() to allow mapping Xen's shared_info page using an hva instead
       of a gpa, so that userspace doesn't need to reconfigure and invalidate the
       cache/mapping if the guest changes the gpa (but userspace keeps the resolved
       hva the same).
    
     - When possible, use a single host TSC value when computing the deadline for
       Xen timers in order to improve the accuracy of the timer emulation.
    
     - Inject pending upcall events when the vCPU software-enables its APIC to fix
       a bug where an upcall can be lost (and to follow Xen's behavior).
    
     - Fall back to the slow path instead of warning if "fast" IRQ delivery of Xen
       events fails, e.g. if the guest has aliased xAPIC IDs.
    
     - Extend gfn_to_pfn_cache's mutex to cover (de)activation (in addition to
       refresh), and drop a now-redundant acquisition of xen_lock (that was
       protecting the shared_info cache) to fix a deadlock due to recursively
       acquiring xen_lock.
    e9a2bba4
lapic.c 86.7 KB