Message ID | 20250428210742.435282-1-romank@linux.microsoft.com |
---|---|
Headers | show |
Series | arm64: hyperv: Support Virtual Trust Level Boot | expand |
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