Re: git: 47e073941f4e - main - Import the kernel parts of bhyve/arm64

From: John Baldwin <jhb_at_FreeBSD.org>
Date: Fri, 23 Feb 2024 03:03:09 UTC
On 2/22/24 12:10 PM, Warner Losh wrote:
> On Thu, Feb 22, 2024 at 11:30 AM John Baldwin <jhb@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 <andrew@FreeBSD.org>
>>> AuthorDate: 2024-01-09 15:22:27 +0000
>>> Commit:     Andrew Turner <andrew@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