From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=192.55.52.115; helo=mga14.intel.com; envelope-from=jordan.l.justen@intel.com; receiver=edk2-devel@lists.01.org Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) (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 86C2A21A04E2F for ; Thu, 30 Nov 2017 10:55:51 -0800 (PST) Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 30 Nov 2017 11:00:15 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.45,341,1508828400"; d="scan'208";a="182116686" Received: from psethi-desk2.amr.corp.intel.com (HELO localhost) ([10.254.15.229]) by fmsmga005.fm.intel.com with ESMTP; 30 Nov 2017 11:00:15 -0800 MIME-Version: 1.0 To: Laszlo Ersek , edk2-devel-01 Message-ID: <151206841527.2995.813353909213222112@jljusten-skl> From: Jordan Justen In-Reply-To: <20171130163029.19743-1-lersek@redhat.com> Cc: Anthony Perard , Ard Biesheuvel , Julien Grall References: <20171130163029.19743-1-lersek@redhat.com> User-Agent: alot/0.6 Date: Thu, 30 Nov 2017 11:00:15 -0800 Subject: Re: [PATCH v2 0/8] OvmfPkg: add the Variable PEIM, defragment the UEFI memmap X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Nov 2017 18:55:51 -0000 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable As I recall, this enables a modest (non-essential) improvement in fragmentation, at the cost of more ways to configure OVMF to hang during boot. (With info available via debugcon.) I would prefer if were able to always fallback and continue boot. Later, after GOP has started we could visibly warn the user that they haven't properly enabled SMM and/or flash. If we had a way to do this, I would be in favor of displaying an error message and delaying for 30 seconds before booting if flash has not been enabled. (Or, if SMM was enabled in the build, but not set on the command line.) At that point, I think we could start to transition to making flash an boot requirement for OVMF. But first we need to be able to visibly warn the user why they are not able to boot. -Jordan On 2017-11-30 08:30:21, Laszlo Ersek wrote: > Repo: https://github.com/lersek/edk2.git > Branch: memmap_defrag_v2 > = > This version is identical to the v1 seres I posted in March. Some > patches of the v1 series have been committed. I've been rebasing and > using the rest since, and am now posting it as v2. References: > = > * https://bugzilla.tianocore.org/show_bug.cgi?id=3D386 > = > * http://mid.mail-archive.com/20170314233246.17864-1-lersek@redhat.com > https://lists.01.org/pipermail/edk2-devel/2017-March/008525.html > = > * http://mid.mail-archive.com/20170327080544.24748-1-jordan.l.justen@inte= l.com > https://lists.01.org/pipermail/edk2-devel/2017-March/009049.html > = > Cc: Anthony Perard > Cc: Ard Biesheuvel > Cc: Jordan Justen > Cc: Julien Grall > = > Thanks > Laszlo > = > Laszlo Ersek (8): > OvmfPkg: introduce PcdMemVarstoreEmuEnable feature flag > OvmfPkg/QemuFlashFvbServicesRuntimeDxe: check PcdMemVarstoreEmuEnable > OvmfPkg: conditionally disable reserved memory varstore emulation at > build > OvmfPkg: introduce FlashNvStorageAddressLib > OvmfPkg: include FaultTolerantWritePei and VariablePei > OvmfPkg/QemuFlashFvbServicesRuntimeDxe: don't set flash PCDs if SMM or > no-emu > OvmfPkg/PlatformPei: remedy UEFI memory map fragmentation > OvmfPkg/README: document MEM_VARSTORE_EMU_ENABLE and memmap defrag > = > OvmfPkg/Library/FlashNvStorageAddressLib/FlashNvStorageAddressLib.c | = 53 +++++++ > OvmfPkg/Library/FlashNvStorageAddressLib/FlashNvStorageAddressLib.inf | = 48 +++++++ > OvmfPkg/OvmfPkg.dec | = 6 + > OvmfPkg/OvmfPkgIa32.dsc | = 15 +- > OvmfPkg/OvmfPkgIa32.fdf | = 8 +- > OvmfPkg/OvmfPkgIa32X64.dsc | = 15 +- > OvmfPkg/OvmfPkgIa32X64.fdf | = 8 +- > OvmfPkg/OvmfPkgX64.dsc | = 15 +- > OvmfPkg/OvmfPkgX64.fdf | = 8 +- > OvmfPkg/PlatformPei/MemTypeInfo.c | = 151 ++++++++++++++++++++ > OvmfPkg/PlatformPei/Platform.c | = 26 +--- > OvmfPkg/PlatformPei/Platform.h | = 5 + > OvmfPkg/PlatformPei/PlatformPei.inf | = 3 + > OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesRuntimeDxe.inf | = 1 + > OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesSmm.inf | = 1 + > OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FwBlockService.c | = 58 +++++--- > OvmfPkg/QemuFlashFvbServicesRuntimeDxe/QemuFlash.c | = 1 + > OvmfPkg/README | = 10 ++ > 18 files changed, 385 insertions(+), 47 deletions(-) > create mode 100644 OvmfPkg/Library/FlashNvStorageAddressLib/FlashNvStora= geAddressLib.c > create mode 100644 OvmfPkg/Library/FlashNvStorageAddressLib/FlashNvStora= geAddressLib.inf > create mode 100644 OvmfPkg/PlatformPei/MemTypeInfo.c > = > -- = > 2.14.1.3.gb7cf6e02401b >=20