From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) (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 AB5C521BC6A23 for ; Mon, 27 Mar 2017 01:08:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=intel.com; i=@intel.com; q=dns/txt; s=intel; t=1490602133; x=1522138133; h=from:to:cc:subject:date:message-id; bh=SNo0OaElvugis0VYakfNiPufKYZDqKGCj67UUDIOM/s=; b=AtNLfUAmLpJVn6lnGDcMinNb1zhETrZdoZRiMF4jwLet5bpPi5RK5X4L p6vDJ7YdU8TAVGBjpq8WROiTGxDVZA==; Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 27 Mar 2017 01:08:52 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.36,229,1486454400"; d="scan'208";a="80948318" Received: from junghyun-mobl.amr.corp.intel.com (HELO jljusten-skl.amr.corp.intel.com) ([10.252.131.12]) by fmsmga005.fm.intel.com with ESMTP; 27 Mar 2017 01:08:51 -0700 From: Jordan Justen To: edk2-devel@lists.01.org Cc: Jordan Justen Date: Mon, 27 Mar 2017 01:05:32 -0700 Message-Id: <20170327080544.24748-1-jordan.l.justen@intel.com> X-Mailer: git-send-email 2.11.0 Subject: [PATCH 00/12] OvmfPkg: Enable variable access in PEI 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: Mon, 27 Mar 2017 08:08:53 -0000 web: https://github.com/jljusten/edk2/tree/pei-vars-v1 git: https://github.com/jljusten/edk2.git pei-vars-v1 This series moves flash detection into PEI to allow the PEI variable access drivers to run. If flash is writable, the PCDs are set to point at the flash memory. If flash is not writable, the PCDs are set to point at a memory buffer. I tested KVM with ROM and writable flash, with S3 sleep/resume. I did not test SMM. Jordan Justen (10): OvmfPkg/build.sh: Add support for --disable-flash switch OvmfPkg QemuFlash: Make QemuFlash.* Base class safe OvmfPkg QemuFlash: Make QemuFlashDetected external OvmfPkg QemuFlash: Add DetectFlashBaseLib.inf 'NULL' library OvmfPkg PlatformPei: Detect and set PcdOvmfFlashVariablesEnable OvmfPkg/EmuVariableFvbRuntimeDxe: Use PcdOvmfFlashVariablesEnable OvmfPkg PlatformPei: Set flash variable PCDs OvmfPkg PlatformPei: Initialize memory based variable store buffer OvmfPkg: Enable PEI variable access OvmfPkg QemuFlashFvbServicesRuntimeDxe: Cleanup init now done in PEI Laszlo Ersek (2): OvmfPkg: resolve PcdLib for all PEIMs individually OvmfPkg: resolve PcdLib for PEIMs to PeiPcdLib by default OvmfPkg/EmuVariableFvbRuntimeDxe/Fvb.c | 4 +- OvmfPkg/EmuVariableFvbRuntimeDxe/Fvb.inf | 3 +- OvmfPkg/OvmfPkgIa32.dsc | 27 +- OvmfPkg/OvmfPkgIa32.fdf | 5 +- OvmfPkg/OvmfPkgIa32X64.dsc | 27 +- OvmfPkg/OvmfPkgIa32X64.fdf | 5 +- OvmfPkg/OvmfPkgX64.dsc | 27 +- OvmfPkg/OvmfPkgX64.fdf | 5 +- OvmfPkg/PlatformPei/Platform.c | 34 +-- OvmfPkg/PlatformPei/Platform.h | 7 +- OvmfPkg/PlatformPei/PlatformPei.inf | 11 +- OvmfPkg/PlatformPei/Vars.c | 283 +++++++++++++++++++++ .../DetectFlashNullLib.c | 41 +++ .../DetectFlashNullLib.inf | 60 +++++ .../FvbServicesRuntimeDxe.inf | 4 - .../FvbServicesSmm.inf | 4 - .../FwBlockService.c | 28 +- OvmfPkg/QemuFlashFvbServicesRuntimeDxe/QemuFlash.c | 59 +++-- OvmfPkg/QemuFlashFvbServicesRuntimeDxe/QemuFlash.h | 30 ++- OvmfPkg/build.sh | 10 +- 20 files changed, 530 insertions(+), 144 deletions(-) create mode 100644 OvmfPkg/PlatformPei/Vars.c create mode 100644 OvmfPkg/QemuFlashFvbServicesRuntimeDxe/DetectFlashNullLib.c create mode 100644 OvmfPkg/QemuFlashFvbServicesRuntimeDxe/DetectFlashNullLib.inf -- 2.11.0