All of lore.kernel.org
 help / color / mirror / Atom feed
From: Igor Mammedov <imammedo@redhat.com>
To: Laszlo Ersek <lersek@redhat.com>
Cc: "Gerd Hoffmann" <kraxel@redhat.com>,
	qemu-devel@nongnu.org, Gonglei <arei.gonglei@huawei.com>,
	"Shannon Zhao" <shannon.zhaosl@gmail.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	"Philippe Mathieu-Daudé" <philmd@redhat.com>,
	"Samuel Ortiz" <sameo@linux.intel.com>,
	"Andrew Jones" <drjones@redhat.com>
Subject: Re: [Qemu-devel] [PATCH 10/14] tests: acpi: ignore SMBIOS tests when UEFI firmware is used
Date: Thu, 17 Jan 2019 16:22:31 +0100	[thread overview]
Message-ID: <20190117162231.54f0aea8@redhat.com> (raw)
In-Reply-To: <0e39924a-064b-b4fd-dad6-57aac29e8ea7@redhat.com>

On Wed, 16 Jan 2019 17:17:23 +0100
Laszlo Ersek <lersek@redhat.com> wrote:

> On 01/16/19 13:20, Igor Mammedov wrote:
> > On Wed, 16 Jan 2019 12:09:03 +0100
> > Laszlo Ersek <lersek@redhat.com> wrote:  
> >> On 01/16/19 12:07, Laszlo Ersek wrote:  
> 
> >>> In particular, for this approach, we don't even need gnu-efi. (Because,
> >>> personally, I would strongly prefer to write the UEFI application with
> >>> the edk2 framework.) For a while now, edk2 has supported "multiple
> >>> workspaces":
> >>>
> >>> https://github.com/tianocore/tianocore.github.io/wiki/Multiple_Workspace
> >>>
> >>> and as a result, it is possible to build the necessary UEFI app from:
> >>> - an edk2 checkout that the maintainer has "somewhere" on their disk,
> >>> - and the UEFI app source code that is contained in a QEMU checkout that
> >>> the maintainer has "somewhere else" on their disk.
> >>>
> >>> This approach allows the UEFI app source to live in the QEMU tree, and
> >>> the affected maintainer(s) would be personally responsible for setting
> >>> up their edk2 clones, and compilers. (The edk2 clone could even be a
> >>> submodule of QEMU, for example at roms/edk2.) For example,
> >>> "roms/Makefile" already calls an external EFIROM utility (also from
> >>> edk2) in order to build the combined iPXE option ROMs.
> >>>
> >>> And yes, we could turn the UEFI binaries into bootable ISO images at once.
> >>>
> >>> I'll try to post some patches soon (or not so soon). I think the app's
> >>> source code, and the edk2 submodule, should live under roms/, and the
> >>> bootable images should live under pc-bios/.
> >>>
> >>> (In fact we could use this opportunity to build & bundle OVMF itself...
> >>> not sure if that's in scope for now. Gerd, what's your take?)    
> 
> >> Oh, I should add: the UEFI app in question could be built without
> >> pulling in any OpenSSL bits; OVMF itself can't be built like that (it
> >> now has a hard dependency on OpenSSL). This might matter from a
> >> licensing/bundling perspective.  
> 
> > That's why I've suggested non EDK2 variant, as we don't need very much
> > from it and its license looks BDS like and it's very simple to build
> > pretty much for everyone.
> > Dealing with EDK2 to rebuild EFI is rather daunting prospect
> > (at least from my point of view so I'd try to avoid it if possible)  
> 
> Writing the app against edk2 is a lot simpler for me, and I have working
> experience with cross-compiling edk2 stuff from x86_64 to aarch64 as well.
> 
> OTOH I have zero experience with gnu-efi, especially when it comes to
> cross-compilation. System-level gnu-efi packages don't offer cross-built
> binaries anyway, so we can't get around a git submodule -- whether it's
> gnu-efi or edk2, we have to build from source.
> 
> And once we have a git submodule, I can put all the build commands in a
> simple shell script.
> 
> Regarding OpenSSL, the edk2 metafiles for the EFI app will make it
> evident that OpenSSL is not used. OpenSSL is anyway a git submodule of
> edk2, so if *that* submodule is not inited -- which you can verify --,
> then any OpenSSL references would fail to build. The resultant UEFI
> binary will be covered by the 2-clause BSDL (from core edk2) and
> whatever license we choose for the UEFI app itself (could be BSDL, could
> be GPL, as you prefer).
> 
> Obviously I'm willing to take on maintenance for the EFI app and the
> build script, if that works for you.
That works for me too, it would be better if anyone would be able to do
rebuild as well (i.e. some in tree magic script/make target that would
do rebuild when it's executed and ask for necessary deps if something
is missing)

> I understand the point of gnu-efi, but it's just unbearably limiting,
> relative to the goodies in edk2.
The project I've pointed out is gnu-efi less (it borrowed some linking magic
and some protocol definitions from gnu-efi), so it's even more limited
but we do not need even most of what it provides. So I was thinking that
would benefit you and a random contributor as well.


> Thanks,
> Laszlo

  reply	other threads:[~2019-01-17 15:22 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-15 15:40 [Qemu-devel] [PATCH 00/14] tests: acpi: add UEFI (ARM) testing support Igor Mammedov
2019-01-15 15:40 ` [Qemu-devel] [PATCH 01/14] tests: acpi: add uefi_find_rsdp_addr() helper Igor Mammedov
2019-01-15 20:06   ` Laszlo Ersek
2019-01-16  9:48     ` Igor Mammedov
2019-01-15 15:40 ` [Qemu-devel] [PATCH 02/14] tests: acpi: make RSDT test routine handle XSDT Igor Mammedov
2019-01-16 16:47   ` Philippe Mathieu-Daudé
2019-01-15 15:40 ` [Qemu-devel] [PATCH 03/14] tests: acpi: rename acpi_parse_rsdp_table() into acpi_fetch_rsdp_table() Igor Mammedov
2019-01-16 16:48   ` Philippe Mathieu-Daudé
2019-01-15 15:40 ` [Qemu-devel] [PATCH 04/14] tests: acpi: make pointer to RSDP 64bit Igor Mammedov
2019-01-15 20:09   ` Laszlo Ersek
2019-01-16 16:51   ` Philippe Mathieu-Daudé
2019-01-15 15:40 ` [Qemu-devel] [PATCH 05/14] tests: acpi: fetch X_DSDT if pointer to DSDT is 0 Igor Mammedov
2019-01-17 14:02   ` Philippe Mathieu-Daudé
2019-01-17 15:02     ` Igor Mammedov
2019-01-15 15:40 ` [Qemu-devel] [PATCH 06/14] tests: acpi: add reference blobs arm/virt board testcase Igor Mammedov
2019-01-15 15:40 ` [Qemu-devel] [PATCH 07/14] tests: acpi: skip FACS table if board uses hw reduced ACPI profile Igor Mammedov
2019-01-16 16:58   ` Philippe Mathieu-Daudé
2019-01-15 15:41 ` [Qemu-devel] [PATCH 08/14] tests: acpi: introduce an abilty start tests with UEFI firmware Igor Mammedov
2019-01-15 20:18   ` Laszlo Ersek
2019-01-16 10:02     ` Igor Mammedov
2019-01-15 15:41 ` [Qemu-devel] [PATCH 09/14] tests: acpi: move boot_sector_init() into x86 tests branch Igor Mammedov
2019-01-16 16:59   ` Philippe Mathieu-Daudé
2019-01-15 15:41 ` [Qemu-devel] [PATCH 10/14] tests: acpi: ignore SMBIOS tests when UEFI firmware is used Igor Mammedov
2019-01-15 20:31   ` Laszlo Ersek
2019-01-16 10:32     ` Igor Mammedov
2019-01-16 11:07       ` Laszlo Ersek
2019-01-16 11:09         ` Laszlo Ersek
2019-01-16 12:20           ` Igor Mammedov
2019-01-16 16:17             ` Laszlo Ersek
2019-01-17 15:22               ` Igor Mammedov [this message]
2019-01-16 11:52         ` Gerd Hoffmann
2019-01-16 12:31           ` Igor Mammedov
2019-01-16 16:22             ` Laszlo Ersek
2019-01-17 15:11               ` Igor Mammedov
2019-01-18 23:28                 ` Laszlo Ersek
2019-01-16 15:25           ` Michael S. Tsirkin
2019-01-15 15:41 ` [Qemu-devel] [PATCH 12/14] tests: acpi: prepare AVMF firmware blobs to be used by bios-tables-test Igor Mammedov
2019-01-15 15:41 ` [Qemu-devel] [PATCH 13/14] tests: acpi: add simple arm/virt testcase Igor Mammedov
2019-01-15 15:41 ` [Qemu-devel] [PATCH 14/14] tests: acpi: refactor rebuild-expected-aml.sh to dump ACPI tables for a specified list of targets Igor Mammedov
2019-01-16 17:08   ` Philippe Mathieu-Daudé
2019-01-17 15:28     ` Igor Mammedov
     [not found] ` <1547566866-129386-12-git-send-email-imammedo@redhat.com>
2019-01-15 20:47   ` [Qemu-devel] [PATCH 11/14] tests: acpi: add AVMF firmware blobs Laszlo Ersek
2019-01-16 12:29     ` Igor Mammedov
2019-01-16 16:01       ` Michael S. Tsirkin
2019-01-17  8:53         ` Laszlo Ersek
2019-01-17  8:58           ` Laszlo Ersek
2019-01-17 10:22           ` Gerd Hoffmann
2019-01-17 12:54             ` Laszlo Ersek
2019-01-17 14:09               ` Gerd Hoffmann
2019-01-18 23:23                 ` Laszlo Ersek
2019-01-17 15:42               ` Igor Mammedov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190117162231.54f0aea8@redhat.com \
    --to=imammedo@redhat.com \
    --cc=arei.gonglei@huawei.com \
    --cc=drjones@redhat.com \
    --cc=kraxel@redhat.com \
    --cc=lersek@redhat.com \
    --cc=mst@redhat.com \
    --cc=philmd@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=sameo@linux.intel.com \
    --cc=shannon.zhaosl@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.