From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM03-DM3-obe.outbound.protection.outlook.com (mail-dm3nam03on0617.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe49::617]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id A68CB21A13493 for ; Thu, 11 May 2017 11:21:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector1-amd-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=hYiaq4et4s4AuWlik5a1cojfsBcxtdzDTxKJ6Ha6J0o=; b=Sxvgj8vDcZBPMLm5evcEoS9l4aVbtfxePuyVxFt3daexzumGGgubG6DjzlTnuGvl1a7UvVew5oAUnYeQr6RsJSu1WY8dXIu69wDoQdW0rMmYG3qPhB328ZeWVJRr27XFqQcUC5DchsDSqM+399V2VTl0OaLOC6eZsxqCxi4/LTU= Authentication-Results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=amd.com; Received: from [10.236.136.62] (165.204.77.1) by DM2PR12MB0156.namprd12.prod.outlook.com (10.161.145.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1075.11; Thu, 11 May 2017 18:21:32 +0000 To: Laszlo Ersek , References: <1494454162-9940-1-git-send-email-brijesh.singh@amd.com> <1494454162-9940-10-git-send-email-brijesh.singh@amd.com> <08fc7dad-dc56-7b2e-ed71-9764986491a0@redhat.com> CC: , , , Jordan Justen From: Brijesh Singh Message-ID: <7340c3d3-a998-0c98-0b6d-fad8e972cc6c@amd.com> Date: Thu, 11 May 2017 13:21:29 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: <08fc7dad-dc56-7b2e-ed71-9764986491a0@redhat.com> X-Originating-IP: [165.204.77.1] X-ClientProxiedBy: MWHPR2201CA0046.namprd22.prod.outlook.com (10.172.59.20) To DM2PR12MB0156.namprd12.prod.outlook.com (10.161.145.19) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 461dcdab-b886-4187-1508-08d4989a8dcb X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(48565401081)(201703131423075)(201703031133081); SRVR:DM2PR12MB0156; X-Microsoft-Exchange-Diagnostics: 1; DM2PR12MB0156; 3:ZzJdokR1Ntc3iydflsfxZf9DjlZWLsQQtxUPk9FHvMH1AsuhvFMwL3qziNSWqHV4C5CTZsK7fwm8U1wrC+qqY0W+dkAAeupeKpcQMIawWrJpOWKY1EyHkc9ZCT//+TlAof7BKs7ksR+Ut0EzfRO3VhfSLF6OpDgqWi0zh4IODnwqpsIPCAJZ4/X7ZNIJiDZIE6+0aJ8MfuQjleH3q1ITxf9rhZDXfEj1Gy04010No0DQHU4opb6JbQVsHsAvjnEvYu56payJneNA94zVlBuCDjPwV0QVGEmJNKND2JsbVffUQTaRpW587h8S7OEisT/WqxNzVm9z3TmFAyO3V0olBPSce5eSE+knW2lXPF530LQ=; 25:BFBzOH/nh+uzOf6SA08LPsp7YLFd9UVGLjQh2jog9DmdZ9bDmO5M6YUwIzhm30VWoQaBRHKerxlhn4I3tO/uW180K42lnj37fVhowD8lfBBPm6Ma6VmrQtd4+UT8w5px1DLP0+TOpFshC3Lhk48YlF1sGrxdOwWB8QZDpaGv9+bVmARkkX8qQW+hPeLcKaCC4qNoh+P+s6UAG1eSjQXeeYjeEfLb5H93q7zHnKAercTZv5YUeAb76Dyb7G2baGadIVZ4SZQwCKmABYNKFN/8pCFD3YOUdHwN8xOZWPzpwPKDA/z/vlPd99PAUhvcXW6eubz3JxDmGo8dR3SNI608/3EqA0UIEUysYDRQdQqCZZj85g1siqyxRyvqoyhLe2Eg0bBjDHu7pNvzTkW1Ab6JnkhRTEkkDXaieLacv7RE+njt9qpzOQbB/i2XCE6r9JBaSVm913umMX2CELLM+rllDmYft24e+08mzCjCA7fPWqM= X-Microsoft-Exchange-Diagnostics: 1; DM2PR12MB0156; 31:APK8tDbOF42JTglNX40QUpBcHpO+/o7yobuniyvl7+gnSfAWLq+3nk9sgsdfFLpj+zthi9D70vhJ8/BvvAkSu95coZedAMaHdd79C4pw+Lat6EUlkRfU7Jar/VoTxOnWjJicJzaLLiht9bo2vrruD4CcMyw/5S5/3YqKre1LoRKrb5Wz85gkej7kfliG06/yzq8yCTWNT3bCaJFgd30H3mZ1s22hxsZA/3FM095O94U=; 20:RZaQLcHkJ/N+IP2Q6ZANqij7GOiJuT/1vXCj2I64PYINg0uSz9K5w5ZDin9y3tiIOZEFQ9pYAIJ5qs1x68OA97cvzfvnUFZwH78etnYq3g9A7ldxjPamoBbFZD1UhWY2E0Xr76D1Sfh5y+kVj6lzByDBfP11q3Qh69CPcuxcokMeK0R6UYFT5+NHUeYsIXZTwNcWkljtO1BOQRnHxLAKrGUnC1KU7ZQB7+Wvu4ZX5s85RwpNmSiPrSEMxiSCtstjs3hhb9uBRXqO8DA1u1zK7z+318cpSa8guhZdUJ7oyrL2b/bmDZbHcl8E/rCRa5DFJcKOhPMwNNMvMKZxPvzFBBbdzUpvRJG8haKQWh7UrV4DeWHF830A8JDYOW7HXMTgc2RCb0dhzHjjznB4jtjy/3MOVHmquOHJtP7DeHBddn6FKRo5WmdYIunSvtmLZKMX86zFncN86iuvXZb8zbU31byq697yxExQlCHtuwVFlpigsge6v7cCpBGr2DQskk8V X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(767451399110)(228905959029699); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040450)(601004)(2401047)(5005006)(8121501046)(3002001)(93006095)(93001095)(10201501046)(6055026)(6041248)(20161123558100)(20161123564025)(20161123560025)(20161123562025)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148); SRVR:DM2PR12MB0156; BCL:0; PCL:0; RULEID:; SRVR:DM2PR12MB0156; X-Microsoft-Exchange-Diagnostics: 1; DM2PR12MB0156; 4:F6pGN96nAq015iw7GnTp5NFHe7PEoQ8Fb56V7z/xl2wKFefwbiB9jpd0kz+0vz0pwV/fL6b6NVdm8GmKHvwv7Kx36f92G4PcFztQoKt80SbGJlNGossH8yJccQBzJ4oQAq/JJu/s8h8IlzuxofQW4WjFosnL7rn4fpicQN/L0Uu1RPc4ru0R8hgZjrXJ9oRAJ9dDRgumaxxrFeVJl9A+EEhyt0OV4hmsixAjND8OkQRP+0SiheLrqXRvU0lYK7VbTLEZYir6wSIcFfUG2hizKrlZgxVL4D9quyKanaE/UoYch3RJsOZ4bElrxdVkdSQi/F3a7AcJOARiKRf4qRX1sYmKXg1Mz6s9JI1XIGR32xTIt69DrB14h2ouJyEnRaeuvQO75Ehk34U7RuFtHyON6BW79QuX0eDh23O4BmfpwSqi5POGZKYJOwq7Ee+2OUMm1aWlNAYiH/aflX2OUqnBC3+LCZpwSKoe7qwwd1KPr2vNY8vFnSCqeGTsmF9es9nVz8SUX0Gd9AAwUYXM47Q1li0qRPo6tluVTe2ubmawe8JQqh1IHxPqsYQF/RHUu6AEFrnoA4Y2uAw6eUwjIHkKQ9z7J53iFZKcmEp84Yap45bopD+MPFwiFvhlQn8cZjRHeVLZjcjLRjSf1GwRkzpsMCy5zOCWprU1Mlf8Du/FQxXDJa3aywNwr24coPTclYjcs2G2WHy6EwrRqNeNSX7x2Bs+WQ5lTwOgvg+17DPzbZ0VVacUpOz6KFsT48hNvxJWUNtH0xrNaUHGP+YYlsRQLmPMKbNwOwPe7Q403Nrxaln0Bcfivqcn5p0msxKWyEi5lYA2a4SiFUU+32popZ3F3/VLjpKQEPlib/H7EDS4R7g4DChGLw4bHU7M/Qa3+b2Y X-Forefront-PRVS: 0304E36CA3 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(6029001)(6049001)(39450400003)(39410400002)(39400400002)(39850400002)(39860400002)(39840400002)(24454002)(377454003)(50986999)(31686004)(229853002)(478600001)(42186005)(2950100002)(6666003)(23746002)(54356999)(76176999)(5660300001)(47776003)(65826007)(81166006)(8676002)(305945005)(7736002)(36756003)(65806001)(65956001)(66066001)(33646002)(189998001)(31696002)(6486002)(77096006)(90366009)(83506001)(3846002)(50466002)(6116002)(4001350100001)(86362001)(575784001)(2906002)(54906002)(53936002)(230700001)(6246003)(25786009)(53546009)(6306002)(38730400002)(64126003)(4326008)(19627235001); DIR:OUT; SFP:1101; SCL:1; SRVR:DM2PR12MB0156; H:[10.236.136.62]; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1; DM2PR12MB0156; 23:llxq1/dYd36Q3zuDmLm9n3WGei6xgHNUKmwYv?= =?Windows-1252?Q?77B/u3narfO78TmHV94xBEgbWgm8DFOPK9+SbsiBiXF9rUFOsCNmpUbC?= =?Windows-1252?Q?aVIW6qcn73+7UQWlYol8JlUXxY9YdQkicGM+Z3bHPWZ/fTrDdQsPOy1Y?= =?Windows-1252?Q?v/mozuT/lcixZIw0v821k9c7BSVu9JLRF4d+5fuV60aYJrPz7uKZzGKv?= =?Windows-1252?Q?B+28QHzQ6+GmhYu7ircq699+His0Cqm6nfQVGPkWzloD2en3c5BSXcA5?= =?Windows-1252?Q?zbop74CHjrfOOzYq9TOMQMSitkJOy2cQFC8TVVNdk3lkGhM4JjbIL/I0?= =?Windows-1252?Q?FhCrVKnVoYCF3v/osvYhHaqleDJLos0QgGnSom0stNl6fob+ZdSWseXm?= =?Windows-1252?Q?QDEvraWoJcj/CLaB2U+kmNzffpBDz82x3J6eVzF1CW0qdn63SkKeDtmD?= =?Windows-1252?Q?hC6vFKvm3p5wxdIl/zwQcPDjqVnpmPExvhowHSWyg7eID6d1IdT/VPCK?= =?Windows-1252?Q?o2fLJxaSlrtiJWzeV9JamGEGxPv2aHu1MmxrnfRFCcLtweVVEyIXy4KL?= =?Windows-1252?Q?2NrDeb5gnz0TyLSBDrG5tSorrGJLBV9fRyHf3ngaEGfnv0tVhXjKiU2/?= =?Windows-1252?Q?h0R8aMfsjm3YraKD3gUnUw0EOh+UXvWHeHDm5EzT2XGXoyyY2Zi937Xb?= =?Windows-1252?Q?zuuNAi5BZRjY3mnoxNH3foaYrj5lpkptXno7kEStyNDUJhDzbtlVGfv9?= =?Windows-1252?Q?Bkh7J/c4YoD5G94IThtzpOhnJwvHtBuogpK04vJj/SoS3I1EqKkAyBWv?= =?Windows-1252?Q?sl7FeFSePj21xok2yayvPduGkPytL90mzEgyF7Sqi362QZUBTp19sKR1?= =?Windows-1252?Q?oFEQqt8kdLlGXpLlNNS+rzg3/V1LoXYul9gYj13ARu74m7rm4FpNUdQY?= =?Windows-1252?Q?7blMBgV1TZ70XMsJglQS5Argj3WBZYEsZdfA5XTQrmdMxfFOn/6bAfpH?= =?Windows-1252?Q?wQEdug+Tpg4+wg7or48aWuV5ayofLGwIQrBMHuNb4JupLtsLdBkDPdwg?= =?Windows-1252?Q?EZ5HCOYEd48dIR94xeJYbDaPhaz+fdpp5/V6TJYXYkfLR7dXSEcGLvMS?= =?Windows-1252?Q?o9kZDDqrMAb84uQ7pkeJor1mKwUBVsq9VR4MCSxj4OqMlk2len0VeCOf?= =?Windows-1252?Q?jh60k7fOlIRAlJ4c1q0PY1v6cXdZNc6xn3P9+Ca6UCHSPetR7wkLWcNU?= =?Windows-1252?Q?1rE78ME0zXxY6cxRo812Kl/nch+wUvxdHf+HdKMmAAWum+5BQfMUFOaz?= =?Windows-1252?Q?9yaA9JdbwxrMKvDf3Bhf1u/ZiZkLnG3St2zHAH0Nfz7Vy8xlig4byFrn?= =?Windows-1252?Q?oL2V1ZBgCdpDabooD2KgnDJI5f7Y+4goKhIu9zyPiJdPpiECyDL+gmFS?= =?Windows-1252?Q?rghh1CMqP0G5rOxM5fBWGLqmfU36SnhQztC2s1buYCqmys8ypM2d4bEB?= =?Windows-1252?Q?iMvSUKJICq845X2UkAdKYvBDRg1wq+/Yd3+/F2kyse7pBcD8g=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; DM2PR12MB0156; 6:mzZXjHuDijaWJ36iCjVEB523jVTTFgZtIssIYdHFee8pcJcSr/dpY87CZErDks8aFtD+r4tegQoFjul7A0DrVVjaiFOZ7H+JgWYlz6on5HIfl0b1OLz7HhwW+WWXHvl3YaV8yLuxRXIYzJu2WCYOSli14wCX2Cv6wnYhm9opR54ahDx/39M9hEEEisz4UXtQJujtE39fSwvbHe8pWVqMyDUwCLQKiJuh5DPomByDom1Udw4KUB2UNa1ejQ1qaNk/B5m3FXr9WkeEkG5ZHomyqIkPJ6JJ+T/8v7Eevw1Lz/vtjKn8MmX2/yDAKlgl+Drj4lFPs+b01KB5RfZ5RsQXygsu0PFiU6uPYsMoBYJQQ0ErkEjji16ZH/YgE6JGVUhYXqlsXZ7nMxU838qs7htcVFBvRymHVryZVUDUyPYnspct8nTCV+1oMPgRvZsPS4AfhVf999Cd+nR5A3dYWCyBjybmlbI9otGqxyW9fKmMvUnM3myiP9wgYsksl9ICAtN3pfJ1p5eqgyLE+5WxPgKHq0rwvQY/wRvs6M8qdOuPI5w=; 5:1QcmssUTkvqS7ftvoqJMli3jsU4u+28bjqM8xLi4908yQ+Cg43L2ub81Zc9hixqPEGTWGX+XgWOXBmZN3ky22nnpXV8oAqAlbDw6PYIr/MoTkLaswpAr2cTdKBGSz5O5LCitpPMYnKweG4XOgbF4CQ==; 24:OQSK7xTiQnKSFAjPHJB8WHdbtlGX5LjIU+TpqIaSl7VizbFY5zQCn2W/HiiEU6Kxzy0a6dtDRWCkp1GrvhoZgVpf1IwqeW7wKT65hQF8HFw= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM2PR12MB0156; 7:YBC6jtBeJAkAv1Oh/J+3pdJijaXqcYycjn0icTsbRpGwEtm68/+0i+5g8xt1HN4NVcEjjc5dbL23foYrbnCLsZF+crOGkfUuGNUEVdNrcyxAo4h7JSNfcbrfp3T6QOvQ4vFgUQG7knxQ6Btg1UwkZr60u+HC76QMIJj2YzL9fZ5dGBsonJu3KJhCdBpTurJl8pvMYkLGvqZ7RaqpWxEvn6/tt6BvH4iXEH3zIpO8OXbruYhMrxUjdpH3oN6OCUi0y7twH22KHA/APgu1VRbu6AG4R7WXXevG+XyNrr/4dB5EgSjDhrX2axUnwHdMs3Yo9Amjm6zWNFIVn3tGRG5Lfg==; 20:ZUhFoqdlkm1pLK3pOpwqnRDBvpxEcJv2DDNWTDEQNEbmG3Jriw//50yInPDwINMB4ht1qw+XZkDMuFK3LbIGH/9nXrvXp57o6nVdW5dlIQdaGwgv8qysvkwqwu+oR6V6sQESN71Xejp+C/4zilV2+ExjN/jIqnZ+mJucqIrqu+iLmIYYQcQxJwHakAsSz91kmZ/XlENVzB5Vwt86dHtryvejLPKEbff3Iu6Hf5mRlhFm0TJhduS/Te7YayzxrePz X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 May 2017 18:21:32.9908 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM2PR12MB0156 Subject: Re: [RFC v4 09/13] OvmfPkg/QemuFwCfgLib: Implement SEV internal function for SEC phase 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, 11 May 2017 18:21:37 -0000 Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit On 05/11/2017 11:24 AM, Laszlo Ersek wrote: > On 05/11/17 00:09, Brijesh Singh wrote: >> Cc: Jordan Justen >> Cc: Laszlo Ersek >> Contributed-under: TianoCore Contribution Agreement 1.0 >> Signed-off-by: Brijesh Singh >> --- >> OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgSecLib.inf | 1 + >> OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgSec.c | 57 ++++++++++++++++++++ >> 2 files changed, 58 insertions(+) >> >> diff --git a/OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgSecLib.inf b/OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgSecLib.inf >> index 7a96575d1851..b782ac6c0aa2 100644 >> --- a/OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgSecLib.inf >> +++ b/OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgSecLib.inf >> @@ -45,4 +45,5 @@ [LibraryClasses] >> DebugLib >> IoLib >> MemoryAllocationLib >> + MemEncryptSevLib > > This will not compile. More below. > >> >> diff --git a/OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgSec.c b/OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgSec.c >> index 465ccbe90dad..cd04cc814063 100644 >> --- a/OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgSec.c >> +++ b/OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgSec.c >> @@ -6,6 +6,7 @@ >> >> Copyright (C) 2013, Red Hat, Inc. >> Copyright (c) 2011 - 2013, Intel Corporation. All rights reserved.
>> + Copyright (c) 2017, Advanced Micro Devices. All rights reserved.
>> >> This program and the accompanying materials are licensed and made available >> under the terms and conditions of the BSD License which accompanies this >> @@ -18,6 +19,7 @@ >> >> #include >> #include >> +#include >> >> #include "QemuFwCfgLibInternal.h" >> >> @@ -94,3 +96,58 @@ InternalQemuFwCfgDmaIsAvailable ( >> { >> return FALSE; >> } >> + >> +/** >> + >> + Returns a boolean indicating whether SEV is enabled >> + >> + @retval TRUE SEV is enabled >> + @retval FALSE SEV is disabled >> +**/ >> +BOOLEAN >> +InternalQemuFwCfgSevIsEnabled ( >> + VOID >> + ) >> +{ >> + return MemEncryptSevIsEnabled (); >> +} > > So, this is not right. We have one instance of MemEncryptSevLib, namely > BaseMemEncryptSevLib. It uses / needs writeable static variables, > therefore it is not usable in SEC phase modules. QemuFwCfgSecLib.inf is > restricted to SEC type client modules, so the above function call would > not work. > > Thankfully, this patch won't even compile (showcasing that the edk2 > build system works fine). Namely, corresponding to the writeable static > variable requirement in BaseMemEncryptSevLib, we restricted that library > instance to the following client module types: > > PEIM DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER UEFI_DRIVER > > Whereas, QemuFwCfgSecLib.inf itself is restricted to SEC. > > The result is, if you try to build QemuFwCfgSecLib.inf into a SEC > module, the client module type restrictions inherited from > BaseMemEncryptSevLib will cause a build conflict. Otherwise, if you try > to build QemuFwCfgSecLib.inf into, say, a PEIM, then > QemuFwCfgSecLib.inf's own SEC restriction will cause a build conflict. > > So this patch cannot compile. > > You didn't find this in your testing because OVMF currently has no SEC > phase module that uses fw_cfg -- QemuFwCfgSecLib.inf is never built. You > can manually build it like this, for example (note the "-m" option): > > build -a X64 -p OvmfPkg/OvmfPkgX64.dsc -t GCC48 -b DEBUG \ > -m OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgSecLib.inf > > (a) One solution is what I wrote in > : > >> (2) Implement InternalQemuFwCfgSevIsEnabled() in "QemuFwCfgSec.c" >> without using global variables (i.e., with a CPUID on each call, on >> AMD processors, and return constant FALSE on Intel processors). > > So basically you should open-code MemEncryptSevIsEnabled() here, without > using any global variables. > > (b) Now, a "by the book" solution would be to introduce a SEC instance > of MemEncryptSevLib as well, which would execute CPUID on every > MemEncryptSevIsEnabled() call, and return RETURN_UNSUPPORTED from both > MemEncryptSevClearPageEncMask() and MemEncryptSevSetPageEncMask(), > regardless of architecture (IA32 vs X64). Then this patch would compile > as-is. > > (c) But, I don't want to contribute to the proliferation, or growth, of > library instances that are never used in reality. So I dislike both (a) > and (b) above. The only reason we care about QemuFwCfgLib, with regard > to SEV, is because QemuFwCfgLib *sometimes* uses DMA, and SEV has > consequences for DMA. > > Notice though that the SEC instance of InternalQemuFwCfgDmaIsAvailable() > returns constant FALSE. This is why it is fine to put ASSERT(FALSE) / > CpuDeadLoop() in the bounce buffer alloc / dealloc routines: they will > never be called. > > With the same argument (i.e., we'll never use DMA fw_cfg in SEC), it is > entirely irrelevant for this lib instance whether SEV is present or not. > So I suggest to simply return FALSE from InternalQemuFwCfgSevIsEnabled() > above, and to remark there, in a comment, that > InternalQemuFwCfgDmaIsAvailable() returns constant FALSE, hence SEV > availability is irrelevant. > Agreed, lets not add a code which is never used in reality. I will update the InternalQemuFwCfgSevIsEnabled() to return FALSE. -Briejsh