mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-04 09:09:56 +00:00
47e073941f
To support virtual machines on arm64 add the vmm code. This is based on earlier work by Mihai Carabas and Alexandru Elisei at University Politehnica of Bucharest, with further work by myself and Mark Johnston. All AArch64 CPUs should work, however only the GICv3 interrupt controller is supported. There is initial support to allow the GICv2 to be supported in the future. Only pure Armv8.0 virtualisation is supported, the Virtualization Host Extensions are not currently used. With a separate userspace patch and U-Boot port FreeBSD guests are able to boot to multiuser mode, and the hypervisor can be tested with the kvm unit tests. Linux partially boots, but hangs before entering userspace. Other operating systems are untested. Sponsored by: Arm Ltd Sponsored by: Innovate UK Sponsored by: The FreeBSD Foundation Sponsored by: University Politehnica of Bucharest Differential Revision: https://reviews.freebsd.org/D37428
44 lines
1.0 KiB
Plaintext
44 lines
1.0 KiB
Plaintext
|
|
ARM64 opt_global.h # for cpu ARM64 to work
|
|
INTRNG opt_global.h
|
|
SOCDEV_PA opt_global.h
|
|
THUNDERX_PASS_1_1_ERRATA opt_global.h
|
|
VFP opt_global.h
|
|
LINUX_BOOT_ABI opt_global.h
|
|
LSE_ATOMICS opt_global.h
|
|
|
|
# Per-thread stack smashing protection support
|
|
# Needs clang >= 13
|
|
PERTHREAD_SSP opt_global.h
|
|
|
|
# Binary compatibility
|
|
COMPAT_FREEBSD32 opt_global.h
|
|
# Emulate SWP/SWPB for COMPAT_FREEBSD32
|
|
EMUL_SWP opt_global.h
|
|
|
|
# EFI Runtime services support
|
|
EFIRT opt_efirt.h
|
|
|
|
# Bhyve
|
|
VMM opt_global.h
|
|
|
|
# SoC Support
|
|
SOC_ALLWINNER_A64 opt_soc.h
|
|
SOC_ALLWINNER_H5 opt_soc.h
|
|
SOC_ALLWINNER_H6 opt_soc.h
|
|
SOC_APPLE_T8103 opt_soc.h
|
|
SOC_BRCM_BCM2837 opt_soc.h
|
|
SOC_BRCM_BCM2838 opt_soc.h
|
|
SOC_BRCM_NS2 opt_soc.h
|
|
SOC_CAVM_THUNDERX opt_soc.h
|
|
SOC_FREESCALE_IMX8 opt_soc.h
|
|
SOC_HISI_HI6220 opt_soc.h
|
|
SOC_INTEL_STRATIX10 opt_soc.h
|
|
SOC_MARVELL_8K opt_soc.h
|
|
SOC_NVIDIA_TEGRA210 opt_soc.h
|
|
SOC_NXP_LS opt_soc.h
|
|
SOC_ROCKCHIP_RK3328 opt_soc.h
|
|
SOC_ROCKCHIP_RK3399 opt_soc.h
|
|
SOC_ROCKCHIP_RK3568 opt_soc.h
|
|
SOC_XILINX_ZYNQ opt_soc.h
|