From patchwork Sat Mar 16 22:09:26 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 1057436 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 44MGzS4KNQz9s3q for ; Sun, 17 Mar 2019 09:17:56 +1100 (AEDT) Received: from localhost ([127.0.0.1]:47051 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h5Hco-0004L7-Gs for incoming@patchwork.ozlabs.org; Sat, 16 Mar 2019 18:17:54 -0400 Received: from eggs.gnu.org ([209.51.188.92]:48967) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h5HWT-0007eo-DS for qemu-devel@nongnu.org; Sat, 16 Mar 2019 18:11:22 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h5HV0-0005PW-IZ for qemu-devel@nongnu.org; Sat, 16 Mar 2019 18:09:52 -0400 Received: from mx1.redhat.com ([209.132.183.28]:57260) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1h5HV0-0005MN-2i for qemu-devel@nongnu.org; Sat, 16 Mar 2019 18:09:50 -0400 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id E877683F45; Sat, 16 Mar 2019 22:09:47 +0000 (UTC) Received: from x1w.redhat.com (ovpn-204-28.brq.redhat.com [10.40.204.28]) by smtp.corp.redhat.com (Postfix) with ESMTPS id CA3201001E61; Sat, 16 Mar 2019 22:09:43 +0000 (UTC) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Date: Sat, 16 Mar 2019 23:09:26 +0100 Message-Id: <20190316220937.18124-2-philmd@redhat.com> In-Reply-To: <20190316220937.18124-1-philmd@redhat.com> References: <20190316220937.18124-1-philmd@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.27]); Sat, 16 Mar 2019 22:09:47 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PULL 01/12] roms: lift "edk2-funcs.sh" from "tests/uefi-test-tools/build.sh" X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Michael S . Tsirkin" , Laszlo Ersek , Michael Tokarev , Michal Privoznik , Igor Mammedov , =?utf-8?q?Philippe_Mathieu-Daud?= =?utf-8?b?w6k=?= Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Laszlo Ersek Extract the dense logic for architecture and toolchain massaging from "tests/uefi-test-tools/build.sh", to a set of small functions. We'll reuse these functions for building full platform firmware images. Signed-off-by: Laszlo Ersek Reviewed-by: Philippe Mathieu-Daudé Tested-by: Philippe Mathieu-Daudé Reviewed-by: Michal Privoznik Reviewed-by: Michael S. Tsirkin Tested-by: Igor Mammedov Message-Id: <20190313210057.32584-2-lersek@redhat.com> Signed-off-by: Philippe Mathieu-Daudé --- roms/edk2-funcs.sh | 240 +++++++++++++++++++++++++++++++++ tests/uefi-test-tools/build.sh | 97 +------------ 2 files changed, 246 insertions(+), 91 deletions(-) create mode 100644 roms/edk2-funcs.sh diff --git a/roms/edk2-funcs.sh b/roms/edk2-funcs.sh new file mode 100644 index 0000000000..8930479dcb --- /dev/null +++ b/roms/edk2-funcs.sh @@ -0,0 +1,240 @@ +# Shell script that defines functions for determining some environmental +# characteristics for the edk2 "build" utility. +# +# This script is meant to be sourced, in a bash environment. +# +# Copyright (C) 2019 Red Hat, Inc. +# +# This program and the accompanying materials are licensed and made available +# under the terms and conditions of the BSD License that accompanies this +# distribution. The full text of the license may be found at +# . +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT +# WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + + +# Verify whether the QEMU system emulation target is supported by the UEFI spec +# and edk2. Print a message to the standard error, and return with nonzero +# status, if verification fails. +# +# Parameters: +# $1: QEMU system emulation target +qemu_edk2_verify_arch() +{ + local emulation_target="$1" + local program_name=$(basename -- "$0") + + case "$emulation_target" in + (arm|aarch64|i386|x86_64) + ;; + (*) + printf '%s: unknown/unsupported QEMU system emulation target "%s"\n' \ + "$program_name" "$emulation_target" >&2 + return 1 + ;; + esac +} + + +# Translate the QEMU system emulation target to the edk2 architecture +# identifier. Print the result to the standard output. +# +# Parameters: +# $1: QEMU system emulation target +qemu_edk2_get_arch() +{ + local emulation_target="$1" + + if ! qemu_edk2_verify_arch "$emulation_target"; then + return 1 + fi + + case "$emulation_target" in + (arm) + printf 'ARM\n' + ;; + (aarch64) + printf 'AARCH64\n' + ;; + (i386) + printf 'IA32\n' + ;; + (x86_64) + printf 'X64\n' + ;; + esac +} + + +# Translate the QEMU system emulation target to the gcc cross-compilation +# architecture identifier. Print the result to the standard output. +# +# Parameters: +# $1: QEMU system emulation target +qemu_edk2_get_gcc_arch() +{ + local emulation_target="$1" + + if ! qemu_edk2_verify_arch "$emulation_target"; then + return 1 + fi + + case "$emulation_target" in + (arm|aarch64|x86_64) + printf '%s\n' "$emulation_target" + ;; + (i386) + printf 'i686\n' + ;; + esac +} + + +# Determine the gcc cross-compiler prefix (if any) for use with the edk2 +# toolchain. Print the result to the standard output. +# +# Parameters: +# $1: QEMU system emulation target +qemu_edk2_get_cross_prefix() +{ + local emulation_target="$1" + local gcc_arch + local host_arch + + if ! gcc_arch=$(qemu_edk2_get_gcc_arch "$emulation_target"); then + return 1 + fi + + host_arch=$(uname -m) + + if [ "$gcc_arch" == "$host_arch" ] || + ( [ "$gcc_arch" == i686 ] && [ "$host_arch" == x86_64 ] ); then + # no cross-compiler needed + : + else + printf '%s-linux-gnu-\n' "$gcc_arch" + fi +} + + +# Determine the edk2 toolchain tag for the QEMU system emulation target. Print +# the result to the standard output. Print a message to the standard error, and +# return with nonzero status, if the (conditional) gcc version check fails. +# +# Parameters: +# $1: QEMU system emulation target +qemu_edk2_get_toolchain() +{ + local emulation_target="$1" + local program_name=$(basename -- "$0") + local cross_prefix + local gcc_version + + if ! qemu_edk2_verify_arch "$emulation_target"; then + return 1 + fi + + case "$emulation_target" in + (arm|aarch64) + printf 'GCC5\n' + ;; + + (i386|x86_64) + if ! cross_prefix=$(qemu_edk2_get_cross_prefix "$emulation_target"); then + return 1 + fi + + gcc_version=$("${cross_prefix}gcc" -v 2>&1 | tail -1 | awk '{print $3}') + # Run "git-blame" on "OvmfPkg/build.sh" in edk2 for more information on + # the mapping below. + case "$gcc_version" in + ([1-3].*|4.[0-3].*) + printf '%s: unsupported gcc version "%s"\n' \ + "$program_name" "$gcc_version" >&2 + return 1 + ;; + (4.4.*) + printf 'GCC44\n' + ;; + (4.5.*) + printf 'GCC45\n' + ;; + (4.6.*) + printf 'GCC46\n' + ;; + (4.7.*) + printf 'GCC47\n' + ;; + (4.8.*) + printf 'GCC48\n' + ;; + (4.9.*|6.[0-2].*) + printf 'GCC49\n' + ;; + (*) + printf 'GCC5\n' + ;; + esac + ;; + esac +} + + +# Determine the name of the environment variable that exposes the +# cross-compiler prefix to the edk2 "build" utility. Print the result to the +# standard output. +# +# Parameters: +# $1: QEMU system emulation target +qemu_edk2_get_cross_prefix_var() +{ + local emulation_target="$1" + local edk2_toolchain + local edk2_arch + + if ! edk2_toolchain=$(qemu_edk2_get_toolchain "$emulation_target"); then + return 1 + fi + + case "$emulation_target" in + (arm|aarch64) + if ! edk2_arch=$(qemu_edk2_get_arch "$emulation_target"); then + return 1 + fi + printf '%s_%s_PREFIX\n' "$edk2_toolchain" "$edk2_arch" + ;; + (i386|x86_64) + printf '%s_BIN\n' "$edk2_toolchain" + ;; + esac +} + + +# Set and export the environment variable(s) necessary for cross-compilation, +# whenever needed by the edk2 "build" utility. +# +# Parameters: +# $1: QEMU system emulation target +qemu_edk2_set_cross_env() +{ + local emulation_target="$1" + local cross_prefix + local cross_prefix_var + + if ! cross_prefix=$(qemu_edk2_get_cross_prefix "$emulation_target"); then + return 1 + fi + + if [ -z "$cross_prefix" ]; then + # Nothing to do. + return 0 + fi + + if ! cross_prefix_var=$(qemu_edk2_get_cross_prefix_var \ + "$emulation_target"); then + return 1 + fi + + eval "export $cross_prefix_var=\$cross_prefix" +} diff --git a/tests/uefi-test-tools/build.sh b/tests/uefi-test-tools/build.sh index 155cb75c4d..e2b52c855c 100755 --- a/tests/uefi-test-tools/build.sh +++ b/tests/uefi-test-tools/build.sh @@ -38,97 +38,12 @@ if [ $ret -ne 0 ]; then exit $ret fi -# Map the QEMU system emulation target to the following types of architecture -# identifiers: -# - edk2, -# - gcc cross-compilation. -# Cover only those targets that are supported by the UEFI spec and edk2. -case "$emulation_target" in - (arm) - edk2_arch=ARM - gcc_arch=arm - ;; - (aarch64) - edk2_arch=AARCH64 - gcc_arch=aarch64 - ;; - (i386) - edk2_arch=IA32 - gcc_arch=i686 - ;; - (x86_64) - edk2_arch=X64 - gcc_arch=x86_64 - ;; - (*) - printf '%s: unknown/unsupported QEMU system emulation target "%s"\n' \ - "$program_name" "$emulation_target" >&2 - exit 1 - ;; -esac - -# Check if cross-compilation is needed. -host_arch=$(uname -m) -if [ "$gcc_arch" == "$host_arch" ] || - ( [ "$gcc_arch" == i686 ] && [ "$host_arch" == x86_64 ] ); then - cross_prefix= -else - cross_prefix=${gcc_arch}-linux-gnu- -fi - -# Expose cross_prefix (which is possibly empty) to the edk2 tools. While at it, -# determine the suitable edk2 toolchain as well. -# - For ARM and AARCH64, edk2 only offers the GCC5 toolchain tag, which covers -# the gcc-5+ releases. -# - For IA32 and X64, edk2 offers the GCC44 through GCC49 toolchain tags, in -# addition to GCC5. Unfortunately, the mapping between the toolchain tags and -# the actual gcc releases isn't entirely trivial. Run "git-blame" on -# "OvmfPkg/build.sh" in edk2 for more information. -# And, because the above is too simple, we have to assign cross_prefix to an -# edk2 build variable that is specific to both the toolchain tag and the target -# architecture. -case "$edk2_arch" in - (ARM) - edk2_toolchain=GCC5 - export GCC5_ARM_PREFIX=$cross_prefix - ;; - (AARCH64) - edk2_toolchain=GCC5 - export GCC5_AARCH64_PREFIX=$cross_prefix - ;; - (IA32|X64) - gcc_version=$("${cross_prefix}gcc" -v 2>&1 | tail -1 | awk '{print $3}') - case "$gcc_version" in - ([1-3].*|4.[0-3].*) - printf '%s: unsupported gcc version "%s"\n' \ - "$program_name" "$gcc_version" >&2 - exit 1 - ;; - (4.4.*) - edk2_toolchain=GCC44 - ;; - (4.5.*) - edk2_toolchain=GCC45 - ;; - (4.6.*) - edk2_toolchain=GCC46 - ;; - (4.7.*) - edk2_toolchain=GCC47 - ;; - (4.8.*) - edk2_toolchain=GCC48 - ;; - (4.9.*|6.[0-2].*) - edk2_toolchain=GCC49 - ;; - (*) - edk2_toolchain=GCC5 - ;; - esac - eval "export ${edk2_toolchain}_BIN=\$cross_prefix" - ;; -esac +# Fetch some option arguments, and set the cross-compilation environment (if +# any), for the edk2 "build" utility. +source "$edk2_dir/../edk2-funcs.sh" +edk2_arch=$(qemu_edk2_get_arch "$emulation_target") +edk2_toolchain=$(qemu_edk2_get_toolchain "$emulation_target") +qemu_edk2_set_cross_env "$emulation_target" # Build the UEFI binary mkdir -p log From patchwork Sat Mar 16 22:09:27 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 1057439 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 44MH5q1ty9z9ryj for ; Sun, 17 Mar 2019 09:23:27 +1100 (AEDT) Received: from localhost ([127.0.0.1]:47141 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h5Hi9-0000Ai-30 for incoming@patchwork.ozlabs.org; Sat, 16 Mar 2019 18:23:25 -0400 Received: from eggs.gnu.org ([209.51.188.92]:48863) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h5HWT-0007V4-UW for qemu-devel@nongnu.org; Sat, 16 Mar 2019 18:11:22 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h5HV1-0005SS-B6 for qemu-devel@nongnu.org; Sat, 16 Mar 2019 18:09:52 -0400 Received: from mx1.redhat.com ([209.132.183.28]:51904) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1h5HV1-0005PF-0G for qemu-devel@nongnu.org; Sat, 16 Mar 2019 18:09:51 -0400 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 5B32B3082AF0; Sat, 16 Mar 2019 22:09:50 +0000 (UTC) Received: from x1w.redhat.com (ovpn-204-28.brq.redhat.com [10.40.204.28]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 6B49B1001DDE; Sat, 16 Mar 2019 22:09:48 +0000 (UTC) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Date: Sat, 16 Mar 2019 23:09:27 +0100 Message-Id: <20190316220937.18124-3-philmd@redhat.com> In-Reply-To: <20190316220937.18124-1-philmd@redhat.com> References: <20190316220937.18124-1-philmd@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.45]); Sat, 16 Mar 2019 22:09:50 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PULL 02/12] roms/edk2-funcs.sh: require gcc-4.8+ for building i386 and x86_64 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Michael S . Tsirkin" , Laszlo Ersek , Michael Tokarev , Michal Privoznik , Igor Mammedov , =?utf-8?q?Philippe_Mathieu-Daud?= =?utf-8?b?w6k=?= Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Laszlo Ersek Adapt the qemu_edk2_get_toolchain() function in "roms/edk2-funcs.sh" in advance to edk2 commit 8d7cdfae8cb8 ("OvmfPkg: require GCC48 or later", 2019-01-08), which is part of the "edk2-stable201903" tag. Signed-off-by: Laszlo Ersek Reviewed-by: Philippe Mathieu-Daudé Tested-by: Philippe Mathieu-Daudé Reviewed-by: Michal Privoznik Reviewed-by: Michael S. Tsirkin Tested-by: Igor Mammedov Message-Id: <20190313210057.32584-3-lersek@redhat.com> Signed-off-by: Philippe Mathieu-Daudé --- roms/edk2-funcs.sh | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/roms/edk2-funcs.sh b/roms/edk2-funcs.sh index 8930479dcb..d1cb1e4a11 100644 --- a/roms/edk2-funcs.sh +++ b/roms/edk2-funcs.sh @@ -149,23 +149,11 @@ qemu_edk2_get_toolchain() # Run "git-blame" on "OvmfPkg/build.sh" in edk2 for more information on # the mapping below. case "$gcc_version" in - ([1-3].*|4.[0-3].*) + ([1-3].*|4.[0-7].*) printf '%s: unsupported gcc version "%s"\n' \ "$program_name" "$gcc_version" >&2 return 1 ;; - (4.4.*) - printf 'GCC44\n' - ;; - (4.5.*) - printf 'GCC45\n' - ;; - (4.6.*) - printf 'GCC46\n' - ;; - (4.7.*) - printf 'GCC47\n' - ;; (4.8.*) printf 'GCC48\n' ;; From patchwork Sat Mar 16 22:09:28 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 1057438 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 44MH4T0Sy5z9ryj for ; Sun, 17 Mar 2019 09:22:14 +1100 (AEDT) Received: from localhost ([127.0.0.1]:47128 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h5Hgy-0007sh-1g for incoming@patchwork.ozlabs.org; Sat, 16 Mar 2019 18:22:12 -0400 Received: from eggs.gnu.org ([209.51.188.92]:48967) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h5HWS-0007eo-9l for qemu-devel@nongnu.org; Sat, 16 Mar 2019 18:11:21 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h5HV3-0005Uf-PP for qemu-devel@nongnu.org; Sat, 16 Mar 2019 18:09:54 -0400 Received: from mx1.redhat.com ([209.132.183.28]:51908) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1h5HV3-0005UW-GF for qemu-devel@nongnu.org; Sat, 16 Mar 2019 18:09:53 -0400 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id C25353082AF0; Sat, 16 Mar 2019 22:09:52 +0000 (UTC) Received: from x1w.redhat.com (ovpn-204-28.brq.redhat.com [10.40.204.28]) by smtp.corp.redhat.com (Postfix) with ESMTPS id D106C1001E61; Sat, 16 Mar 2019 22:09:50 +0000 (UTC) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Date: Sat, 16 Mar 2019 23:09:28 +0100 Message-Id: <20190316220937.18124-4-philmd@redhat.com> In-Reply-To: <20190316220937.18124-1-philmd@redhat.com> References: <20190316220937.18124-1-philmd@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.45]); Sat, 16 Mar 2019 22:09:52 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PULL 03/12] tests/uefi-test-tools/build.sh: work around TianoCore#1607 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Michael S . Tsirkin" , Laszlo Ersek , Michael Tokarev , Michal Privoznik , Igor Mammedov , =?utf-8?q?Philippe_Mathieu-Daud?= =?utf-8?b?w6k=?= Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Laszlo Ersek The edk2-stabe201903 release introduced Python3 support to edk2's BaseTools; however the Python3 enablement breaks in a corner case (which is nevertheless supported by the edk2 community), namely the in-module parallelization that we utilize. This is tracked under . For now, work around the issue (in advance) by forcing Python2. (The workaround is a no-op before we move to edk2-stabe201903 in the roms/edk2 submodule.) Signed-off-by: Laszlo Ersek Reviewed-by: Philippe Mathieu-Daudé Tested-by: Philippe Mathieu-Daudé Reviewed-by: Michal Privoznik Reviewed-by: Michael S. Tsirkin Tested-by: Igor Mammedov Message-Id: <20190313210057.32584-4-lersek@redhat.com> Signed-off-by: Philippe Mathieu-Daudé --- tests/uefi-test-tools/build.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/uefi-test-tools/build.sh b/tests/uefi-test-tools/build.sh index e2b52c855c..8aa7935c43 100755 --- a/tests/uefi-test-tools/build.sh +++ b/tests/uefi-test-tools/build.sh @@ -29,6 +29,9 @@ export PACKAGES_PATH=$(realpath -- "$edk2_dir") export WORKSPACE=$PWD mkdir -p Conf +# Work around . +export PYTHON_COMMAND=python2 + # Source "edksetup.sh" carefully. set +e +u +C source "$PACKAGES_PATH/edksetup.sh" From patchwork Sat Mar 16 22:09:29 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 1057435 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 44MGzG2Rphz9ryj for ; Sun, 17 Mar 2019 09:17:46 +1100 (AEDT) Received: from localhost ([127.0.0.1]:47047 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h5Hce-000474-5g for incoming@patchwork.ozlabs.org; Sat, 16 Mar 2019 18:17:44 -0400 Received: from eggs.gnu.org ([209.51.188.92]:48863) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h5HWP-0007V4-N0 for qemu-devel@nongnu.org; Sat, 16 Mar 2019 18:11:21 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h5HV6-0005Va-K5 for qemu-devel@nongnu.org; Sat, 16 Mar 2019 18:10:00 -0400 Received: from mx1.redhat.com ([209.132.183.28]:47766) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1h5HV6-0005VN-2i for qemu-devel@nongnu.org; Sat, 16 Mar 2019 18:09:56 -0400 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 65B21308219C; Sat, 16 Mar 2019 22:09:55 +0000 (UTC) Received: from x1w.redhat.com (ovpn-204-28.brq.redhat.com [10.40.204.28]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 43A7B1001DDE; Sat, 16 Mar 2019 22:09:53 +0000 (UTC) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Date: Sat, 16 Mar 2019 23:09:29 +0100 Message-Id: <20190316220937.18124-5-philmd@redhat.com> In-Reply-To: <20190316220937.18124-1-philmd@redhat.com> References: <20190316220937.18124-1-philmd@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.47]); Sat, 16 Mar 2019 22:09:55 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PULL 04/12] roms/edk2: advance to tag edk2-stable201903 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Michael Tokarev , "Michael S . Tsirkin" , Laszlo Ersek , Michal Privoznik Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Laszlo Ersek Update the roms/edk2 submodule hash from edk2-stable201811 to edk2-stable201903. The release notes are available at . $ git shortlog edk2-stable201811..edk2-stable201903 Achin Gupta (9): ArmPkg: Add PCDs needed for MM communication driver. ArmPkg/Drivers: Add EFI_MM_COMMUNICATION_PROTOCOL DXE driver. ArmPkg/Include: Add MM interface SVC return codes. ArmPkg/ArmMmuLib: Add MMU Library suitable for use in S-EL0. StandaloneMmPkg: Add missing dependency on PL011UartClockLib StandaloneMmPkg: Enforce alignment check for AArch64 StandaloneMmPkg: Zero data structure explicitly StandaloneMmPkg: Replace dependency on ArmMmuLib StandaloneMmPkg: Update dependency on PeCoffExtraActionLib Albecki, Mateusz (1): MdeModulePkg/SdMmcPciHcDxe Fix eMMC HS400 switch sequence Alex James (2): StdLib/sys/termios: Define cc_t as unsigned StdLib/Environs: Avoid infinite recursion in _Exit Antoine Coeur (5): ArmVirtPkg: Fix various typos CryptoPkg: Fix various typos CorebootPayloadPkg: Fix various typos CorebootModulePkg: Fix various typos BaseTools: Various typo Ard Biesheuvel (116): MdePkg/BaseIoLibIntrinsicArmVirt ARM: avoid double word loads and stores ArmPkg/ArmGicDxe ARM: fix encoding for GICv3 interrupt acknowledge ArmPlatformPkg: clear frame pointer in startup code ArmVirtPkg/PrePi: clear frame pointer in startup code ArmPkg/ArmSmcPsciResetSystemLib: add missing call to ExitBootServices() ArmPkg: remove now unused BsdLib.h ArmPlatformPkg/NorFlashDxe: prepare for devicepath format change ArmPlatformPkg/NorFlashDxe: use one GUID plus index to identify flash banks ArmVirtPkg/FdtClientDxe: take DT node 'status' properties into account ArmVirtPkg/NorFlashQemuLib: discover NOR flash banks dynamically ArmPlatformPkg/NorFlashPlatformLib: remove unused Guid member from struct ArmPkg/ArmPkg.dsc: move ArmMmuStandaloneMmLib.inf to AARCH64 section EmbeddedPkg/TemplateSec: remove unused module EmbeddedPkg/PrePiHobLib: drop CreateHobList() from library ArmVirtPkg/FdtPciHostBridgeLib: map ECAM and I/O spaces in GCD memory map ArmVirtPkg/QemuVirtMemInfoLib: remove 1:1 mapping of top of PA range MdePkg/ProcessorBind.h AARCH64: limit MAX_ADDRESS to 48 bits ArmPkg/ArmLib: add support for reading the max physical address space size ArmVirtPkg/XenVirtMemInfoLib: refactor reading of the PA space size ArmPkg/ArmMmuLib: take the CPU supported maximum PA space into account ArmPkg/CpuPei: base GCD memory space size on CPU's PA range ArmPlatformPkg/PrePi: base GCD memory space size on CPU's PA range ArmVirtPkg/PrePi: base GCD memory space size on CPU's PA range BeagleBoardPkg/PrePi: base GCD memory space size on CPU's PA range ArmPlatformPkg/PlatformPei: drop unused PCD references EmbeddedPkg/PrePiLib: drop unused PCD reference ArmVirtPkg: drop PcdPrePiCpuMemorySize assignments from all platforms EmbeddedPkg/EmbeddedPkg.dec: drop PcdPrePiCpuMemorySize declarations ArmPkg/ArmMmuLib ARM: handle unmapped section in GetMemoryRegion() ArmPkg/ArmMmuLib ARM: handle unmapped sections when updating permissions ArmVirtPkg/NorFlashQemuLib: disregard our primary FV ArmVirtPkg/QemuVirtMemInfoLib: trim the MMIO region mapping BaseTools/CommonLib: avoid using 'native' word size in IP address handling BaseTools/CommonLib: use explicit 64-bit type in Strtoi() BaseTools/DevicePath: use explicit 64-bit number parsing routines BaseTools/CommonLib: add definition of MAX_UINT32 BaseTools/DevicePath: use MAX_UINT32 as default device path max size BaseTools/CommonLib: get rid of 'native' type string parsing routines BaseTools/CommonLib: drop definition of MAX_UINTN BaseTools/CommonLib: drop the use of MAX_ADDRESS Revert "MdePkg/ProcessorBind.h AARCH64: limit MAX_ADDRESS to 48 bits" MdeModulePkg/FileExplorerLib: avoid packed struct for program data BaseTools/tools_def AARCH64 RELEASE: move GCC49/GGC5 to 4 KB alignment ArmVirtPkg/ArmVirtQemuKernel ARM: make some PCD settings apply to ARM ArmVirtPkg/PrePiUniCoreRelocatable CLANG38: work around build issues BaseTools/GenFw ARM: don't permit R_ARM_GOT_PREL relocations MdePkg/BaseMemoryLibOptDxe ARM: add missing function annotations BaseTools/tools_def ARM CLANG35: work around -mno-movt option name change ArmVirtPkg/PrePi ARM CLANG35: drop incompatible command line option ArmVirtPkg/ArmVirt.dsc.inc: define TcpIoLib resolution unconditionally ArmPkg: remove redundant _ARM_PLATFORM_FLAGS overrides EmbeddedPkg: remove GdbDebugAgent library BaseTools/tools_def ARM: emit PIC veneers ArmPkg/DefaultExceptionHandlerLib ARM: avoid endless loop in RELEASE builds MdePkg/Base: introduce MAX_ALLOC_ADDRESS MdeModulePkg/Dxe/Gcd: disregard memory above MAX_ALLOC_ADDRESS MdeModulePkg/Dxe/Page: take MAX_ALLOC_ADDRESS into account ArmPkg/ArmMmuLib: take MAX_ALLOC_ADDRESS into account ArmPlatformPkg/MemoryInitPeim: take MAX_ALLOC_ADDRESS into account ArmVirtPkg/MemoryInitPeiLib: split memory HOB based on MAX_ALLOC_ADDRESS MdePkg/Arm/ProcessorBind.h: fix copy/paste error ArmPlatformPkg/SP805WatchdogDxe: cosmetic cleanup ArmPlatformPkg/SP805WatchdogDxe: switch to interrupt mode ArmPkg/GenericWatchdogDxe: clean up the code ArmPkg/GenericWatchdogDxe: implement RegisterHandler() method ArmPlatformPkg/PL011SerialPortLib: use untyped PCD for register base BaseTools/tools_def ARM: use softfloat target for CLANG3x BaseTools/GenFds: permit stripped MM_CORE_STANDALONE binaries BaseTools/Conf/tools_def.template: drop ARM/AARCH support from GCC46/GCC47 ArmPkg/ArmMmuLib ARM: add missing support for non-shareable cached mappings ArmPkg/ArmMmuLib ARM: fix thinko in second level page table handling MdePkg: implement MmServicesTableLib based on traditional SMM BaseTools/tools_def GCC5: disable LTO for ASLC invocations ArmPkg/ArmMmuLib ARM: disregard high memory when setting permissions ArmPkg/ArmMmuLib AARCH64: fix out of bounds access MdeModulePkg/MdeModulePkg.dsc: add MmServicesTableLib resolution OvmfPkg: add MmServicesTableLib resolution QuarkPlatformPkg: add MmServicesTableLib resolution Vlv2TbltDevicePkg: add MmServicesTableLib resolution MdeModulePkg/FaultTolerantWriteDxe: factor out boot service accesses MdeModulePkg/FaultTolerantWriteDxe: implement standalone MM version MdeModulePkg/VariableRuntimeDxe: factor out boot service accesses MdeModulePkg/VariableRuntimeDxe: implement standalone MM version MdePkg: introduce standalone MM entry point library class MdePkg: introduce standalone MM entry point library implementation MdePkg: add MM_STANDALONE implementation of MmServicesTableLib MdeModulePkg: implement NULL instance of HobLib library class MdeModulePkg: implement NULL instance of MemoryAllocationLib library class MdeModulePkg/MdeModulePkg/dsc: move DxeDebugSupportDxe to x86 only section MdeModulePkg/AuthVariableLibNull: add MM_STANDALONE support MdeModulePkg/VarCheckLib: add MM_STANDALONE support MdeModulePkg/MdeModulePkg.dsc: add MM_STANDALONE FTW and variable modules ArmPkg/DebugAgentSymbolsBaseLib: remove exception handling ArmPkg/DefaultExceptionHandlerLib: declare the permitted usage context ArmVirtPkg: drop reference to ArmPkg/DefaultExceptionHandlerLibBase ArmPkg/DefaultExceptionHandlerLib: drop BASE variant ArmPkg/DefaultExceptionHandlerLib: use console if available EmbeddedPkg/NorFlashInfoLib: convert to BASE library ArmPkg/DefaultExceptionHandlerLib: add missing UefiLib include CryptoPkg/SmmCryptLib: permit use by MM_STANDALONE modules SecurityPkg/PlatformSecureLibNull: permit use by MM_STANDALONE modules MdeModulePkg/VarCheckUefiLib: permit use by MM_STANDALONE modules MdePkg/UefiDevicePathLib: permit use by MM_STANDALONE modules StandaloneMmPkg: add HobLib implementation for MM_STANDALONE modules StandaloneMmPkg: add MM_STANDALONE MemoryAllocationLib implementation StandaloneMmPkg/StandaloneMmCoreHobLib: restrict to MM_CORE_STANDALONE StandaloneMmPkg/StandaloneMmCpu: fix typo Standlone -> Standalone StandaloneMmPkg/StandaloneMmCoreEntryPoint: use %a modifier for ASCII strings StandaloneMmPkg/StandaloneMmCoreEntryPoint: remove bogus ASSERT_EFI_ERROR()s StandaloneMmPkg/StandaloneMmPeCoffExtraActionLib: ignore runtime attribute StandaloneMmPkg/Core/Dispatcher: don't copy dispatched image twice StandaloneMmPkg/StandaloneMmCoreEntryPoint: permit the use of TE images MdeModulePkg/MdeModulePkg.dsc: ignore standalone MM modules for EBC or XCODE5 ArmPkg/ArmMmuLib ARM: trim high memory regions instead of rejecting them ArmPkg/ArmMmuLib AARCH64: get rid of needless TLB invalidation MdePkg/BaseLib: implement SpeculationBarrier() for ARM and AArch64 Ashish Singhal (6): MdeModulePkg/SdMmcPciHcDxe: Add SDMMC HC v4 and above Support. MdePkg/UefiLib: Abstract driver model protocol uninstallation NetworkPkg/IScsiDxe: Use UEFILib APIs to uninstall protocols. NetworkPkg: Protocol Uninstallation Cleanup DynamicTablesPkg/DynamicTableManagerDxe: Update DEPEX DynamicTablesPkg/AcpiSpcrLibArm: Support 16550 UART. Bret Barkelew (4): MdePkg/IndustryStandard: Introduce a correctly spelled macro SecurityPkg/Tcg: Fix typos in TcgDxe.c and Tcg2Dxe.c MdePkg/IndustryStandard: Remove an incorrectly spelled macro MdePkg/UefiLib: Add a new API GetVariable3 Chasel, Chiu (16): IntelFsp2WrapperPkg: Support FSP Dispatch mode IntelFsp2WrapperPkg: Revert 90c5bc08 IntelFsp2WrapperPkg: Support FSP Dispatch mode IntelFsp2WrapperPkg: Fix line ending format issue IntelFsp2WrapperPkg: Fix constant if statements issue Maintainers.txt: Change package maintainer of IntelFsp*Pkg BaseTools/GenFv: Support SecCore and PeiCore in different FV IntelFsp2Pkg: Add FspmArchConfigPpi to support Dispatch mode IntelFsp2Pkg: Remove unused keyword in new PPI header IntelFsp2Pkg: Add function to get bootloader stack pointer IntelFsp2Pkg: FSP can utilize bootloader stack MdePkg: Support EFI_PEI_CORE_FV_LOCATION_PPI MdeModulePkg/PeiMain: Support EFI_PEI_CORE_FV_LOCATION_PPI UefiCpuPkg/SecCore: Support EFI_PEI_CORE_FV_LOCATION_PPI UefiCpuPkg/SecCore: Support EFI_PEI_CORE_FV_LOCATION_PPI UefiCpuPkg/SecCore: Wrong Debug Information for SecCore Chen A Chen (18): SecurityPkg: Remove dead code and inf redundant definitions. SecurityPkg: Remove code under UserIdentification folder. FatPkg: Break down Part.c file. MdePkg/UefiGpt.h: Add new definition for enable GPT support FatPkg: Add GPT check in FatPei to support Capsule-on-Disk feature. MdePkg/UefiSpec.h: Add definition to support Capsule-on-Disk feature MdeModulePkg/CapsuleApp: Add a function used to get next DevicePath MdeModulePkg/CapsuleApp: Add functions to support Capsule-on-Disk MdeModulePkg/CapsuleApp: Enhance CapsuleApp to support Capsule-on-Disk FatPkg/FatPei/Gpt.c: Fix uninitialized variable issue MdeModulePkg/CapsuleApp: Fix potential NULL pointer dereference issue MdeModulePkg/CapsuleApp: Fix potential NULL pointer dereference issue MdeModulePkg/CapsuleApp: Fix memory leak issue. UefiCpuPkg/Microcode: Fix incorrect checksum issue for extended table IntelSiliconPkg/MicrocodeUpdate: Fix incorrect checksum issue MdeModulePkg: Rename confusion function name UefiCpuPkg/Microcode: Fix InComplete CheckSum32 issue UefiCpuPkg/Microcode.c: Add verification before calculate CheckSum32 Chu, Maggie (2): SecurityPkg: Incorrect warning message for Opal admin revert action SecurityPkg: Add a PCD to skip Opal password prompt Dandan Bi (12): MdeModulePkg/DisplayEngine: Remove useless NULL ptr check for NewPos MdePkg: check Length para before use in DevPathToTextUsbWWID MdePkg: Check input Ptrs in GetSectionFromAnyFvByFileType BaseTools/VfrCompile: report error for Integer overflow MdeModulePkg/NonDiscoverablePciDevice: Remove the redundant check MdePkg/BasePeCoffLib: Add more check for relocation data MdePkg/BasePeCoffLib: Correct the address of RelocBaseEnd ShellPkg/UefiShellAcpiViewCommandLib: Fix VS tool chain build failure MdeModulePkg: Fix coding style issues MdePkg: Fix coding style issues MdePkg/StatusCodeDataTypeId.h: Add new definition per PI1.7 Spec MdeModulePkg/BmBoot: Report status when fail to load/start boot option Derek Lin (1): BaseTools: Fix GenFds error doesn't break build. Edgar Handal (1): MdeModulePkg/SdMmcPciHcDxe: Use 16/32-bit IO widths Eric Dong (9): UefiCpuPkg/Cpuid.h: Sync CPUID definition to latest SDM. UefiCpuPkg/Cpuid: Add code to support new definition. UefiCpuPkg/RegisterCpuFeaturesLib: Enhance debug message. UefiCpuPkg/RegisterCpuFeaturesLib: Avoid AP calls PeiService. UefiCpuPkg/S3Resume2Pei: check 64BIT_WAKE_F in FACS.OSPMFlags. MdeModulePkg/BootScriptExecuteorDxe: check 64BIT_WAKE_F in FACS.OSPMFlags UefiCpuPkg/RegisterCpuFeaturesLib: Replace AcquireSpinLock. SecurityPkg/OpalPassword: Update strings on Opal Setup page SecurityPkg/OpalPassword: Add NULL pointer check before using it Felix Polyudov (1): BaseTools: Fix incorrect formatting of GenFds command dictionary Feng, Bob C (52): BaseTools: Fix the problem using FILE_GUID override in .dsc BaseTools: Enable Pcd Array support. BaseTool: Filter out unused structure pcds BaseTools: Replace the sqlite database with list BaseTools: Optimize string concatenation BaseTools: Customize deepcopy function. BaseTools: Correct CCFLAG for PcdValueInit BaseTools: Fix PcdNvStoreDefaultValueBuffer Value. BaseTools: Fixed bugs in CopyDict function BaseTools: Fixed the build fail issue for cases BaseTools: Fix PcdArray issue BaseTools: Fixed metafile parser issues BaseTools: Reset FdsGlobalVariable BaseTools: Fixed build report issue. BaseTools: Correct PcdArray value assigment statement BaseTools: Report Error if use SET in Dsc BaseTools: Remove unused logic for EDKI BaseTools: Remove unused logic for IPF BaseTools: Remove unused logic from C tools BaseTools: Enable component override functionality BaseTools: Remove unused logic for EDKI BaseTools: Remove EDK_SOURCE keyword from ECC Tool BaseTools: Remove EDK_SOURCE keyword from GenFds tool. BaseTools: Remove EDK_SOURCE keyword from Inf Parser. BaseTools: Allow empty value for HiiPcd in Dsc BaseTools: Fix build report issue. BaseTools: use OrderedDict instead of sdict BaseTools: Make sure AllPcdList valid. BaseTools:File open failed for VPD MapFile BaseTools:Fixed Rsa issue and a set define issue. BaseTools:ord() don't match in py2 and py3 BaseTools: the list and iterator translation BaseTools: Handle the bytes and str difference BaseTools: ECC tool Python3 adaption BaseTools: Eot tool Python3 adaption BaseTools: Enable CODE format in DEC file BaseTools: Fixed incorrect line number in PcdValueInit.c BaseTools: Correct the error message for UPT BaseTools: Fixed a build report issue. BaseTools: Fix the build report issue about Structure PCD BaseTools: Fixed an issue about StructurePcd BaseTools: Add MaxSizeUserSet to Pcd deepcopy function BaseTools: Fix a ParseDevPathValue function issue. BaseTools: Fixed a bug in Vpd handling BaseTools: Fixed a code bug for Pcd Array. BaseTools: replace Sdict with OrderedDict in UPT BaseTool: Fixed incremental rebuild issue. BaseTools: Fix a bug about Structure PCD BaseTools: Add parameter check for the AsciiStringToUint64 BaseTools: Eot failed when enable python3 BaseTools: Fix a Eot issue. BaseTools: Add python3-distutils Ubuntu package checking Gary Lin (2): MdePkg ACPI: fix the typos in Acpi61.h and Acpi62.h MdeModulePkg/UefiBootManagerLib: Match the nested partitions Gonzalez Del Cueto, Rodrigo (1): SecurityPkg/TcgConfigDxe: Allow enabling TPM 1.2 device from disabled state. Hao Wu (25): MdePkg/BaseLib: Introduce new SpeculationBarrier API MdeModulePkg/FaultTolerantWrite: Update to consume SpeculationBarrier MdeModulePkg/SmmLockBox: Update to consume SpeculationBarrier MdeModulePkg/Variable: Update to consume SpeculationBarrier UefiCpuPkg/PiSmmCpuDxeSmm: Update to consume SpeculationBarrier UefiCpuPkg: Merge StuffRsb.inc files into one in UefiCpuPkg/Include MdeModulePkg/SdMmcPciHcDxe: Fix VS2015 IA32 NOOPT build failure MdeModulePkg/SdMmcPciHcDxe: Update comment for spec compliance status MdeModulePkg: Add definitions for ATA AHCI host controller PPI MdeModulePkg: Add definitions for EDKII PEI ATA PassThru PPI MdeModulePkg: Add definitions for Storage Security Command PPI MdeModulePkg: Add GUID for LockBox to save storage dev to init in S3 MdeModulePkg/NvmExpressPei: Avoid updating the module-level variable MdeModulePkg/NvmExpressPei: Add logic to produce SSC PPI MdeModulePkg/NvmExpressPei: Consume S3StorageDeviceInitList LockBox MdeModulePkg/AhciPei: Add AHCI mode ATA device support in PEI MdeModulePkg/SmmLockBoxLib: Use 'DEBUG_' prefix instead of 'EFI_D_' MdeModulePkg/SmmLockBox(PEI): Remove an ASSERT in RestoreLockBox() MdeModulePkg/SmmLockBoxLib: Support LockBox enlarge in UpdateLockBox() OvmfPkg/LockBoxLib: Update the comments for API UpdateLockBox() SecurityPkg/OpalPassword: Remove HW init codes and consume SSC PPI SecurityPkg/HddPassword: Add Security feature set support for ATA dev MdeModulePkg/UfsBlockIoPei: Correct use of 'DeviceIndex' in BlkIO PPI MdeModulePkg/PartitionDxe: Ensure blocksize holds MBR (CVE-2018-12180) MdeModulePkg/RamDiskDxe: Restrict on RAM disk size (CVE-2018-12180) Hess Chen (1): BaseTools/ECC: Add a new type of exception Hsueh, Hong-chihX (1): MdePkg/BasePeCoffLib: skip runtime relocation if reloc info is invalid Jaben Carsey (14): BaseTools: Move Identification file to Eot BaseTools: cleanup LongFilePathSupport usage BaseTools: create and use a standard shared variable for '*' BaseTools: fix imports MdeModulePkg: fix comments in BaseSortLib BaseTools/build/build: refactor and move functions BaseTools/Workspace/InfBuildData: move functions BaseTools/DscBuildData: move function BaseTools/AutoGen: move functions BaseTools/GenFds/Capsule: move function logic BaseTools/Common/Misc: move private functions BaseTools/Common/Misc: remove uncalled code BaseTools/Common/Misc: Cleanup the imports BaseTools/build/build: delete variable Jagadeesh Ujja (2): SecurityPkg/AuthVariableLib: allow MM_STANDALONE drivers to use this library MdePkg/Include: add MmServicesTableLib header file Jeff Brasen (5): MdeModulePkg/SdDxe: Fix potential NULL pointer access EmbeddedPkg/PrePiMemoryAllocationLib: Added AllocateZeroPool() MdeModulePkg/BaseSortLib: Enable for all module types ArmPkg/ArmScmiDxe: Add clock enable function EmbeddedPkg/PrePiLib: Correct function name Jian J Wang (7): CryptoPkg/IntrinsicLib: add missing BaseLib declaration Upgrade OpenSSL to 1.1.0j CryptoPkg/BaseCryptLib: split CryptPkcs7Verify.c on behalf of runtime MdePkg/UefiDevicePathLib: Add sanity check for FilePath device path MdePkg/UefiDevicePathLibDevicePathProtocol: Add sanity check for FilePath device path UefiCpuPkg: restore strict page attributes via #DB in nonstop mode only Maintainers.txt: remove unexpected unicode BOM Jiaxin Wu (7): MdeModulePkg/Dhcp4Dxe: Remove unnecessary NULL pointer check. NetworkPkg/IScsiDxe: Remove unnecessary NULL pointer check. NetworkPkg/DnsDxe: Remove unnecessary NULL pointer check. MdeModulePkg/Ip4Dxe: Uninstall protocols when error happen in Driver Binding Start. NetworkPkg/Ip6Dxe: Uninstall protocols when error happen in Driver Binding Start. NetworkPkg/Ip6Dxe: Clean the invalid IPv6 configuration during driver start. NetworkPkg/DnsDxe: [CVE-2018-12178] Check the received packet size before parsing the message. Jiewen Yao (6): MdeModulePkg/LockboxNullLib: clean up INF file. BaseTool/GenC: Fix build error when type is BASE or USER_DEFINED. MdePkg/Include: Add Nasm.inc MdePkg/BaseLib: Add Shadow Stack Support for X86. UefiCpuPkg/ExceptionLib: Add CET support. UefiCpuPkg/PiSmmCpu: Add Shadow Stack Support for X86 SMM. Jordan Justen (1): OvmfPkg/build.sh: Enable flash for qemu 3 or later Julien Grall (1): Maintainers.txt: Update e-mail address for Julien Grall Krzysztof Koch (1): ShellPkg/UefiShellAcpiViewCommandLib: Add support for PPTT Laszlo Ersek (47): EmulatorPkg: require GCC48 or later OvmfPkg: require GCC48 or later Vlv2TbltDevicePkg: assume GCC48 or later BaseTools/tools_def.template: fix up LF-only line terminator BaseTools/tools_def.template: strip trailing whitespace BaseTools/tools_def.template: remove GCC48_IA32_X64_DLINK_COMMON dead-end BaseTools/tools_def.template: remove GCC47 leaf definitions BaseTools/tools_def.template: propagate loss of GCC47 references BaseTools/tools_def.template: remove GCC47 documentation BaseTools/tools_def.template: remove GCC46 leaf definitions BaseTools/tools_def.template: propagate loss of GCC46 references BaseTools/tools_def.template: remove GCC46 documentation BaseTools/tools_def.template: remove GCC45 leaf definitions BaseTools/tools_def.template: propagate loss of GCC45 references BaseTools/tools_def.template: remove GCC45 documentation BaseTools/tools_def.template: remove GCC44 leaf definitions BaseTools/tools_def.template: propagate loss of GCC44 references BaseTools/tools_def.template: rename GCC44_ALL_CC_FLAGS to GCC48_ALL_CC_FLAGS BaseTools/tools_def.template: eliminate GCC44_IA32_X64_DLINK_FLAGS BaseTools/tools_def.template: rename GCC44_IA32_X64_DLINK_COMMON to GCC48_IA32_X64_DLINK_COMMON BaseTools/tools_def.template: remove comment about GCC44 + LzmaF86Compress BaseTools/tools_def.template: remove GCC44 documentation ArmPkg/ArmSoftFloatLib: drop build flags specific to GCC46/GCC47 CryptoPkg/BaseCryptLib: drop build flags specific to GCC44 Revert "MdePkg: avoid __builtin_unreachable() on GCC v4.4" BaseTools/BuildReport: fix report for platforms/arches without struct PCDs ArmVirtPkg/ArmVirtQemuKernel: don't set PcdCPUCoresStackBase ArmVirtPkg: don't set PcdRelocateVectorTable ArmVirtPkg/{ArmVirtQemu,ArmVirtQemuKernel}: don't set PcdTrustzoneSupport ArmVirtPkg: don't set PcdPostCodePropertyMask ArmVirtPkg: clean up PcdSetNxForStack setting (applies to ArmVirtQemu only) ArmVirtPkg/PrePi: drop wrong PcdCoreCount dependency ArmVirtPkg: don't set PcdCoreCount ArmVirtPkg: don't set PcdDebugClearMemoryValue ArmVirtPkg: don't set PcdDebugPrintErrorLevel in RELEASE builds ArmVirtPkg/ArmVirtXen: don't set PcdPL031RtcBase ArmVirtPkg/ArmVirtXen: don't set PcdTerminalTypeGuidBuffer ArmVirtPkg/ArmVirtXen: don't set PcdShellFile ArmVirtPkg/ArmVirtXen: don't set PcdTurnOffUsbLegacySupport ArmVirtPkg/ArmVirtXen: don't set Pcd*ImageVerificationPolicy Maintainers: add TPM2 reviewers for OvmfPkg Maintainers: specify the scope for OvmfPkg/ArmVirtPkg Xen module reviewers MdeModulePkg/UefiBootManagerLib: fix LoadImage/StartImage status code rep. OvmfPkg: add library to track boot option loading/starting on the console OvmfPkg/PlatformBootManagerLib: display boot option loading/starting ArmVirtPkg/ArmVirtQemu*: enable minimal Status Code Routing in DXE ArmVirtPkg/PlatformBootManagerLib: display boot option loading/starting Leif Lindholm (8): ArmPkg: fix StandaloneMmMmuLib subdirectory case ArmPkg: drop ArmBds remnant Pcds from .dec ArmPkg: delete unused ArmTrustZoneSmc.h AppPkg: fix webserver build for !Ia32/X64 IntelFrameworkModulePkg: fix build for AARCH64/ARM IntelFrameworkPkg: fix build for AARCH64/ARM SecurityPkg: fix package build on ARM SignedCapsulePkg: enable package build for AARCH64/ARM Liming Gao (12): OvmfPkg: Don't include TftpDynamicCommand in XCODE5 tool chain MdeModulePkg PCD: Add DynamicEx PcdVpdBaseAddress64 for non SPI platform Maintainers.txt: Add the rule to hand over the package maintain role BaseTools Script: Update ConvertFceToStructurePcd to report warning messages MdeModulePkg: Correct PCD name in MdeModulePkg.uni Readme.md: Add edk2 release tag and edk2 release plan BaseTools GenFw: Fix XCODE5 build issue BaseTools VolInfo: Fix XCODE5 build issue BaseTools: Update PYTHON env to PYTHON_COMMAND MdeModulePkg DxeCapsuleLibFmp: Update SupportCapsuleImage() for Fake Capsule BaseTools: Remove unused txt files Revert "BaseTools:BaseTools supports to the driver combination." Liu Yu (1): EmulatorPkg/build.sh: Fix 'run' path to simulator host executable Marcin Wojtas (2): MdeModulePkg/SdMmcPciHcDxe: Add an optional parameter in NotifyPhase MdeModulePkg/SdMmcPciHcDxe: Allow overriding base clock frequency Max Knutsen (1): MdeModulePkg/ReportStatusCodeLib: Avoid using AllocatePool if possible Meenakshi Aggarwal (1): EmbeddedPkg: Fix Command Argument for SD/eMMC R/W operation. Mike Maslenkin (1): UefiCpuPkg/CpuExceptionHandlerLib: Fix spelling issue Mike Turner (4): MdePkg/BaseLib: Introduce CharToUpper and AsciiCharToUpper publicly MdePkg/UefiDevicePathLib: Add a checking step BaseTools/DevicePath: Add a checking step MdePkg/BaseLib: Add Base64Encode() and Base64Decode() Pete Batard (2): EmbeddedPkg/Library: Add VirtualRealTimeClockLib EmbeddedPkg/VirtualRealTimeClockLib: Fix correctness issues Philippe Mathieu-Daude (1): BaseTools: Fix build failure when specifying multiple BUILDTARGET Ray Ni (10): MdeModulePkg/PciBus: Shadow option ROM after BARs are programmed MdeModulePkg/PciBus: Fix system hang when no PCI Option ROM exists Maintainers.txt: Update mail address MdeModulePkg/PciBus: Change PCI_IO_DEVICE.RomSize to UINT32 type MdeModulePkg/PciBus: Correct typos MdeModulePkg/PciBus: Fix a bug PPB MEM32 BAR isn't restored sometimes UefiCpuPkg/MtrrLib: Fix a bug that may wrongly set memory <1MB to UC ShellBinPkg: Ia32/X64 Shell binary update. MdeModulePkg/HiiDatabase: Fix potential integer overflow (CVE-2018-12181) MdeModulePkg/HiiImage: Fix stack overflow when corrupted BMP is parsed (CVE-2018-12181) Sami Mujawar (36): Maintainers.txt: Change DynamicTablesPkg maintainer DynamicTablesPkg: Dynamic Tables Framework DynamicTablesPkg: Table Generator definition DynamicTablesPkg: Acpi Table Generator DynamicTablesPkg: SMBIOS Table Generator DynamicTablesPkg: DT Table Generator DynamicTablesPkg: Standard NameSpace Objects DynamicTablesPkg: Arm NameSpace Objects DynamicTablesPkg: Configuration Manager Objects DynamicTablesPkg: Configuration Manager Protocol DynamicTablesPkg: Configuration Manager Helper DynamicTablesPkg: Table Helper Library DynamicTablesPkg: Dynamic Table Factory Protocol DynamicTablesPkg: Dynamic Table Factory Dxe DynamicTablesPkg: Dynamic Table Manager Dxe DynamicTablesPkg: Arm Raw/DSDT/SSDT Generator DynamicTablesPkg: Arm ACPI FADT Generator DynamicTablesPkg: Arm ACPI MADT Generator DynamicTablesPkg: Arm ACPI GTDT Generator DynamicTablesPkg: Arm SPCR Table Generator DynamicTablesPkg: Arm DBG2 Table Generator DynamicTablesPkg: Arm PCI MCFG Table Generator DynamicTablesPkg: Arm IORT Table Generator DynamicTablesPkg: Fix protocol section DynamicTablesPkg: Rename enum used for ID Mapping DynamicTablesPkg: Add OEM Info DynamicTablesPkg: DGB2: Update DBG2_DEBUG_PORT_DDI DynamicTablesPkg: Remove GIC Distributor Id field DynamicTablesPkg: Minor updates and fix typos ArmPkg: Fix writes to GICv3 GICD_IROUTER reg Revert "DynamicTablesPkg: Minor updates and fix typos" Revert "DynamicTablesPkg: Remove GIC Distributor Id field" Revert "DynamicTablesPkg: DGB2: Update DBG2_DEBUG_PORT_DDI" Revert "DynamicTablesPkg: Add OEM Info" Revert "DynamicTablesPkg: Rename enum used for ID Mapping" Revert "DynamicTablesPkg: Fix protocol section" Sean Brogan (1): MdeModulePkg/NvmExpressDxe: Report StatusCode for device init failure Shenglei Zhang (37): EmulatorPkg: Remove EdkShellBinPkg in FDF and DEC Nt32Pkg: Remove EdkShellBinPkg in FDF and DEC OvmfPkg: Remove EdkShellBinPkg in FDF Vlv2TbltDevicePkg: Remove EdkShellBinPkg with ShellPkg EdkShellBinPkg: Remove EdkShellBinPkg EdkShellPkg: Remove EdkShellPkg Maintainers.txt: Remove EdkShellPkg and EkdShellBinPkg UnixPkg: Remove UnixPkg and update Maintainers.txt MdeModulePkg: Remove PcdIdentifyMappingPageTablePtr ShellPkg: Remove ShellPkg wrapper header files BaseTools: Remove GenVtf DuetPkg: Remove DuetPkg BaseTools: Remove tools only used by DuetPkg Maintainers.txt: Remove DuetPkg ShellPkg/UefiShellDebug1CommandsLib: Remove the unused function CharToUpper MdeModulePkg/EbcDebugger: Change function names MdePkg/BaseLib: Remove definitions of two functions MdeModulePkg/EbcDebugger: Use AsciiCharToUpper and CharToUpper MdeModulePkg/DxeHttpLib: Use BaseLib api AsciiCharToUpper ShellPkg/Shell: Use BaseLib api CharToUpper ShellPkg/UefiShellLib: Use BaseLib api CharToUpper MdePkg: Change function parameter type MdeModulePkg/S3SaveStateDxe: Change function parameter types MdeModulePkg/SmmS3SaveStateDxe: Change function parameter types BaseTools/tools_def.template: Remove CYGGCC OptionRomPkg/ReadMe.txt: Remove CYGGCC BaseTools: Update MYTOOLS BaseTools/tools_def.template: Remove VS2003 and VS2005 OptionRomPkg/ReadMe.txt: Remove VS2005 BaseTools/tools_def.template: Remove UNIXGCC OvmfPkg/README: Remove UNIXGCC BaseTools/tools_def.template: Remove ELFGCC BaseTools/tools_def.template: Remove DDK3790 BaseTools/build_rule.template: Remove GCCLD MdePkg/BaseLib: Change a variable type in a bitwise operation MdeModulePkg/PropertiesTableAttributesDxe: Remove this driver IntelSiliconPkg/MicrocodeUpdateDxe: Error message enhancement Siyuan Fu (8): ArmVirtPkg: Replace obsoleted network drivers from platform DSC/FDF. ArmVirtPkg: Remove redundant library instances in ArmVirtQemuKernel.dsc MdeModulePkg: Delete Tcp4Dxe in MdeModulePkg. NetworkPkg: Remove some clarification from TcpDxe.inf MdeModulePkg: Delete IScsiDxe in MdeModulePkg. NetworkPkg: Remove some clarification from IScsiDxe.inf MdeModulePkg: Delete UefiPxeBcDxe in MdeModulePkg. NetworkPkg: Remove some clarification from UefiPxeBcDxe.inf Solanki, Digant H (1): IntelSiliconPkg\Include\IndustryStandard: Update IGD_OPREGION_MBOX3 Structure Songpeng Li (3): ShellPkg/TftpDynamicCommand: Change file writing method in tftp NetworkPkg/IScsiDxe: Remove unused global variables. NetworkPkg/Dhcp6Dxe: Remove an unused global variable. Star Zeng (30): Maintainers.txt: Update FmpDevicePkg maintainer Maintainers.txt: Update MdeModulePkg maintainers MdeModulePkg PeiCore: Remove the using of PcdPeiCoreMaxPeimPerFv SecurityPkg Tcg(2)Pei: Remove the using of PcdPeiCoreMaxFvSupported MdeModulePkg PeiCore: Remove the using of PcdPeiCoreMaxFvSupported MdeModulePkg PeiCore: Remove the using of PcdPeiCoreMaxPpiSupported OvmfPkg: Remove PcdPeiCoreMaxXXX PCDs' statement Vlv2TbltDevicePkg: Remove PcdPeiCoreMaxXXX PCDs' statement MdeModulePkg: Remove PcdPeiCoreMaxXXX PCDs MdeModulePkg Variable: Add some missing changes for 9b18845 MdeModulePkg Variable: Abstract InitRealNonVolatileVariableStore MdeModulePkg Variable: Move "extern XXX" to Variable.h MdeModulePkg Variable: Not get NV PCD in VariableWriteServiceInitialize MdeModulePkg Variable: Abstract VariableWriteServiceInitializeDxe/Smm MdeModulePkg Variable: Remove CacheOffset in UpdateVariable() MdeModulePkg Variable: type case VolatileBase to UINTN directly MdeModulePkg: Add PcdEmuVariableNvModeEnable in dec MdeModulePkg: Refine description a little for PcdEmuVariableNvStoreReserved MdeModulePkg Variable: Add emulated variable NV mode support MdeModulePkg VariablePei: Don't check BOOT_IN_RECOVERY_MODE ArmVirtXen: Use merged variable driver for emulated NV mode ArmVirtXen: Link VarCheckUefiLib NULL class library instance BeagleBoardPkg: Use merged variable driver for emulated NV mode QuarkMin: Use merged variable driver for emulated NV mode CorebootPayloadPkg: Use merged variable driver for emulated NV mode MdeModulePkg VariableStandaloneMm: Add PcdEmuVariableNvModeEnable in inf MdeModulePkg: Remove EmuVariableRuntimeDxe MdeModulePkg/PeiCore: Ensure FfsFileHeader 8 bytes aligned MdeModulePkg/DxeCore: Ensure FfsFileHeader 8 bytes aligned IntelFrameworkModulePkg/FwVolDxe: Ensure FfsFileHeader 8 bytes aligned Stefan Berger (1): OvmfPkg: Add TCG2 Configuration menu to the Device Manager menu Sughosh Ganu (3): ArmPkg/Include: Fix the SPM version SVC ID StandaloneMM: Include the newly added library class for MMU functions StandaloneMM: Update permissions for Standalone MM drivers memory area Sumit Garg (2): ArmPkg/OpteeLib: Add dummy RPC handler ArmPkg/OpteeLib: Add OPTEE_SUCCESS return code Sun, Zailiang (1): Maintainers.txt: update Vlv2*Pkg maintainers. Tomasz Michalec (2): MdeModulePkg/SdMmcPciHcDxe: Add UhsSignaling to SdMmcOverride protocol MdeModulePkg/SdMmcPciHcDxe: Add SwitchClockFreqPost to SdMmcOverride Vijayenthiran Subramaniam (2): MdeModulePkg/Variable: add debug logs in VariableServiceSetVariable NetworkPkg/IScsiDxe: add debug logs for failed SetVariable attempts Vladimir Olovyannikov (1): MdeModulePkg/NonDiscoverablePciDeviceDxe: add missing validation Vladimir Olovyannikov via edk2-devel (1): ShellPkg/TftpDynamicCommand: Return proper status Wang Fan (2): NetworkPkg: Add WiFi Connection Manager to NetworkPkg NetworkPkg: Fix Duplicate FreePool Error in WCM Ye Ting (1): Maintainers.txt: Change package maintainer and reviewer of CryptoPkg. Yonghong Zhu (1): Maintainers.txt: Update BaseTools maintainers Yunhua Feng (3): BaseTools: nametuple not have verbose parameter in python3 BaseTools: Remove unnecessary super function BaseTools: replace long by int Zhang, Chao B (6): SecurityPkg: TCG Add more Event type SecurityPkg: Update TCG PFP spec revision. SecurityPkg/Tcg: Fix Warnings and Remarks reported by IASL SecurityPkg/TCG: Upgrade UEFI supporting TCG spec info MdeModulePkg:Tpm2Acpi.h: Upgrade UEFI supporting TCG spec info Maintainers.txt: Change package maintainer and reviewer of SecurityPkg. Zhao, ZhiqiangX (1): BaseTools: AutoGen and GenFds share the parser data. Zhichao Gao (8): ShellPkg: add array index check for shell delay option MdeModulePkg: change the function name ResetSystem MdeModulePkg: Add the new API ResetSystem in the head file MdeModulePkg: Add a new API ResetSystem for DXE ResetSystemLib MdeModulePkg: Add a new API ResetSystem for Null version MdeModulePkg: Add a new API ResetSystem for PEI ResetSystemLib MdeModulePkg: Add a runtime library instance of ResetSystemLib MdeModulePkg: Add the runtime ResetSystemLib in MdeModulePkg.dsc Zhijux Fan (38): BaseTools: Update nasm file build rule to support $(INC) BaseTools: Add $(INC)-like support when compiling .nasm files BaseTools:Build fail when PCD use in the [DEPEX] section of INF files BaseTools:build break if the Path contains SingleFile.Ext BaseTools:The BuildOptionPcd value is wrong BaseTools: Fix Pcd Array changes build report issue. BaseTools:Define Macro in Inf file, the pcdvalue Can't convert BaseTool:Rename xrange() to range() BaseTools:use iterate list to replace the itertools BaseTools: Rename iteritems to items BaseTools: replace get_bytes_le() to bytes_le BaseTools:Solve the data sorting problem use python3 BaseTools: Update argparse arguments since it not have version now BaseTools:Similar to octal data rectification BaseTools/UPT:merge UPT Tool use Python2 and Python3 BaseTools: update Test scripts support python3 BaseTools/Scripts: Porting PackageDocumentTools code to use Python3 Basetools: It went wrong when use os.linesep BaseTools:Fv BaseAddress must set If it not set BaseTools:TestTools character encoding issue BaseTools:Double carriage return inserted from Trim.py on Python3 BaseTools: change the Division Operator BaseTools:There is extra blank line in datalog BaseTools: Similar to octal data rectification BaseTools: Update windows and linux run scripts file to use Python3 BaseTools:Update build tool to print python version information BaseTools:Linux Python highest version check. BaseTools: PCD value incorrect in structure pcd sku case. BaseTools:StructurePCD value display incorrect in "Not used" section. BaseTools:Fix a ECC issue BaseTools:BaseTools supports to the driver combination. BaseTools:Fixed build failure when specifying multiple BUILDTARGET BaseTools:PCD value error in structure pcd sku case. BaseTools:Build fail if define [DEPEX] in library inf BaseTools:Some build generated files content are not ordered on linux BaseTools:PackageDocumentTools import lib error occurs. BaseTools:The BOM character is processed when python reads a file BaseTools:Run packagedoc_cli.py to generate doc failed yuchenlin (5): Revert "OvmfPkg/QemuVideoDxe: list "UnalignedIoInternal.h" in the INF file" Revert "OvmfPkg/QemuVideoDxe: VMWare SVGA device support" Revert "OvmfPkg/QemuVideoDxe: Helper functions for unaligned port I/O." Revert "OvmfPkg: VMWare SVGA display device register definitions" OvmfPkg: simply use the Bochs interface for vmsvga zwei4 (1): Vlv2TbltDevicePkg:Fix build and boot failure of Minnowboard Max platform. Signed-off-by: Laszlo Ersek Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Michal Privoznik Reviewed-by: Michael S. Tsirkin Message-Id: <20190313210057.32584-5-lersek@redhat.com> Signed-off-by: Philippe Mathieu-Daudé --- roms/edk2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roms/edk2 b/roms/edk2 index 8558838922..89910a39dc 160000 --- a/roms/edk2 +++ b/roms/edk2 @@ -1 +1 @@ -Subproject commit 85588389222a3636baf0f9ed8227f2434af4c3f9 +Subproject commit 89910a39dcfd788057caa5d88b7e76e112d187b5 From patchwork Sat Mar 16 22:09:30 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 1057429 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 44MGt5235Cz9s3q for ; Sun, 17 Mar 2019 09:13:17 +1100 (AEDT) Received: from localhost ([127.0.0.1]:46976 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h5HYJ-00009v-1g for incoming@patchwork.ozlabs.org; Sat, 16 Mar 2019 18:13:15 -0400 Received: from eggs.gnu.org ([209.51.188.92]:48967) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h5HWR-0007eo-AT for qemu-devel@nongnu.org; Sat, 16 Mar 2019 18:11:20 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h5HV8-0005WQ-Qk for qemu-devel@nongnu.org; Sat, 16 Mar 2019 18:09:59 -0400 Received: from mx1.redhat.com ([209.132.183.28]:49608) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1h5HV8-0005W5-H2 for qemu-devel@nongnu.org; Sat, 16 Mar 2019 18:09:58 -0400 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id CA263C057F30; Sat, 16 Mar 2019 22:09:57 +0000 (UTC) Received: from x1w.redhat.com (ovpn-204-28.brq.redhat.com [10.40.204.28]) by smtp.corp.redhat.com (Postfix) with ESMTPS id D92471001E61; Sat, 16 Mar 2019 22:09:55 +0000 (UTC) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Date: Sat, 16 Mar 2019 23:09:30 +0100 Message-Id: <20190316220937.18124-6-philmd@redhat.com> In-Reply-To: <20190316220937.18124-1-philmd@redhat.com> References: <20190316220937.18124-1-philmd@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.32]); Sat, 16 Mar 2019 22:09:57 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PULL 05/12] roms/edk2-funcs.sh: add the qemu_edk2_get_thread_count() function X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Michael S . Tsirkin" , Laszlo Ersek , Michael Tokarev , Michal Privoznik , Igor Mammedov , =?utf-8?q?Philippe_Mathieu-Daud?= =?utf-8?b?w6k=?= Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Laszlo Ersek The edk2 "build" utility natively supports building modules (that is, INF files) in parallel. The feature is not useful when building a single module (with the "-m" option), but it is useful for platform firmware builds (which include many modules). Add a function that determines the "-n" option argument for "build", from the MAKEFLAGS variable (i.e. based on the presence of a make job server). Signed-off-by: Laszlo Ersek Reviewed-by: Philippe Mathieu-Daudé Tested-by: Philippe Mathieu-Daudé Reviewed-by: Michal Privoznik Reviewed-by: Michael S. Tsirkin Tested-by: Igor Mammedov Message-Id: <20190313210057.32584-6-lersek@redhat.com> Signed-off-by: Philippe Mathieu-Daudé --- roms/edk2-funcs.sh | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/roms/edk2-funcs.sh b/roms/edk2-funcs.sh index d1cb1e4a11..a9fae7ee89 100644 --- a/roms/edk2-funcs.sh +++ b/roms/edk2-funcs.sh @@ -226,3 +226,28 @@ qemu_edk2_set_cross_env() eval "export $cross_prefix_var=\$cross_prefix" } + + +# Determine the "-n" option argument (that is, the number of modules to build +# in parallel) for the edk2 "build" utility. Print the result to the standard +# output. +# +# Parameters: +# $1: the value of the MAKEFLAGS variable +qemu_edk2_get_thread_count() +{ + local makeflags="$1" + + if [[ "$makeflags" == *--jobserver-auth=* ]] || + [[ "$makeflags" == *--jobserver-fds=* ]]; then + # If there is a job server, allow the edk2 "build" utility to parallelize + # as many module builds as there are logical CPUs in the system. The "make" + # instances forked by "build" are supposed to limit themselves through the + # job server. The zero value below causes the edk2 "build" utility to fetch + # the logical CPU count with Python's multiprocessing.cpu_count() method. + printf '0\n' + else + # Build a single module at a time. + printf '1\n' + fi +} From patchwork Sat Mar 16 22:09:31 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 1057433 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 44MGw90Jb8z9ryj for ; Sun, 17 Mar 2019 09:15:05 +1100 (AEDT) Received: from localhost ([127.0.0.1]:46996 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h5Ha2-0001nZ-U3 for incoming@patchwork.ozlabs.org; Sat, 16 Mar 2019 18:15:03 -0400 Received: from eggs.gnu.org ([209.51.188.92]:48863) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h5HWO-0007V4-Qv for qemu-devel@nongnu.org; Sat, 16 Mar 2019 18:11:17 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h5HVG-0005Yp-4C for qemu-devel@nongnu.org; Sat, 16 Mar 2019 18:10:06 -0400 Received: from mx1.redhat.com ([209.132.183.28]:45682) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1h5HVF-0005YX-QY for qemu-devel@nongnu.org; Sat, 16 Mar 2019 18:10:06 -0400 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 29B7A308AA11; Sat, 16 Mar 2019 22:10:05 +0000 (UTC) Received: from x1w.redhat.com (ovpn-204-28.brq.redhat.com [10.40.204.28]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 469ED1001E61; Sat, 16 Mar 2019 22:09:58 +0000 (UTC) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Date: Sat, 16 Mar 2019 23:09:31 +0100 Message-Id: <20190316220937.18124-7-philmd@redhat.com> In-Reply-To: <20190316220937.18124-1-philmd@redhat.com> References: <20190316220937.18124-1-philmd@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.41]); Sat, 16 Mar 2019 22:10:05 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PULL 06/12] roms/Makefile: replace the $(EFIROM) target with "edk2-basetools" X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Michael S . Tsirkin" , Laszlo Ersek , Michael Tokarev , Michal Privoznik , Igor Mammedov , =?utf-8?q?Philippe_Mathieu-Daud?= =?utf-8?b?w6k=?= Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Laszlo Ersek We don't (can't) have a recipe for building just $(EFIROM); therefore, while we call the target $(EFIROM), we actually build all of the edk2 BaseTools. Rename the target to edk2-basetools, and update the iPXE prerequisite accordingly. This will let other targets depend on "edk2-basetools", where an $(EFIROM) pre-requisite would be misleading. Signed-off-by: Laszlo Ersek Reviewed-by: Philippe Mathieu-Daudé Tested-by: Philippe Mathieu-Daudé Reviewed-by: Michal Privoznik Reviewed-by: Michael S. Tsirkin Tested-by: Igor Mammedov Message-Id: <20190313210057.32584-7-lersek@redhat.com> Signed-off-by: Philippe Mathieu-Daudé --- roms/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/roms/Makefile b/roms/Makefile index 78d5dd18c3..2e83ececa2 100644 --- a/roms/Makefile +++ b/roms/Makefile @@ -102,7 +102,7 @@ pxe-rom-%: build-pxe-roms efirom: $(patsubst %,efi-rom-%,$(pxerom_variants)) -efi-rom-%: build-pxe-roms build-efi-roms $(EFIROM) +efi-rom-%: build-pxe-roms build-efi-roms edk2-basetools $(EFIROM) -f "0x$(VID)" -i "0x$(DID)" -l 0x02 \ -b ipxe/src/bin/$(VID)$(DID).rom \ -ec ipxe/src/bin-i386-efi/$(VID)$(DID).efidrv \ @@ -120,7 +120,7 @@ build-efi-roms: build-pxe-roms $(patsubst %,bin-i386-efi/%.efidrv,$(pxerom_targets)) \ $(patsubst %,bin-x86_64-efi/%.efidrv,$(pxerom_targets)) -$(EFIROM): +edk2-basetools: $(MAKE) -C edk2/BaseTools slof: From patchwork Sat Mar 16 22:09:32 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 1057437 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 44MH2H3T4Mz9ryj for ; Sun, 17 Mar 2019 09:20:23 +1100 (AEDT) Received: from localhost ([127.0.0.1]:47074 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h5HfB-0006NS-GM for incoming@patchwork.ozlabs.org; Sat, 16 Mar 2019 18:20:21 -0400 Received: from eggs.gnu.org ([209.51.188.92]:48863) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h5HWN-0007V4-01 for qemu-devel@nongnu.org; Sat, 16 Mar 2019 18:11:16 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h5HVI-0005ZZ-DX for qemu-devel@nongnu.org; Sat, 16 Mar 2019 18:10:09 -0400 Received: from mx1.redhat.com ([209.132.183.28]:41696) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1h5HVI-0005ZM-1M for qemu-devel@nongnu.org; Sat, 16 Mar 2019 18:10:08 -0400 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 617C0C049E22; Sat, 16 Mar 2019 22:10:07 +0000 (UTC) Received: from x1w.redhat.com (ovpn-204-28.brq.redhat.com [10.40.204.28]) by smtp.corp.redhat.com (Postfix) with ESMTPS id A38B41001E61; Sat, 16 Mar 2019 22:10:05 +0000 (UTC) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Date: Sat, 16 Mar 2019 23:09:32 +0100 Message-Id: <20190316220937.18124-8-philmd@redhat.com> In-Reply-To: <20190316220937.18124-1-philmd@redhat.com> References: <20190316220937.18124-1-philmd@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.31]); Sat, 16 Mar 2019 22:10:07 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PULL 07/12] roms: build edk2 firmware binaries and variable store templates X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Michael Tokarev , Laszlo Ersek , Igor Mammedov , Michal Privoznik Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Laszlo Ersek Add the "efi" target to "Makefile". Introduce "Makefile.edk2" for building and cleaning the firmware images and varstore templates. Collect the common bits from the recipes in the helper script "edk2-build.sh". Signed-off-by: Laszlo Ersek Reviewed-by: Michal Privoznik Tested-by: Philippe Mathieu-Daudé Reviewed-by: Philippe Mathieu-Daudé Tested-by: Igor Mammedov Message-Id: <20190313210057.32584-8-lersek@redhat.com> Signed-off-by: Philippe Mathieu-Daudé --- roms/Makefile | 5 ++ roms/Makefile.edk2 | 148 +++++++++++++++++++++++++++++++++++++++++++++ roms/edk2-build.sh | 55 +++++++++++++++++ 3 files changed, 208 insertions(+) create mode 100644 roms/Makefile.edk2 create mode 100755 roms/edk2-build.sh diff --git a/roms/Makefile b/roms/Makefile index 2e83ececa2..054b432834 100644 --- a/roms/Makefile +++ b/roms/Makefile @@ -61,6 +61,7 @@ default: @echo " skiboot -- update skiboot.lid" @echo " u-boot.e500 -- update u-boot.e500" @echo " u-boot.sam460 -- update u-boot.sam460" + @echo " efi -- update UEFI (edk2) platform firmware" bios: build-seabios-config-seabios-128k build-seabios-config-seabios-256k cp seabios/builds/seabios-128k/bios.bin ../pc-bios/bios.bin @@ -143,6 +144,9 @@ skiboot: $(MAKE) -C skiboot CROSS=$(powerpc64_cross_prefix) cp skiboot/skiboot.lid ../pc-bios/skiboot.lid +efi: edk2-basetools + $(MAKE) -f Makefile.edk2 + clean: rm -rf seabios/.config seabios/out seabios/builds $(MAKE) -C sgabios clean @@ -153,3 +157,4 @@ clean: rm -rf u-boot/build.e500 $(MAKE) -C u-boot-sam460ex distclean $(MAKE) -C skiboot clean + $(MAKE) -f Makefile.edk2 clean diff --git a/roms/Makefile.edk2 b/roms/Makefile.edk2 new file mode 100644 index 0000000000..e5c3036949 --- /dev/null +++ b/roms/Makefile.edk2 @@ -0,0 +1,148 @@ +# Makefile for building firmware binaries and variable store templates for a +# number of virtual platforms in edk2. +# +# Copyright (C) 2019 Red Hat, Inc. +# +# This program and the accompanying materials are licensed and made available +# under the terms and conditions of the BSD License that accompanies this +# distribution. The full text of the license may be found at +# . +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT +# WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + +SHELL = /bin/bash + +toolchain = $(shell source ./edk2-funcs.sh && qemu_edk2_get_toolchain $(1)) + +licenses := \ + edk2/License.txt \ + edk2/OvmfPkg/License.txt \ + edk2/CryptoPkg/Library/OpensslLib/openssl/LICENSE + +# The "edk2-arm-vars.fd" varstore template is suitable for aarch64 as well. +# Similarly, the "edk2-i386-vars.fd" varstore template is suitable for x86_64 +# as well, independently of "secure" too. +flashdevs := \ + aarch64-code \ + arm-code \ + i386-code \ + i386-secure-code \ + x86_64-code \ + x86_64-secure-code \ + \ + arm-vars \ + i386-vars + +all: $(foreach flashdev,$(flashdevs),../pc-bios/edk2-$(flashdev).fd.xz) \ + ../pc-bios/edk2-licenses.txt + +../pc-bios/edk2-%.fd.xz: ../pc-bios/edk2-%.fd + xz -9 -e -c $< > $@ + +# When the build completes, we need not keep the uncompressed flash device +# files. +.INTERMEDIATE: $(foreach flashdev,$(flashdevs),../pc-bios/edk2-$(flashdev).fd) + +submodules: + cd edk2 && git submodule update --init --force + +# See notes on the ".NOTPARALLEL" target and the "+" indicator in +# "tests/uefi-test-tools/Makefile". +.NOTPARALLEL: + +../pc-bios/edk2-aarch64-code.fd: submodules + +./edk2-build.sh \ + aarch64 \ + --arch=AARCH64 \ + --platform=ArmVirtPkg/ArmVirtQemu.dsc \ + -D NETWORK_IP6_ENABLE \ + -D HTTP_BOOT_ENABLE + cp edk2/Build/ArmVirtQemu-AARCH64/DEBUG_$(call toolchain,aarch64)/FV/QEMU_EFI.fd \ + $@ + truncate --size=64M $@ + +../pc-bios/edk2-arm-code.fd: submodules + +./edk2-build.sh \ + arm \ + --arch=ARM \ + --platform=ArmVirtPkg/ArmVirtQemu.dsc \ + -D NETWORK_IP6_ENABLE \ + -D HTTP_BOOT_ENABLE + cp edk2/Build/ArmVirtQemu-ARM/DEBUG_$(call toolchain,arm)/FV/QEMU_EFI.fd \ + $@ + truncate --size=64M $@ + +../pc-bios/edk2-i386-code.fd: submodules + +./edk2-build.sh \ + i386 \ + --arch=IA32 \ + --platform=OvmfPkg/OvmfPkgIa32.dsc \ + -D NETWORK_IP6_ENABLE \ + -D HTTP_BOOT_ENABLE \ + -D TLS_ENABLE \ + -D TPM2_ENABLE \ + -D TPM2_CONFIG_ENABLE + cp edk2/Build/OvmfIa32/DEBUG_$(call toolchain,i386)/FV/OVMF_CODE.fd $@ + +../pc-bios/edk2-i386-secure-code.fd: submodules + +./edk2-build.sh \ + i386 \ + --arch=IA32 \ + --platform=OvmfPkg/OvmfPkgIa32.dsc \ + -D NETWORK_IP6_ENABLE \ + -D HTTP_BOOT_ENABLE \ + -D TLS_ENABLE \ + -D TPM2_ENABLE \ + -D TPM2_CONFIG_ENABLE \ + -D SECURE_BOOT_ENABLE \ + -D SMM_REQUIRE + cp edk2/Build/OvmfIa32/DEBUG_$(call toolchain,i386)/FV/OVMF_CODE.fd $@ + +../pc-bios/edk2-x86_64-code.fd: submodules + +./edk2-build.sh \ + x86_64 \ + --arch=X64 \ + --platform=OvmfPkg/OvmfPkgX64.dsc \ + -D NETWORK_IP6_ENABLE \ + -D HTTP_BOOT_ENABLE \ + -D TLS_ENABLE \ + -D TPM2_ENABLE \ + -D TPM2_CONFIG_ENABLE + cp edk2/Build/OvmfX64/DEBUG_$(call toolchain,x86_64)/FV/OVMF_CODE.fd $@ + +../pc-bios/edk2-x86_64-secure-code.fd: submodules + +./edk2-build.sh \ + x86_64 \ + --arch=IA32 \ + --arch=X64 \ + --platform=OvmfPkg/OvmfPkgIa32X64.dsc \ + -D NETWORK_IP6_ENABLE \ + -D HTTP_BOOT_ENABLE \ + -D TLS_ENABLE \ + -D TPM2_ENABLE \ + -D TPM2_CONFIG_ENABLE \ + -D SECURE_BOOT_ENABLE \ + -D SMM_REQUIRE + cp edk2/Build/Ovmf3264/DEBUG_$(call toolchain,x86_64)/FV/OVMF_CODE.fd $@ + +../pc-bios/edk2-arm-vars.fd: ../pc-bios/edk2-arm-code.fd + cp edk2/Build/ArmVirtQemu-ARM/DEBUG_$(call toolchain,arm)/FV/QEMU_VARS.fd \ + $@ + truncate --size=64M $@ + +../pc-bios/edk2-i386-vars.fd: ../pc-bios/edk2-i386-code.fd + cp edk2/Build/OvmfIa32/DEBUG_$(call toolchain,i386)/FV/OVMF_VARS.fd $@ + +# The license file accumulates several individual licenses from under edk2, +# prefixing each individual license with a header (generated by "tail") that +# states its pathname. +../pc-bios/edk2-licenses.txt: submodules + tail -n $(shell cat $(licenses) | wc -l) $(licenses) > $@ + dos2unix $@ + +clean: + rm -rf edk2/Build + cd edk2/Conf && \ + rm -rf .cache BuildEnv.sh build_rule.txt target.txt \ + tools_def.txt diff --git a/roms/edk2-build.sh b/roms/edk2-build.sh new file mode 100755 index 0000000000..4f46f8a6a2 --- /dev/null +++ b/roms/edk2-build.sh @@ -0,0 +1,55 @@ +#!/bin/bash + +# Wrapper shell script for building a virtual platform firmware in edk2. +# +# Copyright (C) 2019 Red Hat, Inc. +# +# This program and the accompanying materials are licensed and made available +# under the terms and conditions of the BSD License that accompanies this +# distribution. The full text of the license may be found at +# . +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT +# WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + +set -e -u -C + +# Save the command line arguments. We need to reset $# to 0 before sourcing +# "edksetup.sh", as it will inherit $@. +emulation_target=$1 +shift +num_args=0 +args=() +for arg in "$@"; do + args[num_args++]="$arg" +done +shift $num_args + +cd edk2 + +# Work around . +export PYTHON_COMMAND=python2 + +# Source "edksetup.sh" carefully. +set +e +u +C +source ./edksetup.sh +ret=$? +set -e -u -C +if [ $ret -ne 0 ]; then + exit $ret +fi + +# Fetch some option arguments, and set the cross-compilation environment (if +# any), for the edk2 "build" utility. +source ../edk2-funcs.sh +edk2_toolchain=$(qemu_edk2_get_toolchain "$emulation_target") +edk2_thread_count=$(qemu_edk2_get_thread_count "$MAKEFLAGS") +qemu_edk2_set_cross_env "$emulation_target" + +# Build the platform firmware. +build \ + --cmd-len=65536 \ + -n "$edk2_thread_count" \ + --buildtarget=DEBUG \ + --tagname="$edk2_toolchain" \ + "${args[@]}" From patchwork Sat Mar 16 22:09:33 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 1057430 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 44MGvs3L4gz9ryj for ; Sun, 17 Mar 2019 09:14:49 +1100 (AEDT) Received: from localhost ([127.0.0.1]:46990 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h5HZn-0001QP-9Q for incoming@patchwork.ozlabs.org; Sat, 16 Mar 2019 18:14:47 -0400 Received: from eggs.gnu.org ([209.51.188.92]:48863) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h5HWJ-0007V4-IG for qemu-devel@nongnu.org; Sat, 16 Mar 2019 18:11:13 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h5HVM-0005eV-P4 for qemu-devel@nongnu.org; Sat, 16 Mar 2019 18:10:17 -0400 Received: from mx1.redhat.com ([209.132.183.28]:43322) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1h5HVM-0005e3-DD for qemu-devel@nongnu.org; Sat, 16 Mar 2019 18:10:12 -0400 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id B92A659449; Sat, 16 Mar 2019 22:10:11 +0000 (UTC) Received: from x1w.redhat.com (ovpn-204-28.brq.redhat.com [10.40.204.28]) by smtp.corp.redhat.com (Postfix) with ESMTPS id D7C5A1001DDE; Sat, 16 Mar 2019 22:10:07 +0000 (UTC) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Date: Sat, 16 Mar 2019 23:09:33 +0100 Message-Id: <20190316220937.18124-9-philmd@redhat.com> In-Reply-To: <20190316220937.18124-1-philmd@redhat.com> References: <20190316220937.18124-1-philmd@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.39]); Sat, 16 Mar 2019 22:10:11 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PULL 08/12] pc-bios: add edk2 firmware binaries and variable store templates X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Michael Tokarev , Laszlo Ersek , Igor Mammedov , "Michael S . Tsirkin" Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Laszlo Ersek Add the files built by the last patch: (compressed) binaries, and the cumulative license text that covers them. Signed-off-by: Laszlo Ersek Reviewed-by: Michael S. Tsirkin Tested-by: Igor Mammedov Message-Id: <20190313210057.32584-9-lersek@redhat.com> [PMD: remove trailing whitespaces in edk2-licenses.txt] Signed-off-by: Philippe Mathieu-Daudé --- pc-bios/edk2-aarch64-code.fd.xz | Bin 0 -> 1146804 bytes pc-bios/edk2-arm-code.fd.xz | Bin 0 -> 1147852 bytes pc-bios/edk2-arm-vars.fd.xz | Bin 0 -> 10008 bytes pc-bios/edk2-i386-code.fd.xz | Bin 0 -> 1674764 bytes pc-bios/edk2-i386-secure-code.fd.xz | Bin 0 -> 1870024 bytes pc-bios/edk2-i386-vars.fd.xz | Bin 0 -> 320 bytes pc-bios/edk2-licenses.txt | 208 ++++++++++++++++++++++++++ pc-bios/edk2-x86_64-code.fd.xz | Bin 0 -> 1655276 bytes pc-bios/edk2-x86_64-secure-code.fd.xz | Bin 0 -> 1889024 bytes 9 files changed, 208 insertions(+) create mode 100644 pc-bios/edk2-aarch64-code.fd.xz create mode 100644 pc-bios/edk2-arm-code.fd.xz create mode 100644 pc-bios/edk2-arm-vars.fd.xz create mode 100644 pc-bios/edk2-i386-code.fd.xz create mode 100644 pc-bios/edk2-i386-secure-code.fd.xz create mode 100644 pc-bios/edk2-i386-vars.fd.xz create mode 100644 pc-bios/edk2-licenses.txt create mode 100644 pc-bios/edk2-x86_64-code.fd.xz create mode 100644 pc-bios/edk2-x86_64-secure-code.fd.xz diff --git a/pc-bios/edk2-x86_64-code.fd.xz b/pc-bios/edk2-x86_64-code.fd.xz new file mode 100644 index 0000000000..92398935a4 Binary files /dev/null and b/pc-bios/edk2-x86_64-code.fd.xz differ diff --git a/pc-bios/edk2-x86_64-secure-code.fd.xz b/pc-bios/edk2-x86_64-secure-code.fd.xz new file mode 100644 index 0000000000..a95891dcf1 Binary files /dev/null and b/pc-bios/edk2-x86_64-secure-code.fd.xz differ diff --git a/pc-bios/edk2-aarch64-code.fd.xz b/pc-bios/edk2-aarch64-code.fd.xz new file mode 100644 index 0000000000..8ca34c56b5 Binary files /dev/null and b/pc-bios/edk2-aarch64-code.fd.xz differ diff --git a/pc-bios/edk2-arm-code.fd.xz b/pc-bios/edk2-arm-code.fd.xz new file mode 100644 index 0000000000..db2c20b71e Binary files /dev/null and b/pc-bios/edk2-arm-code.fd.xz differ diff --git a/pc-bios/edk2-arm-vars.fd.xz b/pc-bios/edk2-arm-vars.fd.xz new file mode 100644 index 0000000000..8c3a4b5c8b Binary files /dev/null and b/pc-bios/edk2-arm-vars.fd.xz differ diff --git a/pc-bios/edk2-i386-code.fd.xz b/pc-bios/edk2-i386-code.fd.xz new file mode 100644 index 0000000000..f25dbec37e Binary files /dev/null and b/pc-bios/edk2-i386-code.fd.xz differ diff --git a/pc-bios/edk2-i386-secure-code.fd.xz b/pc-bios/edk2-i386-secure-code.fd.xz new file mode 100644 index 0000000000..11d499b90d Binary files /dev/null and b/pc-bios/edk2-i386-secure-code.fd.xz differ diff --git a/pc-bios/edk2-i386-vars.fd.xz b/pc-bios/edk2-i386-vars.fd.xz new file mode 100644 index 0000000000..1656532daa Binary files /dev/null and b/pc-bios/edk2-i386-vars.fd.xz differ diff --git a/pc-bios/edk2-licenses.txt b/pc-bios/edk2-licenses.txt new file mode 100644 index 0000000000..5a1e3f3f14 --- /dev/null +++ b/pc-bios/edk2-licenses.txt @@ -0,0 +1,208 @@ +==> edk2/License.txt <== +Copyright (c) 2004 - 2016, Intel Corporation. All rights reserved. +Copyright (c) 2008 - 2010, Apple Inc. All rights reserved. +Copyright (c) 2011 - 2015, ARM Limited. All rights reserved. +Copyright (c) 2014 - 2015, Linaro Limited. All rights reserved. +Copyright (c) 2013 - 2015, Red Hat, Inc. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +* Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +==> edk2/OvmfPkg/License.txt <== +Copyright (c) 2012, Intel Corporation. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +* Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + + +Some files are subject to the following license, the MIT license. Those files +are located in: +- OvmfPkg/Include/IndustryStandard/Xen/ +- OvmfPkg/XenBusDxe/ +- OvmfPkg/XenPvBlkDxe/ + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +==> edk2/CryptoPkg/Library/OpensslLib/openssl/LICENSE <== + + LICENSE ISSUES + ============== + + The OpenSSL toolkit stays under a double license, i.e. both the conditions of + the OpenSSL License and the original SSLeay license apply to the toolkit. + See below for the actual license texts. + + OpenSSL License + --------------- + +/* ==================================================================== + * Copyright (c) 1998-2018 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + + Original SSLeay License + ----------------------- + +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ From patchwork Sat Mar 16 22:09:34 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 1057428 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 44MGs02mDgz9ryj for ; Sun, 17 Mar 2019 09:12:20 +1100 (AEDT) Received: from localhost ([127.0.0.1]:46973 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h5HXO-0007kP-98 for incoming@patchwork.ozlabs.org; Sat, 16 Mar 2019 18:12:18 -0400 Received: from eggs.gnu.org ([209.51.188.92]:48863) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h5HWL-0007V4-JU for qemu-devel@nongnu.org; Sat, 16 Mar 2019 18:11:14 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h5HVP-0005fq-98 for qemu-devel@nongnu.org; Sat, 16 Mar 2019 18:10:16 -0400 Received: from mx1.redhat.com ([209.132.183.28]:57282) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1h5HVO-0005fV-TO for qemu-devel@nongnu.org; Sat, 16 Mar 2019 18:10:15 -0400 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 3BF3A83F45; Sat, 16 Mar 2019 22:10:14 +0000 (UTC) Received: from x1w.redhat.com (ovpn-204-28.brq.redhat.com [10.40.204.28]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 433401001DDE; Sat, 16 Mar 2019 22:10:12 +0000 (UTC) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Date: Sat, 16 Mar 2019 23:09:34 +0100 Message-Id: <20190316220937.18124-10-philmd@redhat.com> In-Reply-To: <20190316220937.18124-1-philmd@redhat.com> References: <20190316220937.18124-1-philmd@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.27]); Sat, 16 Mar 2019 22:10:14 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PULL 09/12] pc-bios: document the edk2 firmware images; add firmware descriptors X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Michael S . Tsirkin" , Laszlo Ersek , Michael Tokarev , Michal Privoznik , Igor Mammedov , =?utf-8?q?Philippe_Mathieu-Daud?= =?utf-8?b?w6k=?= Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Laszlo Ersek Update the README file with information on the images added previously, and provide firmware descriptor documents that conform to "docs/interop/firmware.json". Signed-off-by: Laszlo Ersek Reviewed-by: Michal Privoznik Reviewed-by: Michael S. Tsirkin Tested-by: Igor Mammedov Message-Id: <20190313210057.32584-10-lersek@redhat.com> Signed-off-by: Philippe Mathieu-Daudé --- pc-bios/README | 11 ++++++ pc-bios/descriptors/50-edk2-i386-secure.json | 34 ++++++++++++++++++ .../descriptors/50-edk2-x86_64-secure.json | 35 +++++++++++++++++++ pc-bios/descriptors/60-edk2-aarch64.json | 31 ++++++++++++++++ pc-bios/descriptors/60-edk2-arm.json | 31 ++++++++++++++++ pc-bios/descriptors/60-edk2-i386.json | 33 +++++++++++++++++ pc-bios/descriptors/60-edk2-x86_64.json | 34 ++++++++++++++++++ 7 files changed, 209 insertions(+) create mode 100644 pc-bios/descriptors/50-edk2-i386-secure.json create mode 100644 pc-bios/descriptors/50-edk2-x86_64-secure.json create mode 100644 pc-bios/descriptors/60-edk2-aarch64.json create mode 100644 pc-bios/descriptors/60-edk2-arm.json create mode 100644 pc-bios/descriptors/60-edk2-i386.json create mode 100644 pc-bios/descriptors/60-edk2-x86_64.json diff --git a/pc-bios/README b/pc-bios/README index d421cb3f1f..f6acd32096 100644 --- a/pc-bios/README +++ b/pc-bios/README @@ -50,3 +50,14 @@ - QemuMacDrivers (https://github.com/ozbenh/QemuMacDrivers) is a project to provide virtualised drivers for PPC MacOS guests. + +- The "edk2-*.fd.xz" images are platform firmware binaries and matching UEFI + variable store templates built from the TianoCore community's EFI Development + Kit II project + . The images + were built at git tag "edk2-stable201903". The firmware binaries bundle parts + of the OpenSSL project, at git tag "OpenSSL_1_1_0j" (the OpenSSL tag is a + function of the edk2 tag). Licensing information is given in + "edk2-licenses.txt". The image files are described by the JSON documents in + the "pc-bios/descriptors" directory, which conform to the + "docs/interop/firmware.json" schema. diff --git a/pc-bios/descriptors/50-edk2-i386-secure.json b/pc-bios/descriptors/50-edk2-i386-secure.json new file mode 100644 index 0000000000..d7108c1da0 --- /dev/null +++ b/pc-bios/descriptors/50-edk2-i386-secure.json @@ -0,0 +1,34 @@ +{ + "description": "UEFI firmware for i386, with Secure Boot and SMM", + "interface-types": [ + "uefi" + ], + "mapping": { + "device": "flash", + "executable": { + "filename": "@DATADIR@/edk2-i386-secure-code.fd", + "format": "raw" + }, + "nvram-template": { + "filename": "@DATADIR@/edk2-i386-vars.fd", + "format": "raw" + } + }, + "targets": [ + { + "architecture": "i386", + "machines": [ + "pc-q35-*" + ] + } + ], + "features": [ + "acpi-s3", + "requires-smm", + "secure-boot", + "verbose-dynamic" + ], + "tags": [ + + ] +} diff --git a/pc-bios/descriptors/50-edk2-x86_64-secure.json b/pc-bios/descriptors/50-edk2-x86_64-secure.json new file mode 100644 index 0000000000..387eb35623 --- /dev/null +++ b/pc-bios/descriptors/50-edk2-x86_64-secure.json @@ -0,0 +1,35 @@ +{ + "description": "UEFI firmware for x86_64, with Secure Boot and SMM", + "interface-types": [ + "uefi" + ], + "mapping": { + "device": "flash", + "executable": { + "filename": "@DATADIR@/edk2-x86_64-secure-code.fd", + "format": "raw" + }, + "nvram-template": { + "filename": "@DATADIR@/edk2-i386-vars.fd", + "format": "raw" + } + }, + "targets": [ + { + "architecture": "x86_64", + "machines": [ + "pc-q35-*" + ] + } + ], + "features": [ + "acpi-s3", + "amd-sev", + "requires-smm", + "secure-boot", + "verbose-dynamic" + ], + "tags": [ + + ] +} diff --git a/pc-bios/descriptors/60-edk2-aarch64.json b/pc-bios/descriptors/60-edk2-aarch64.json new file mode 100644 index 0000000000..800a21bda6 --- /dev/null +++ b/pc-bios/descriptors/60-edk2-aarch64.json @@ -0,0 +1,31 @@ +{ + "description": "UEFI firmware for aarch64", + "interface-types": [ + "uefi" + ], + "mapping": { + "device": "flash", + "executable": { + "filename": "@DATADIR@/edk2-aarch64-code.fd", + "format": "raw" + }, + "nvram-template": { + "filename": "@DATADIR@/edk2-arm-vars.fd", + "format": "raw" + } + }, + "targets": [ + { + "architecture": "aarch64", + "machines": [ + "virt-*" + ] + } + ], + "features": [ + "verbose-static" + ], + "tags": [ + + ] +} diff --git a/pc-bios/descriptors/60-edk2-arm.json b/pc-bios/descriptors/60-edk2-arm.json new file mode 100644 index 0000000000..d5f1bba6cc --- /dev/null +++ b/pc-bios/descriptors/60-edk2-arm.json @@ -0,0 +1,31 @@ +{ + "description": "UEFI firmware for arm", + "interface-types": [ + "uefi" + ], + "mapping": { + "device": "flash", + "executable": { + "filename": "@DATADIR@/edk2-arm-code.fd", + "format": "raw" + }, + "nvram-template": { + "filename": "@DATADIR@/edk2-arm-vars.fd", + "format": "raw" + } + }, + "targets": [ + { + "architecture": "arm", + "machines": [ + "virt-*" + ] + } + ], + "features": [ + "verbose-static" + ], + "tags": [ + + ] +} diff --git a/pc-bios/descriptors/60-edk2-i386.json b/pc-bios/descriptors/60-edk2-i386.json new file mode 100644 index 0000000000..2f8dec74fe --- /dev/null +++ b/pc-bios/descriptors/60-edk2-i386.json @@ -0,0 +1,33 @@ +{ + "description": "UEFI firmware for i386", + "interface-types": [ + "uefi" + ], + "mapping": { + "device": "flash", + "executable": { + "filename": "@DATADIR@/edk2-i386-code.fd", + "format": "raw" + }, + "nvram-template": { + "filename": "@DATADIR@/edk2-i386-vars.fd", + "format": "raw" + } + }, + "targets": [ + { + "architecture": "i386", + "machines": [ + "pc-i440fx-*", + "pc-q35-*" + ] + } + ], + "features": [ + "acpi-s3", + "verbose-dynamic" + ], + "tags": [ + + ] +} diff --git a/pc-bios/descriptors/60-edk2-x86_64.json b/pc-bios/descriptors/60-edk2-x86_64.json new file mode 100644 index 0000000000..968cb65cf9 --- /dev/null +++ b/pc-bios/descriptors/60-edk2-x86_64.json @@ -0,0 +1,34 @@ +{ + "description": "UEFI firmware for x86_64", + "interface-types": [ + "uefi" + ], + "mapping": { + "device": "flash", + "executable": { + "filename": "@DATADIR@/edk2-x86_64-code.fd", + "format": "raw" + }, + "nvram-template": { + "filename": "@DATADIR@/edk2-i386-vars.fd", + "format": "raw" + } + }, + "targets": [ + { + "architecture": "x86_64", + "machines": [ + "pc-i440fx-*", + "pc-q35-*" + ] + } + ], + "features": [ + "acpi-s3", + "amd-sev", + "verbose-dynamic" + ], + "tags": [ + + ] +} From patchwork Sat Mar 16 22:09:35 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 1057434 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 44MGz94Lmwz9ryj for ; Sun, 17 Mar 2019 09:17:41 +1100 (AEDT) Received: from localhost ([127.0.0.1]:47045 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h5HcZ-00045K-DL for incoming@patchwork.ozlabs.org; Sat, 16 Mar 2019 18:17:39 -0400 Received: from eggs.gnu.org ([209.51.188.92]:48863) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h5HWI-0007V4-O3 for qemu-devel@nongnu.org; Sat, 16 Mar 2019 18:11:11 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h5HVR-0005gg-If for qemu-devel@nongnu.org; Sat, 16 Mar 2019 18:10:18 -0400 Received: from mx1.redhat.com ([209.132.183.28]:39172) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1h5HVR-0005gT-9L for qemu-devel@nongnu.org; Sat, 16 Mar 2019 18:10:17 -0400 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 9B0BE36883; Sat, 16 Mar 2019 22:10:16 +0000 (UTC) Received: from x1w.redhat.com (ovpn-204-28.brq.redhat.com [10.40.204.28]) by smtp.corp.redhat.com (Postfix) with ESMTPS id A80BE1001E61; Sat, 16 Mar 2019 22:10:14 +0000 (UTC) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Date: Sat, 16 Mar 2019 23:09:35 +0100 Message-Id: <20190316220937.18124-11-philmd@redhat.com> In-Reply-To: <20190316220937.18124-1-philmd@redhat.com> References: <20190316220937.18124-1-philmd@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.30]); Sat, 16 Mar 2019 22:10:16 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PULL 10/12] tests: add missing dependency to build QTEST_QEMU_BINARY, round 2 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Michael S . Tsirkin" , Laszlo Ersek , Michael Tokarev , Michal Privoznik , Igor Mammedov , =?utf-8?q?Philippe_Mathieu-Daud?= =?utf-8?b?w6k=?= Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Laszlo Ersek In commit b94b330e2333 ("tests: add missing dependency to build QTEST_QEMU_BINARY", 2017-07-31), Phil fixed the dependency list of make target "check-qtest-%". Namely, the recipe would set QTEST_QEMU_BINARY to the softmmu emulator for the emulation target, but the prerequisites didn't include the emulator. The same issue affects the "check-report-qtest-%.tap" make target, which is the other make target whose recipe sets QTEST_QEMU_BINARY: > $ make -j4 check-report-qtest-aarch64.tap > TAP check-report-qtest-aarch64.tap > sh: /.../aarch64-softmmu/qemu-system-aarch64: No such file or directory Apply Phil's fix to this make target too. Signed-off-by: Laszlo Ersek Reviewed-by: Michal Privoznik Reviewed-by: Michael S. Tsirkin Tested-by: Igor Mammedov Message-Id: <20190313210057.32584-11-lersek@redhat.com> Signed-off-by: Philippe Mathieu-Daudé --- tests/Makefile.include | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/Makefile.include b/tests/Makefile.include index 852f17b8c7..0a0e1c340f 100644 --- a/tests/Makefile.include +++ b/tests/Makefile.include @@ -915,7 +915,7 @@ check-speed: $(check-speed-y) # gtester tests with TAP output -$(patsubst %, check-report-qtest-%.tap, $(QTEST_TARGETS)): check-report-qtest-%.tap: $(check-qtest-y) +$(patsubst %, check-report-qtest-%.tap, $(QTEST_TARGETS)): check-report-qtest-%.tap: subdir-%-softmmu $(check-qtest-y) $(call do_test_tap, $(check-qtest-$*-y) $(check-qtest-generic-y), \ QTEST_QEMU_BINARY=$*-softmmu/qemu-system-$* \ QTEST_QEMU_IMG=qemu-img$(EXESUF)) From patchwork Sat Mar 16 22:09:36 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 1057431 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 44MGvs6z53z9s3q for ; Sun, 17 Mar 2019 09:14:49 +1100 (AEDT) Received: from localhost ([127.0.0.1]:46992 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h5HZn-0001QZ-NN for incoming@patchwork.ozlabs.org; Sat, 16 Mar 2019 18:14:47 -0400 Received: from eggs.gnu.org ([209.51.188.92]:48863) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h5HWH-0007V4-NE for qemu-devel@nongnu.org; Sat, 16 Mar 2019 18:11:10 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h5HVW-0005hp-4U for qemu-devel@nongnu.org; Sat, 16 Mar 2019 18:10:23 -0400 Received: from mx1.redhat.com ([209.132.183.28]:51696) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1h5HVV-0005ha-Mg for qemu-devel@nongnu.org; Sat, 16 Mar 2019 18:10:22 -0400 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 0BB07882F5; Sat, 16 Mar 2019 22:10:21 +0000 (UTC) Received: from x1w.redhat.com (ovpn-204-28.brq.redhat.com [10.40.204.28]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 1A5581001DDE; Sat, 16 Mar 2019 22:10:16 +0000 (UTC) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Date: Sat, 16 Mar 2019 23:09:36 +0100 Message-Id: <20190316220937.18124-12-philmd@redhat.com> In-Reply-To: <20190316220937.18124-1-philmd@redhat.com> References: <20190316220937.18124-1-philmd@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.28]); Sat, 16 Mar 2019 22:10:21 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PULL 11/12] Makefile: install the edk2 firmware images and their descriptors X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Michael S . Tsirkin" , Laszlo Ersek , Michael Tokarev , Michal Privoznik , Igor Mammedov , =?utf-8?q?Philippe_Mathieu-Daud?= =?utf-8?b?w6k=?= Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Laszlo Ersek Decompress and install the edk2 firmware blobs as part of "make install", unless blob installation was disabled with configure's "--disable-blobs" option. Additionally, decompress the blobs as a pre-requisite for building softmmu binaries -- this is helpful for both "make check" and other ad-hoc tests one might want to run in the build directory. Signed-off-by: Laszlo Ersek Reviewed-by: Michal Privoznik Reviewed-by: Philippe Mathieu-Daudé Tested-by: Philippe Mathieu-Daudé Reviewed-by: Michael S. Tsirkin Tested-by: Igor Mammedov Message-Id: <20190313210057.32584-12-lersek@redhat.com> Signed-off-by: Philippe Mathieu-Daudé --- .gitignore | 1 + Makefile | 29 ++++++++++++++++++++++++++++- configure | 1 + 3 files changed, 30 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 8f78221804..fd6e6c38c7 100644 --- a/.gitignore +++ b/.gitignore @@ -97,6 +97,7 @@ *.gcno *.gcov /pc-bios/bios-pq/status +/pc-bios/edk2-*.fd /pc-bios/vgabios-pq/status /pc-bios/optionrom/linuxboot.asm /pc-bios/optionrom/linuxboot.bin diff --git a/Makefile b/Makefile index d8dad39c5d..6c5c1a1cad 100644 --- a/Makefile +++ b/Makefile @@ -296,6 +296,10 @@ ui/input-keymap-%.c: $(KEYCODEMAP_GEN) $(KEYCODEMAP_CSV) $(SRC_PATH)/ui/Makefile $(KEYCODEMAP_GEN): .git-submodule-status $(KEYCODEMAP_CSV): .git-submodule-status +edk2-decompressed = $(basename $(wildcard pc-bios/edk2-*.fd.xz)) +pc-bios/edk2-%.fd: pc-bios/edk2-%.fd.xz + $(call quiet-command,xz -d -c $< > $@,"UNXZ",$<) + # Don't try to regenerate Makefile or configure # We don't generate any of them Makefile: ; @@ -444,6 +448,7 @@ $(SOFTMMU_SUBDIR_RULES): $(block-obj-y) $(SOFTMMU_SUBDIR_RULES): $(crypto-obj-y) $(SOFTMMU_SUBDIR_RULES): $(io-obj-y) $(SOFTMMU_SUBDIR_RULES): config-all-devices.mak +$(SOFTMMU_SUBDIR_RULES): $(edk2-decompressed) subdir-%: $(call quiet-command,$(MAKE) $(SUBDIR_MAKEFLAGS) -C $* V="$(V)" TARGET_DIR="$*/" all,) @@ -632,6 +637,7 @@ clean: ! -path ./roms/edk2/ArmPkg/Library/GccLto/liblto-arm.a \ ! -path ./roms/edk2/BaseTools/Source/Python/UPT/Dll/sqlite3.dll \ -exec rm {} + + rm -f $(edk2-decompressed) rm -f $(filter-out %.tlb,$(TOOLS)) $(HELPERS-y) qemu-ga TAGS cscope.* *.pod *~ */*~ rm -f fsdev/*.pod scsi/*.pod rm -f qemu-img-cmds.h @@ -722,9 +728,14 @@ spapr-rtas.bin slof.bin skiboot.lid \ palcode-clipper \ u-boot.e500 u-boot-sam460-20100605.bin \ qemu_vga.ndrv \ +edk2-licenses.txt \ hppa-firmware.img + +DESCS=50-edk2-i386-secure.json 50-edk2-x86_64-secure.json \ +60-edk2-aarch64.json 60-edk2-arm.json 60-edk2-i386.json 60-edk2-x86_64.json else BLOBS= +DESCS= endif # Note that we manually filter-out the non-Sphinx documentation which @@ -785,7 +796,8 @@ endif ICON_SIZES=16x16 24x24 32x32 48x48 64x64 128x128 256x256 512x512 -install: all $(if $(BUILD_DOCS),install-doc) install-datadir install-localstatedir +install: all $(if $(BUILD_DOCS),install-doc) install-datadir install-localstatedir \ + $(if $(INSTALL_BLOBS),$(edk2-decompressed)) ifneq ($(TOOLS),) $(call install-prog,$(subst qemu-ga,qemu-ga$(EXESUF),$(TOOLS)),$(DESTDIR)$(bindir)) endif @@ -807,6 +819,21 @@ ifneq ($(BLOBS),) set -e; for x in $(BLOBS); do \ $(INSTALL_DATA) $(SRC_PATH)/pc-bios/$$x "$(DESTDIR)$(qemu_datadir)"; \ done +endif +ifdef INSTALL_BLOBS + set -e; for x in $(edk2-decompressed); do \ + $(INSTALL_DATA) $$x "$(DESTDIR)$(qemu_datadir)"; \ + done +endif +ifneq ($(DESCS),) + $(INSTALL_DIR) "$(DESTDIR)$(qemu_datadir)/firmware" + set -e; tmpf=$$(mktemp); trap 'rm -f -- "$$tmpf"' EXIT; \ + for x in $(DESCS); do \ + sed -e 's,@DATADIR@,$(DESTDIR)$(qemu_datadir),' \ + "$(SRC_PATH)/pc-bios/descriptors/$$x" > "$$tmpf"; \ + $(INSTALL_DATA) "$$tmpf" \ + "$(DESTDIR)$(qemu_datadir)/firmware/$$x"; \ + done endif for s in $(ICON_SIZES); do \ mkdir -p "$(DESTDIR)/$(qemu_icondir)/hicolor/$${s}/apps"; \ diff --git a/configure b/configure index 7071f52584..dc5876d09a 100755 --- a/configure +++ b/configure @@ -7863,6 +7863,7 @@ for bios_file in \ $source_path/pc-bios/*.img \ $source_path/pc-bios/openbios-* \ $source_path/pc-bios/u-boot.* \ + $source_path/pc-bios/edk2-*.fd.xz \ $source_path/pc-bios/palcode-* do LINKS="$LINKS pc-bios/$(basename $bios_file)" From patchwork Sat Mar 16 22:09:37 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 1057427 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 44MGrj4TDSz9s3q for ; Sun, 17 Mar 2019 09:12:01 +1100 (AEDT) Received: from localhost ([127.0.0.1]:46967 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h5HX5-0007Xq-Ai for incoming@patchwork.ozlabs.org; Sat, 16 Mar 2019 18:11:59 -0400 Received: from eggs.gnu.org ([209.51.188.92]:48863) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h5HWG-0007V4-Ue for qemu-devel@nongnu.org; Sat, 16 Mar 2019 18:11:09 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h5HVY-0005iW-Ii for qemu-devel@nongnu.org; Sat, 16 Mar 2019 18:10:25 -0400 Received: from mx1.redhat.com ([209.132.183.28]:49656) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1h5HVY-0005iD-9o for qemu-devel@nongnu.org; Sat, 16 Mar 2019 18:10:24 -0400 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id A0EC3C057F30; Sat, 16 Mar 2019 22:10:23 +0000 (UTC) Received: from x1w.redhat.com (ovpn-204-28.brq.redhat.com [10.40.204.28]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 7C61A1001E61; Sat, 16 Mar 2019 22:10:21 +0000 (UTC) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Date: Sat, 16 Mar 2019 23:09:37 +0100 Message-Id: <20190316220937.18124-13-philmd@redhat.com> In-Reply-To: <20190316220937.18124-1-philmd@redhat.com> References: <20190316220937.18124-1-philmd@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.32]); Sat, 16 Mar 2019 22:10:23 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PULL 12/12] MAINTAINERS: add the "EDK2 Firmware" subsystem X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Michael S . Tsirkin" , Michal Privoznik , Michael Tokarev , Laszlo Ersek , Igor Mammedov , =?utf-8?q?P?= =?utf-8?q?hilippe_Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Laszlo Ersek We now have the edk2 submodule, somewhat elaborate build helpers for it, and even a UEFI application written against edk2 whose genuine home is the QEMU repository. Add the "EDK2 Firmware" subsystem such that all relevant pathnames be covered. Suggested-by: Daniel P. Berrangé Suggested-by: Michael S. Tsirkin Suggested-by: Philippe Mathieu-Daudé Signed-off-by: Laszlo Ersek Reviewed-by: Michal Privoznik Tested-by: Igor Mammedov Reviewed-by: Philippe Mathieu-Daudé Tested-by: Philippe Mathieu-Daudé Reviewed-by: Michael S. Tsirkin Message-Id: <20190313210057.32584-13-lersek@redhat.com> Signed-off-by: Philippe Mathieu-Daudé --- MAINTAINERS | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index 0e7baa9aa2..0dc4fa9449 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -2210,6 +2210,18 @@ F: include/hw/i2c/smbus_master.h F: include/hw/i2c/smbus_slave.h F: include/hw/i2c/smbus_eeprom.h +EDK2 Firmware +M: Laszlo Ersek +M: Philippe Mathieu-Daudé +S: Supported +F: pc-bios/descriptors/??-edk2-*.json +F: pc-bios/edk2-* +F: roms/Makefile.edk2 +F: roms/edk2 +F: roms/edk2-* +F: tests/data/uefi-boot-images/ +F: tests/uefi-test-tools/ + Usermode Emulation ------------------ Overall