From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-1.mimecast.com (us-smtp-1.mimecast.com [205.139.110.120]) by mx.groups.io with SMTP id smtpd.web12.2913.1593682058540747542 for ; Thu, 02 Jul 2020 02:27:39 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=TE7VmRdM; spf=pass (domain: redhat.com, ip: 205.139.110.120, mailfrom: lersek@redhat.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593682056; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=iecTLACDUUl9OloC6/Qok/nTH/lWHIBCJwjMZyW4tiU=; b=TE7VmRdMJN1LON7HwyXGvMIz+byf8uT/wJirC6bO/evg9vFl/0jBftv40IzyN6AokfDnKe Y954SwB4bO5GJKfd6X7I6qvGnh+Ue4Pxnnss3GcyNGdVBtVWnLwTt1hngUcR5f/5lqjw29 9JOnM+uQ6jEOS6K4ajFa9zGEAPnGqow= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-412-xG9F4FOXPsyA1BjvXLiytQ-1; Thu, 02 Jul 2020 05:27:29 -0400 X-MC-Unique: xG9F4FOXPsyA1BjvXLiytQ-1 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id E7BF8107ACCA; Thu, 2 Jul 2020 09:27:27 +0000 (UTC) Received: from lacos-laptop-7.usersys.redhat.com (ovpn-113-177.ams2.redhat.com [10.36.113.177]) by smtp.corp.redhat.com (Postfix) with ESMTP id 43E657923C; Thu, 2 Jul 2020 09:27:26 +0000 (UTC) Subject: Re: OvmfPkg: Adding support for bhyve as OvmfPkg/Bhyve To: Rebecca Cran , edk2-devel-groups-io Cc: Ard Biesheuvel , Andrew Fish , Leif Lindholm , "Justen, Jordan L" , "Kinney, Michael D" References: <92612908-44f4-30d4-ae3a-3ad595e2141f@bsdio.com> From: "Laszlo Ersek" Message-ID: <68b55c49-1e49-e082-ca38-68c3d321611b@redhat.com> Date: Thu, 2 Jul 2020 11:27:25 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <92612908-44f4-30d4-ae3a-3ad595e2141f@bsdio.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=lersek@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Hi Rebecca, On 06/26/20 17:38, Rebecca Cran wrote: > I've finished the work to move BhyvePkg into OvmfPkg/Bhyve, and the > changes are available at > https://github.com/bcran/edk2/commit/09cfc08b50992ed3f76459611e8a928b74ed8c8a > . > > Since it's such a large patch (over 400KB, but the vast majority of it > is existing changes from previously-reviewed patches), I'm posting a > link to the changes here in case there are any fundamental issues with > it before I post it for review. I'll look at the patches on the list. (I don't believe in reviewing before reviewing. In case I need to make comments for what I find in your repo, I could only make them without any context to quote.) > I've run PatchCheck.py and the only issue it flagged is that the > 'license' on VbeShim.h is wrong, and that's because the header is > non-standard: > > // > // THIS FILE WAS GENERATED BY "VbeShim.sh". DO NOT EDIT. > // > > This likely comes from BaseTools commit a4cfb842fca9 ("BaseTools/PatchCheck.py: Add LicenseCheck", 2020-06-12). One approach would be to remove "VbeShim.h" from the tracked files under OvmfPkg, replacing it with a PREBUILD command in the OVMF DSC files. (Then Bhyve could do the same.) However, the generator, namely "VbeShim.sh", is not written in Python, but in (POSIX) shell, and so it can't be called from PREBUILD (I think it would break OVMF builds on Windows). I don't know what to tell you, other than the blanket license enforcement from commit a4cfb842fca9 is likely wrong. The generated include file *must* be a ".h" file, otherwise the INF file reference won't be able to trigger an incremental build, if I understand correctly. So replacing the ".h" suffix with something else, such as ".genh" (for "generated header") won't work, I believe. Modifying the printf invocations in the generator script to also output a license header would not be right either, IMO. A license tag makes no sense (I think) without a copyright (C) statement. And what copyright (C) notice should we put on a generated file? Furthermore, although "ReadMe.rst" in the project root states """ Contributions of code put into the public domain can also be accepted. """ I don't see how the license check implemented in commit a4cfb842fca9 would accommodate a public domain contribution. (I think it would be fine to place the the generated header file in the public domain, *if* (a) we could express that somehow (is there an SPDX tag for that?), *and* (b) if that would eliminate the need for a (C) notice / authorship mark.) Note that this generator use case is not unique to QemuVideoDxe; see for example commit 1e9d6b0f98b5 ("OvmfPkg/OvmfXen: Creating an ELF header", 2019-08-21). I've now filed a bug for BaseTools: https://bugzilla.tianocore.org/show_bug.cgi?id=2833 Once that bug is solved -- that is, once we standardize a tag for marking generated source files as such --, we can update "VbeShim.sh" to produce the tag, in "VbeShim.h". Then OvmfPkg/Bhyve can do the same. Thanks Laszlo