On 2/21/24 10:55 AM, Andrew Turner wrote:
The branch main has been updated by andrew:
URL:
https://cgit.FreeBSD.org/src/commit/?id=47e073941f4e7ca6e9bde3fa65abbfcfed6bfa2b
commit 47e073941f4e7ca6e9bde3fa65abbfcfed6bfa2b
Author: Andrew Turner <and...@freebsd.org>
AuthorDate: 2024-01-09 15:22:27 +0000
Commit: Andrew Turner <and...@freebsd.org>
CommitDate: 2024-02-21 18:55:32 +0000
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
FYI, sys/arm64/vmm/vmm.c shares a fair bit of code with sys/amd64/vmm/vmm.c
and looks to be derived from the amd64 file, so I think it should preserve
NetApp's copyright line in addition to Mihai's.
--
John Baldwin