[PATCH hyperv-next v9 00/11] arm64: hyperv: Support Virtual Trust Level Boot

Wei Liu wei.liu at kernel.org
Mon May 5 23:19:57 PDT 2025


On Mon, Apr 28, 2025 at 02:07:31PM -0700, Roman Kisel wrote:
> This patch set allows the Hyper-V code to boot on ARM64 inside a Virtual Trust
> Level. These levels are a part of the Virtual Secure Mode documented in the
> Top-Level Functional Specification available at
> https://learn.microsoft.com/en-us/virtualization/hyper-v-on-windows/tlfs/vsm.
> 
> The OpenHCL paravisor https://github.com/microsoft/openvmm/tree/main/openhcl
> can serve as a practical application of these patches on ARM64.
> 
> For validation, I built kernels for the {x86_64, ARM64} x {VTL0, VTL2} set with
> a small initrd embedded into the kernel and booted VMs managed by Hyper-V and
> OpenVMM off of that.
> 
> Starting from V5, the patch series includes a non-functional change to KVM on
> arm64 which I tested as well.
> 
> I've kept the Acked-by tags given by Arnd and Bjorn. These patches (1 and 11)
> have changed very slightly since then (V5 and V6), no functional changes:
> in patch 1, removed macro's in favour of functions as Marc suggested to get rid
> of "sparse" warnings, and in patch 11, fixed building as a module. Please let me
> know if I should have not kept the tags.
> 
[...]
> Roman Kisel (11):
>   arm64: kvm, smccc: Introduce and use API for getting hypervisor UUID

I notice there were review comments from multiple people on this patch.
To the best of my knowledge, those comments have been addressed in this
version, but I only had a cursory look and am by no means an expert on
ARM64.

My assumption is Arnd's review is good enough for this patch to get
merged.

With that assumption, I have applied this whole series to hyperv-next.

ARM64 maintainers, please let me know if you have an objection -- I can
drop the series and let Roman address further comments.

Thanks,
Wei.

>   arm64: hyperv: Use SMCCC to detect hypervisor presence
>   Drivers: hv: Enable VTL mode for arm64
>   Drivers: hv: Provide arch-neutral implementation of get_vtl()
>   arm64: hyperv: Initialize the Virtual Trust Level field
>   arm64, x86: hyperv: Report the VTL the system boots in
>   dt-bindings: microsoft,vmbus: Add interrupt and DMA coherence
>     properties
>   Drivers: hv: vmbus: Get the IRQ number from DeviceTree
>   Drivers: hv: vmbus: Introduce hv_get_vmbus_root_device()
>   ACPI: irq: Introduce acpi_get_gsi_dispatcher()
>   PCI: hv: Get vPCI MSI IRQ domain from DeviceTree




More information about the linux-arm-kernel mailing list