From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: redhat.com, ip: 209.132.183.28, mailfrom: philmd@redhat.com) Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by groups.io with SMTP; Tue, 24 Sep 2019 04:41:46 -0700 Received: from mail-wr1-f70.google.com (mail-wr1-f70.google.com [209.85.221.70]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id E2892C057FA6 for ; Tue, 24 Sep 2019 11:41:45 +0000 (UTC) Received: by mail-wr1-f70.google.com with SMTP id j3so468378wrn.7 for ; Tue, 24 Sep 2019 04:41:45 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:openpgp:message-id :date:user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=Hhy91DENYvEDyxPMr/Lp1koo/fr315pYaytMbA9ZBNw=; b=SFkloPLtKZafqe/B1VzxG4rkr4v/KxylzGfOvNIYmq7q72vo/Ke0rh9Q9s74Kvvujg SVIjR6lu5Ql15/PYjVmT1tPlnC+9s3QTotRU5L0xVk62C6wjhOe5AGlit3RXbOp9W9Sr XcRzal/VEhIB8EFlhecGyNr1TKgU0WSBm/D71hhFg746tUDNu+1Qklw4B09KjAQGzqd1 TUX9ljqk4+BX3YGwdTNTO8C5Ga0JeH0e3Tnt+vttQCquposw4bdyeCF18Tv7RM9PXenx UQ0rIcVvPS41o5Z3OCtIRaU1dtxJGheV2rPW7jfHZ2z7A5xgkaOSSsQFHSuiUpszz3Xr Jgpg== X-Gm-Message-State: APjAAAW1/QZ4qsjjfoz7C3aJb7gu2ln/I+ve5CLKfJjkkP3IfkicBCFZ QRn5qhxTj7qvXNIIPKYnlQkRyF7H59HPGmV+ECnw3Pd9AJ4MJCWHj5bp0zohh5jtiblag8Yqb6E 0lXrvm3LkLfZLAA== X-Received: by 2002:a5d:5552:: with SMTP id g18mr1898808wrw.386.1569325304004; Tue, 24 Sep 2019 04:41:44 -0700 (PDT) X-Google-Smtp-Source: APXvYqx1yXg9zYRlodF7/8Rlu+WBu2ms5nawLzSRbL5evLeJH9oz3UpQ3NFspAJXMyCJr++lH+s0IQ== X-Received: by 2002:a5d:5552:: with SMTP id g18mr1898796wrw.386.1569325303816; Tue, 24 Sep 2019 04:41:43 -0700 (PDT) Received: from [192.168.1.115] (240.red-88-21-68.staticip.rima-tde.net. [88.21.68.240]) by smtp.gmail.com with ESMTPSA id d9sm3168505wrf.62.2019.09.24.04.41.42 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 24 Sep 2019 04:41:43 -0700 (PDT) Subject: Re: [edk2-devel] [PATCH wave 1 04/10] OvmfPkg/PlatformPei: factor out Q35BoardVerification() To: devel@edk2.groups.io, lersek@redhat.com Cc: Ard Biesheuvel , Boris Ostrovsky , Brijesh Singh , Igor Mammedov , Jiewen Yao , Joao M Martins , Jordan Justen , Jun Nakajima , Michael Kinney , Paolo Bonzini , Phillip Goerl , Yingwen Chen References: <20190924113505.27272-1-lersek@redhat.com> <20190924113505.27272-5-lersek@redhat.com> From: =?UTF-8?B?UGhpbGlwcGUgTWF0aGlldS1EYXVkw6k=?= Openpgp: id=89C1E78F601EE86C867495CBA2A3FD6EDEADC0DE; url=http://pgp.mit.edu/pks/lookup?op=get&search=0xA2A3FD6EDEADC0DE Message-ID: <453a3363-aac9-2400-760a-e6d8f7565c4e@redhat.com> Date: Tue, 24 Sep 2019 13:41:41 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.0 MIME-Version: 1.0 In-Reply-To: <20190924113505.27272-5-lersek@redhat.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit On 9/24/19 1:34 PM, Laszlo Ersek wrote: > Before adding another SMM-related, and therefore Q35-only, dynamically > detectable feature, extract the current board type check from > Q35TsegMbytesInitialization() to a standalone function. > > Cc: Ard Biesheuvel > Cc: Boris Ostrovsky > Cc: Brijesh Singh > Cc: Igor Mammedov > Cc: Jiewen Yao > Cc: Joao M Martins > Cc: Jordan Justen > Cc: Jun Nakajima > Cc: Michael Kinney > Cc: Paolo Bonzini > Cc: Phillip Goerl > Cc: Yingwen Chen > Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1512 > Signed-off-by: Laszlo Ersek > --- > OvmfPkg/PlatformPei/MemDetect.c | 13 +---------- > OvmfPkg/PlatformPei/Platform.c | 23 ++++++++++++++++++++ > 2 files changed, 24 insertions(+), 12 deletions(-) > > diff --git a/OvmfPkg/PlatformPei/MemDetect.c b/OvmfPkg/PlatformPei/MemDetect.c > index d451989f31c9..58b171fba1c8 100644 > --- a/OvmfPkg/PlatformPei/MemDetect.c > +++ b/OvmfPkg/PlatformPei/MemDetect.c > @@ -53,18 +53,7 @@ Q35TsegMbytesInitialization ( > UINT16 ExtendedTsegMbytes; > RETURN_STATUS PcdStatus; > > - if (mHostBridgeDevId != INTEL_Q35_MCH_DEVICE_ID) { > - DEBUG (( > - DEBUG_ERROR, > - "%a: no TSEG (SMRAM) on host bridge DID=0x%04x; " > - "only DID=0x%04x (Q35) is supported\n", > - __FUNCTION__, > - mHostBridgeDevId, > - INTEL_Q35_MCH_DEVICE_ID > - )); > - ASSERT (FALSE); > - CpuDeadLoop (); > - } > + ASSERT (mHostBridgeDevId == INTEL_Q35_MCH_DEVICE_ID); > > // > // Check if QEMU offers an extended TSEG. > diff --git a/OvmfPkg/PlatformPei/Platform.c b/OvmfPkg/PlatformPei/Platform.c > index 3ba2459872d9..ca6d37cb1549 100644 > --- a/OvmfPkg/PlatformPei/Platform.c > +++ b/OvmfPkg/PlatformPei/Platform.c > @@ -563,6 +563,28 @@ S3Verification ( > } > > > +VOID > +Q35BoardVerification ( > + VOID > + ) > +{ > + if (mHostBridgeDevId == INTEL_Q35_MCH_DEVICE_ID) { > + return; > + } > + > + DEBUG (( > + DEBUG_ERROR, > + "%a: no TSEG (SMRAM) on host bridge DID=0x%04x; " > + "only DID=0x%04x (Q35) is supported\n", > + __FUNCTION__, > + mHostBridgeDevId, > + INTEL_Q35_MCH_DEVICE_ID > + )); > + ASSERT (FALSE); > + CpuDeadLoop (); > +} > + > + > /** > Fetch the number of boot CPUs from QEMU and expose it to UefiCpuPkg modules. > Set the mMaxCpuCount variable. > @@ -646,6 +668,7 @@ InitializePlatform ( > mHostBridgeDevId = PciRead16 (OVMF_HOSTBRIDGE_DID); > > if (FeaturePcdGet (PcdSmmSmramRequire)) { > + Q35BoardVerification (); > Q35TsegMbytesInitialization (); > } > > Reviewed-by: Philippe Mathieu-Daude