From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: 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 AB23121BB2535 for ; Fri, 16 Jun 2017 01:14:33 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 347F780477; Fri, 16 Jun 2017 08:15:51 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 347F780477 Authentication-Results: ext-mx04.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx04.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=lersek@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 347F780477 Received: from lacos-laptop-7.usersys.redhat.com (ovpn-116-31.phx2.redhat.com [10.3.116.31]) by smtp.corp.redhat.com (Postfix) with ESMTP id 8E22817CFA; Fri, 16 Jun 2017 08:15:50 +0000 (UTC) From: Laszlo Ersek To: Jordan Justen Cc: edk2-devel-01 References: <20170608171333.17937-1-lersek@redhat.com> Message-ID: <9b1a8e32-7d8a-4818-22a8-85011313b1ea@redhat.com> Date: Fri, 16 Jun 2017 10:15:49 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.0 MIME-Version: 1.0 In-Reply-To: <20170608171333.17937-1-lersek@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.28]); Fri, 16 Jun 2017 08:15:51 +0000 (UTC) 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: Fri, 16 Jun 2017 08:14:33 -0000 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Jordan, On 06/08/17 19:13, 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 > > 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 Can you please review this set? 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 >