Merge tag 'hyperv-next-signed-20250602' of git://git.kernel.org/pub/scm/linux/kernel...
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 3 Jun 2025 15:39:20 +0000 (08:39 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 3 Jun 2025 15:39:20 +0000 (08:39 -0700)
Pull hyperv updates from Wei Liu:

 - Support for Virtual Trust Level (VTL) on arm64 (Roman Kisel)

 - Fixes for Hyper-V UIO driver (Long Li)

 - Fixes for Hyper-V PCI driver (Michael Kelley)

 - Select CONFIG_SYSFB for Hyper-V guests (Michael Kelley)

 - Documentation updates for Hyper-V VMBus (Michael Kelley)

 - Enhance logging for hv_kvp_daemon (Shradha Gupta)

* tag 'hyperv-next-signed-20250602' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux: (23 commits)
  Drivers: hv: Always select CONFIG_SYSFB for Hyper-V guests
  Drivers: hv: vmbus: Add comments about races with "channels" sysfs dir
  Documentation: hyperv: Update VMBus doc with new features and info
  PCI: hv: Remove unnecessary flex array in struct pci_packet
  Drivers: hv: Remove hv_alloc/free_* helpers
  Drivers: hv: Use kzalloc for panic page allocation
  uio_hv_generic: Align ring size to system page
  uio_hv_generic: Use correct size for interrupt and monitor pages
  Drivers: hv: Allocate interrupt and monitor pages aligned to system page boundary
  arch/x86: Provide the CPU number in the wakeup AP callback
  x86/hyperv: Fix APIC ID and VP index confusion in hv_snp_boot_ap()
  PCI: hv: Get vPCI MSI IRQ domain from DeviceTree
  ACPI: irq: Introduce acpi_get_gsi_dispatcher()
  Drivers: hv: vmbus: Introduce hv_get_vmbus_root_device()
  Drivers: hv: vmbus: Get the IRQ number from DeviceTree
  dt-bindings: microsoft,vmbus: Add interrupt and DMA coherence properties
  arm64, x86: hyperv: Report the VTL the system boots in
  arm64: hyperv: Initialize the Virtual Trust Level field
  Drivers: hv: Provide arch-neutral implementation of get_vtl()
  Drivers: hv: Enable VTL mode for arm64
  ...

13 files changed:
1  2 
arch/x86/coco/sev/core.c
arch/x86/hyperv/hv_init.c
arch/x86/hyperv/hv_vtl.c
arch/x86/hyperv/ivm.c
arch/x86/include/asm/apic.h
arch/x86/include/asm/mshyperv.h
arch/x86/kernel/apic/apic_numachip.c
arch/x86/kernel/smpboot.c
drivers/hv/vmbus_drv.c
drivers/pci/controller/pci-hyperv.c
include/hyperv/hvgdk_mini.h
include/linux/acpi.h
include/linux/hyperv.h

@@@ -869,12 -1166,26 +869,12 @@@ static void *snp_alloc_vmsa_page(int cp
        return page_address(p + 1);
  }
  
- static int wakeup_cpu_via_vmgexit(u32 apic_id, unsigned long start_ip)
 -static void snp_cleanup_vmsa(struct sev_es_save_area *vmsa, int apic_id)
 -{
 -      int err;
 -
 -      err = snp_set_vmsa(vmsa, NULL, apic_id, false);
 -      if (err)
 -              pr_err("clear VMSA page failed (%u), leaking page\n", err);
 -      else
 -              free_page((unsigned long)vmsa);
 -}
 -
+ static int wakeup_cpu_via_vmgexit(u32 apic_id, unsigned long start_ip, unsigned int cpu)
  {
        struct sev_es_save_area *cur_vmsa, *vmsa;
 -      struct ghcb_state state;
        struct svsm_ca *caa;
 -      unsigned long flags;
 -      struct ghcb *ghcb;
        u8 sipi_vector;
-       int cpu, ret;
+       int ret;
        u64 cr4;
  
        /*
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -305,8 -305,9 +306,9 @@@ void hv_set_non_nested_msr(unsigned in
  
  static __always_inline u64 hv_raw_get_msr(unsigned int reg)
  {
 -      return __rdmsr(reg);
 +      return native_rdmsrq(reg);
  }
+ int hv_apicid_to_vp_index(u32 apic_id);
  
  #else /* CONFIG_HYPERV */
  static inline void hyperv_init(void) {}
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge