From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) (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 9051F2095D212 for ; Mon, 19 Jun 2017 11:08:20 -0700 (PDT) Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga105.jf.intel.com with ESMTP; 19 Jun 2017 11:09:41 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.39,362,1493708400"; d="scan'208";a="1162269446" Received: from awestwoo-mobl2.amr.corp.intel.com (HELO localhost) ([10.255.77.13]) by fmsmga001.fm.intel.com with ESMTP; 19 Jun 2017 11:09:38 -0700 MIME-Version: 1.0 To: Laszlo Ersek , edk2-devel-01 Message-ID: <149789577753.584.556612464247357262@jljusten-skl> From: Jordan Justen In-Reply-To: <20170608171333.17937-1-lersek@redhat.com> References: <20170608171333.17937-1-lersek@redhat.com> User-Agent: alot/0.5.1 Date: Mon, 19 Jun 2017 11:09:37 -0700 Subject: Re: [PATCH 0/5] OvmfPkg: recognize an extended TSEG when QEMU offers it 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, 19 Jun 2017 18:08:20 -0000 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable On 2017-06-08 10:13:28, Laszlo Ersek wrote: > In we found that > the SMM_REQUIRE build of OVMF cannot boot with as many VCPUs as we'd > like, due to SMRAM exhaustion (even with the largest TSEG, 8MB). > = > Related thread on edk2-devel: > . > = > The QEMU patch at > This patch hasn't been merged to qemu yet, right? Would you propose that we wait until this is merged to qemu master, or present in a qemu release before merging the OVMF support? At what point does qemu consider it an unchangable supported feature? -Jordan > adds a new device property / PCI config register to the Q35 board's DRAM > controller. The property allows the user (and new Q35 machine types by > default) to specify an arbitrary TSEG size (expressed as a number of > megabytes). The register enables the firmware to query the size / > availability of the feature. The extended size, when available, can be > selected by writing the "11" bitmask to the ESMRAMC.TSEG_SZ register > bit-field. This bitmask (similarly to the invented register's location > in PCI config space) is defined as reserved in the original Q35/MCH > spec. > = > This series adds support for the feature to OVMF. When an extended TSEG > is offered, OVMF will choose it. > = > The first four patches extract Q35TsegSizeLib, centralizing the > interpretation of ESMRAMC.TSEG_SZ between PlatformPei, SmmAccessPei and > SmmAccess2Dxe. This subset of patches incurs no observable change in > behavior. > = > The last patch implements the feature in Q35TsegSizeLib. > = > Repo: https://github.com/lersek/edk2.git > Branch: extended_tseg_bz1447027 > = > Cc: Jordan Justen > = > Thanks > Laszlo > = > Laszlo Ersek (5): > OvmfPkg: introduce Q35TsegSizeLib (class header and sole lib instance) > OvmfPkg/PlatformPei: rebase to Q35TsegSizeLib > OvmfPkg/SmmAccess: rebase code unique to SmmAccessPei to > Q35TsegSizeLib > OvmfPkg/SmmAccess: rebase shared PEIM/DXE code to Q35TsegSizeLib > OvmfPkg/Q35TsegSizeLib: recognize an extended TSEG when QEMU offers it > = > OvmfPkg/Include/IndustryStandard/Q35MchIch9.h | 4 + > OvmfPkg/Include/Library/Q35TsegSizeLib.h | 74 +++++++ > OvmfPkg/Library/Q35TsegSizeLib/Q35TsegSizeLib.c | 230 ++++++++++++++++= ++++ > OvmfPkg/Library/Q35TsegSizeLib/Q35TsegSizeLib.inf | 47 ++++ > OvmfPkg/OvmfPkg.dec | 13 +- > OvmfPkg/OvmfPkgIa32.dsc | 1 + > OvmfPkg/OvmfPkgIa32X64.dsc | 1 + > OvmfPkg/OvmfPkgX64.dsc | 1 + > OvmfPkg/PlatformPei/MemDetect.c | 7 +- > OvmfPkg/PlatformPei/PlatformPei.inf | 2 +- > OvmfPkg/SmmAccess/SmmAccess2Dxe.inf | 1 + > OvmfPkg/SmmAccess/SmmAccessPei.c | 7 +- > OvmfPkg/SmmAccess/SmmAccessPei.inf | 4 +- > OvmfPkg/SmmAccess/SmramInternal.c | 13 +- > 14 files changed, 384 insertions(+), 21 deletions(-) > create mode 100644 OvmfPkg/Include/Library/Q35TsegSizeLib.h > create mode 100644 OvmfPkg/Library/Q35TsegSizeLib/Q35TsegSizeLib.c > create mode 100644 OvmfPkg/Library/Q35TsegSizeLib/Q35TsegSizeLib.inf > = > -- = > 2.9.3 >=20