]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
Merge tag 'hyperv-next-signed-20251207' of git://git.kernel.org/pub/scm/linux/kernel...
authorLinus Torvalds <torvalds@linux-foundation.org>
Mon, 8 Dec 2025 21:10:17 +0000 (06:10 +0900)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 8 Dec 2025 21:10:17 +0000 (06:10 +0900)
Pull hyperv updates from Wei Liu:

 - Enhancements to Linux as the root partition for Microsoft Hypervisor:
     - Support a new mode called L1VH, which allows Linux to drive the
       hypervisor running the Azure Host directly
     - Support for MSHV crash dump collection
     - Allow Linux's memory management subsystem to better manage guest
       memory regions
     - Fix issues that prevented a clean shutdown of the whole system on
       bare metal and nested configurations
     - ARM64 support for the MSHV driver
     - Various other bug fixes and cleanups

 - Add support for Confidential VMBus for Linux guest on Hyper-V

 - Secure AVIC support for Linux guests on Hyper-V

 - Add the mshv_vtl driver to allow Linux to run as the secure kernel in
   a higher virtual trust level for Hyper-V

* tag 'hyperv-next-signed-20251207' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux: (58 commits)
  mshv: Cleanly shutdown root partition with MSHV
  mshv: Use reboot notifier to configure sleep state
  mshv: Add definitions for MSHV sleep state configuration
  mshv: Add support for movable memory regions
  mshv: Add refcount and locking to mem regions
  mshv: Fix huge page handling in memory region traversal
  mshv: Move region management to mshv_regions.c
  mshv: Centralize guest memory region destruction
  mshv: Refactor and rename memory region handling functions
  mshv: adjust interrupt control structure for ARM64
  Drivers: hv: use kmalloc_array() instead of kmalloc()
  mshv: Add ioctl for self targeted passthrough hvcalls
  Drivers: hv: Introduce mshv_vtl driver
  Drivers: hv: Export some symbols for mshv_vtl
  static_call: allow using STATIC_CALL_TRAMP_STR() from assembly
  mshv: Extend create partition ioctl to support cpu features
  mshv: Allow mappings that overlap in uaddr
  mshv: Fix create memory region overlap check
  mshv: add WQ_PERCPU to alloc_workqueue users
  Drivers: hv: Use kmalloc_array() instead of kmalloc()
  ...

1  2 
MAINTAINERS
arch/x86/hyperv/hv_init.c
drivers/hv/mshv_root_main.c
drivers/hv/vmbus_drv.c
include/linux/compiler_types.h

diff --cc MAINTAINERS
Simple merge
Simple merge
index 1d8d8d00e4e0187c3a364343e14a17d1881f0e0e,9cf28a3f12fe7f1a21cd47d26870d3a4d3d50758..1134a82c7881341c10272f682ed695f1e85a2a42
@@@ -1900,6 -1926,26 +1929,24 @@@ static long mshv_ioctl_process_pt_flags
                break;
        }
  
 -      struct file *file;
 -      int fd;
+       return 0;
+ }
+ static long
+ mshv_ioctl_create_partition(void __user *user_arg, struct device *module_dev)
+ {
+       u64 creation_flags;
+       struct hv_partition_creation_properties creation_properties;
+       union hv_partition_isolation_properties isolation_properties;
+       struct mshv_partition *partition;
+       long ret;
+       ret = mshv_ioctl_process_pt_flags(user_arg, &creation_flags,
+                                         &creation_properties,
+                                         &isolation_properties);
+       if (ret)
+               return ret;
        partition = kzalloc(sizeof(*partition), GFP_KERNEL);
        if (!partition)
                return -ENOMEM;
index 67734dc73e160957b422d9eb58d7cf374f1cd6db,47fcab38398a4a3d6500f34532bb01de076203e4..a53af6fe81a657c2185885b216944fcae8cbcf72
@@@ -2798,10 -2856,10 +2856,10 @@@ static void hv_crash_handler(struct pt_
         */
        cpu = smp_processor_id();
        hv_stimer_cleanup(cpu);
-       hv_synic_disable_regs(cpu);
+       hv_hyp_synic_disable_regs(cpu);
  };
  
 -static int hv_synic_suspend(void)
 +static int hv_synic_suspend(void *data)
  {
        /*
         * When we reach here, all the non-boot CPUs have been offlined.
        return 0;
  }
  
 -static void hv_synic_resume(void)
 +static void hv_synic_resume(void *data)
  {
-       hv_synic_enable_regs(0);
+       hv_hyp_synic_enable_regs(0);
  
        /*
         * Note: we don't need to call hv_stimer_init(0), because the timer
Simple merge