On 2/22/24 12:10 PM, Warner Losh wrote:
On Thu, Feb 22, 2024 at 11:30 AM John Baldwin <j...@freebsd.org> wrote:
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.
In general, the advice I've been giving is that one should retain
copyrights when
there's at least 10%-20% remaining of the original work. And one should
hesitate to add
them unless you've contributed 10%-20% or more to the work (ideally more,
but sometimes
that's gets squishy because the underlying law is based on words like
substantial
and de-minimus, which don't translate well to line counts, and for large
works what
is substantial can be a bit subjective).
If they share so much, maybe we should also look at sharing directly,
rather than by
cut and paste in the future.
Jessica has already mentioned sharing some of the code in at least vmm_dev.c
in the future so I think that will likely happen in some future refactoring.
Several files that share code and were clearly derived from the amd64 bits
already have NetApp, etc. copyrights in this commit, it's just vmm.c that
I think needs updating.
--
John Baldwin