HardenedBSD/sys/modules
Andrew Turner 47e073941f Import the kernel parts of bhyve/arm64
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
2024-02-21 18:55:32 +00:00
..
3dfx
3dfx_linux
aac
aacraid
accf_data
accf_dns
accf_http
acl_nfs4
acl_posix1e
acpi
adlink
ae
aesni
age
agp
ahci
aic7xxx
alc
ale
allwinner
alq
am335x_dmtpps
amd_ecc_inject
amdgpio
amdsbwd
amdsmb
amdsmn
amdtemp
aout
arcmsr
arm_ti
armv8_rng
armv8crypto
asmc
ata
ath
ath10k
ath11k
ath12k
ath_dfs
ath_hal
ath_hal_ar5210
ath_hal_ar5211
ath_hal_ar5212
ath_hal_ar5416
ath_hal_ar9300
ath_main
ath_rate
athk_common
autofs
axgbe
backlight
bce
bcm283x_clkman
bcm283x_pwm
bfe
bge
bhnd
bios
blake2
bnxt
bridgestp
bwi
bwn
bxe
bytgpio
cam
cardbus
carp
cas
cbb
cc
ccp
cd9660
cd9660_iconv
cfi
cfiscsi
chromebook_platform
chvgpio
ciss
coretemp
cpsw
cpuctl
cpufreq
crypto
cryptodev
ctl
cuse
cxgb
cxgbe
dc
dcons
dcons_crom
dpaa2
dpdk_lpm4
dpdk_lpm6
dpms
dtb
dtrace
dummynet
dwwdt
e6000sw
efirt
em
ena
enetc
enic
epoch_test
et
evdev
exca
ext2fs
fdc
fdescfs
fdt
felix
ffec
fib_dxr
filemon
firewire
firmware
flash
ftgpio
ftwd
fusefs
fxp
gem
geom
glxiic
glxsb
gpio
gve
hid
hifn
hpt27xx
hptiop
hptmv
hptnr
hptrr
hwpmc
hyperv
i2c
iavf
ibcore
ice
ice_ddp
ichwd
ida
if_bridge
if_cgem
if_disc
if_edsc
if_enc
if_epair
if_gif
if_gre
if_infiniband
if_lagg
if_me
if_ovpn
if_stf
if_tuntap
if_vlan
if_vxlan
if_wg
iflib
igc
imgact_binmisc
imx
intelspi
io
ioat
ip6_mroute_mod
ip_mroute_mod
ipdivert
ipfilter
ipfw
ipfw_nat
ipfw_nat64
ipfw_nptv6
ipfw_pmod
ipmi
ipoib
ips
ipsec
ipw
ipwfw
irdma
isci
iscsi
iser
isp
ispfw
itwd
iwi
iwifw
iwlwifi
iwlwififw
iwm
iwmfw
iwn
iwnfw
ix
ixl
ixv
jme
kbdmux
kgssapi
kgssapi_krb5
khelp
krpc
ksyms
ktest
le
lge
libalias
libiconv
libmchain
lindebugfs
linprocfs
linsysfs
linux
linux64
linux_common
linuxkpi
linuxkpi_hdmi
linuxkpi_wlan
lio
lpt
mac_biba
mac_bsdextended
mac_ddb
mac_ifoff
mac_ipacl
mac_lomac
mac_mls
mac_none
mac_ntpd
mac_partition
mac_pimd
mac_portacl
mac_priority
mac_seeotheruids
mac_stub
mac_test
mac_veriexec
mac_veriexec_sha1
mac_veriexec_sha256
mac_veriexec_sha384
mac_veriexec_sha512
malo
mana
md
mdio
mem
mfi
mgb
mii
mlx
mlx4
mlx4en
mlx4ib
mlx5
mlx5en
mlx5fpga_tools
mlx5ib
mlxfw
mmc
mmcnull
mmcsd
mpi3mr
mpr
mps
mpt
mqueue
mrsas
msdosfs
msdosfs_iconv
msk
mt76
mthca
mvs
mwl
mwlfw
mxge
my
nctgpio
ncthwm
neta
netgraph
netlink
netmap
nfe
nfscl
nfscommon
nfsd
nfslockd
nfssvc
nge
nlsysevent
nmdm
ntb
nullfs
nvd
nvdimm
nvme
nvram
oce
ocs_fc
opal_nvram
opensolaris
ossl
otus
otusfw
ow
p2sb
padlock
padlock_rng
pcfclock
pchtherm
pf
pflog
pflow
pfsync
plip
pms
powermac_nvram
ppbus
ppc
ppi
pps
procfs
proto
pseudofs
pst
pty
puc
pwm
qat
qat_c2xxx
qat_c2xxxfw
qatfw
qlnx
qlxgb
qlxgbe
qlxge
ral
ralfw
random_fortuna
random_other
rc4
rccgpio
rdma
rdrand_rng
re
rl
rndtest
rockchip
rpi_ft5406
rtsx
rtw88
rtw88fw
rtw89
rtw89fw
rtwn
rtwn_pci
rtwn_usb
rtwnfw
s3
safe
safexcel
sbni
scc
sctp
sdhci
sdhci_acpi
sdhci_fdt
sdhci_pci
sdio
sem
send
sff
sfxge
sge
sgx
sgx_linux
siftr
siis
sis
sk
smartpqi
smbfs
snp
sound
speaker
spi
spigen
splash
ste
stge
sume
superio
sym
syscons
sysvipc
tarfs
tcp
tests
ti
tmpfs
toecore
tpm
tsec
tws
uart
ubser
uchcom
ucycom
udf
udf_iconv
ufs
uinput
unionfs
usb
veriexec
vesa
vge
viawd
videomode
virtio
vkbd
vmd
vmm
vmware
vnic
vr
vte
wbwd
wdatwd
wlan
wlan_acl
wlan_amrr
wlan_ccmp
wlan_rssadapt
wlan_tkip
wlan_wep
wlan_xauth
wpi
wpifw
wtap
x86bios
xdr
xl
xz
zfs
zlib
Makefile
Makefile.inc