From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=209.132.183.28; helo=mx1.redhat.com; envelope-from=lersek@redhat.com; receiver=edk2-devel@lists.01.org Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 46734202E53B8 for ; Tue, 12 Feb 2019 22:13:30 -0800 (PST) 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 D735683F3A for ; Wed, 13 Feb 2019 06:13:29 +0000 (UTC) Received: from lacos-laptop-7.usersys.redhat.com (ovpn-120-136.rdu2.redhat.com [10.10.120.136]) by smtp.corp.redhat.com (Postfix) with ESMTP id 3B29C10021B6 for ; Wed, 13 Feb 2019 06:13:29 +0000 (UTC) From: Laszlo Ersek To: edk2-devel@lists.01.org References: <20190206121109.8776-1-lersek@redhat.com> Message-ID: Date: Wed, 13 Feb 2019 07:13:28 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <20190206121109.8776-1-lersek@redhat.com> 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]); Wed, 13 Feb 2019 06:13:29 +0000 (UTC) Subject: Re: [PATCH 00/14] ArmVirtPkg: clean up set-but-unused PCDs X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Feb 2019 06:13:30 -0000 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit On 02/06/19 13:10, Laszlo Ersek wrote: > Repo: https://github.com/lersek/edk2.git > Branch: armvirt_pcd_clean > > (1) The procedure described below depends on: > > [edk2] [PATCH] > BaseTools/BuildReport: fix report for platforms/arches without struct PCDs > > http://mid.mail-archive.com/20190205112213.682-1-lersek@redhat.com > https://lists.01.org/pipermail/edk2-devel/2019-February/036320.html > > (2) Background: while working on the fix in (1), I noticed that the PCD > sections in the build reports of various ArmVirt platforms contained > "PCDs not used by modules or in conditional directives". I thought > that we should attempt to clean those up. Subsequently I built the > following 36 ArmVirt platforms: > >> extra_opts=("" "-D HTTP_BOOT_ENABLE -D NETWORK_IP6_ENABLE -D SECURE_BOOT_ENABLE -D TTY_TERMINAL") >> for arch in ARM AARCH64; do >> for platform in Qemu QemuKernel Xen; do >> for target in NOOPT DEBUG RELEASE; do >> for extra in 0 1; do >> GCC5_ARM_PREFIX=arm-linux-gnu- \ >> GCC5_AARCH64_PREFIX=aarch64-linux-gnu- \ >> build \ >> -a $arch \ >> -p ArmVirtPkg/ArmVirt${platform}.dsc \ >> -t GCC5 \ >> -b $target \ >> -n $(getconf _NPROCESSORS_ONLN) \ >> --report-file=$HOME/tmp/report.$arch.$platform.$target.$extra.txt \ >> --report-type=PCD \ >> --cmd-len=65536 \ >> ${extra_opts[$extra]} >> done >> done >> done >> done > > Then I gradually eliminated the redundant PCD settings. > > (3) At the bottom of this email (i.e., the series cover letter), I'm > including a base64-encoded tarball of report files, saved (like > described in (2)) before and after the series. Diffing the reports > proves that the series cleans up the PCD settings without any > changes observable to modules. > > (4) The series advances in small steps. The reason is that some of the > facts exposed could be surprising (I know I was surprised), and we > could decide that we want to do something else (e.g. file a BZ, and > fill the gap later). For such cases I wanted to be able to drop > individual patches at will. > > Cc: Ard Biesheuvel > Cc: Julien Grall > > Thanks, > Laszlo > > Laszlo Ersek (14): > 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 > > ArmVirtPkg/ArmVirt.dsc.inc | 27 ++------------------ > ArmVirtPkg/ArmVirtQemu.dsc | 21 ++++++++++++--- > ArmVirtPkg/ArmVirtQemuKernel.dsc | 17 ++++++++---- > ArmVirtPkg/ArmVirtXen.dsc | 9 ------- > ArmVirtPkg/PrePi/ArmVirtPrePiUniCoreRelocatable.inf | 2 -- > 5 files changed, 31 insertions(+), 45 deletions(-) series pushed as 63d8431a49cb..da06a2a2fa1e thanks Laszlo