From: Mathew McBride Date: Fri, 17 Jan 2025 05:58:05 +0000 (+1100) Subject: armsr: add Hyper-V on Arm64 support X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=075571b0232c0140d9ebcc6c3a250e69a2324aea;p=openwrt%2Fstaging%2Fsvanheule.git armsr: add Hyper-V on Arm64 support This adds support for running as a guest on Windows Hyper-V on arm64 Windows machines (like the Qualcomm Snapdragon X based machines). The drivers are the same as Hyper-V on x86-64. Limitations: - The VM must be configured with a single vCPU only[1]. It appears Microsoft has made changes to Arm64 Hyper-V's timers and other infrastructure in Windows 11 24H2 which require kernel changes[2][3] to fix. - You must turn off secure boot enforcement to boot OpenWrt, as OpenWrt/armsr does not have a signed bootloader. [1] https://www.reddit.com/r/Surface/comments/1dmzpzt/comment/lx4tatp/ [2] https://www.reddit.com/r/Surface/comments/1dmzpzt/comment/m5bqgrm/ [3] https://github.com/microsoft/WSL2-Linux-Kernel Signed-off-by: Mathew McBride Link: https://github.com/openwrt/openwrt/pull/17675 Signed-off-by: Hauke Mehrtens --- diff --git a/target/linux/armsr/armv8/config-6.6 b/target/linux/armsr/armv8/config-6.6 index a5a90ff9a8..d99ac46d14 100644 --- a/target/linux/armsr/armv8/config-6.6 +++ b/target/linux/armsr/armv8/config-6.6 @@ -264,6 +264,7 @@ CONFIG_DRM_BOCHS=y CONFIG_DRM_BRIDGE=y # CONFIG_DRM_FSL_LDB is not set CONFIG_DRM_GEM_SHMEM_HELPER=y +# CONFIG_DRM_HYPERV is not set # CONFIG_DRM_IMX8QM_LDB is not set # CONFIG_DRM_IMX8QXP_LDB is not set # CONFIG_DRM_IMX8QXP_PIXEL_COMBINER is not set @@ -308,6 +309,7 @@ CONFIG_FB_CFB_COPYAREA=y CONFIG_FB_CFB_FILLRECT=y CONFIG_FB_CFB_IMAGEBLIT=y CONFIG_FB_CMDLINE=y +CONFIG_FB_HYPERV=y CONFIG_FB_MODE_HELPERS=y CONFIG_FB_MX3=y # CONFIG_FB_SH_MOBILE_LCDC is not set @@ -339,6 +341,7 @@ CONFIG_GPIO_ZYNQMP_MODEPIN=y CONFIG_HDMI=y CONFIG_HI3660_MBOX=y CONFIG_HI6220_MBOX=y +# CONFIG_HID_HYPERV_MOUSE is not set CONFIG_HISILICON_ERRATUM_161600802=y CONFIG_HISILICON_LPC=y CONFIG_HISI_PMU=y @@ -354,6 +357,12 @@ CONFIG_HW_RANDOM_ARM_SMCCC_TRNG=y # CONFIG_HW_RANDOM_HISI is not set # CONFIG_HW_RANDOM_HISTB is not set CONFIG_HW_RANDOM_VIRTIO=y +CONFIG_HYPERV=y +# CONFIG_HYPERV_BALLOON is not set +CONFIG_HYPERV_KEYBOARD=y +CONFIG_HYPERV_NET=y +CONFIG_HYPERV_STORAGE=y +# CONFIG_HYPERV_TESTING is not set CONFIG_I2C=y CONFIG_I2C_ALGOBIT=y CONFIG_I2C_ALTERA=y @@ -408,6 +417,7 @@ CONFIG_IOMMU_SUPPORT=y # CONFIG_IPMMU_VMSA is not set # CONFIG_K3_DMA is not set CONFIG_KCMP=y +CONFIG_KEYBOARD_ATKBD=y # CONFIG_KEYBOARD_IMX_SC_KEY is not set # CONFIG_KEYBOARD_SUN4I_LRADC is not set CONFIG_KSM=y @@ -517,6 +527,7 @@ CONFIG_PCI_AARDVARK=y CONFIG_PCI_HISI=y CONFIG_PCI_HOST_THUNDER_ECAM=y CONFIG_PCI_HOST_THUNDER_PEM=y +CONFIG_PCI_HYPERV=y CONFIG_PCI_IMX6=y CONFIG_PCI_IMX6_HOST=y CONFIG_PCI_IOV=y @@ -700,6 +711,7 @@ CONFIG_SERIAL_SH_SCI_CONSOLE=y CONFIG_SERIAL_SH_SCI_DMA=y CONFIG_SERIAL_SH_SCI_EARLYCON=y CONFIG_SERIAL_SH_SCI_NR_UARTS=18 +CONFIG_SERIO=y # CONFIG_SMC91X is not set # CONFIG_SND_SOC_RCAR is not set # CONFIG_SND_SOC_RZ is not set