From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by mx.groups.io with SMTP id smtpd.web08.6404.1656466675035643332 for ; Tue, 28 Jun 2022 18:37:55 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=CygwzupI; spf=pass (domain: intel.com, ip: 192.55.52.115, mailfrom: jiaxin.wu@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1656466675; x=1688002675; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=ykvGBRl/zTyW7dlNODvu3hanCE5tt8u2DAmEu7ftChg=; b=CygwzupINjEZWZy6g7Hases8TlSFgeVMOGrnrjD86UjQz3x7JWZAvghd euDAY+hnyxE1H9bQKw248z3thORiTPmcKucgpesp31e9gvx3D12sD7V3n LRFkSuaqrsyPw1e74gdrxMyJ7ZLEiQRWeYGoPUSt07R8/ZgXktYjR40IF LttE6A6Fyq5tCn4Ju3jIawqv7UTU4p5E4k/DYUjYmIPmQiPRNM39icTXS fdYuAzIvct+4GEe/zG5omrgPJcVdW7YWytzwE6oMcaHNgNawFBB4qJt2L 9S/luQI/ujqXVSnBTMZELiyW48+X83oIdPeTOMw9PjTNHmnk0KBFuHJqm w==; X-IronPort-AV: E=McAfee;i="6400,9594,10392"; a="281927790" X-IronPort-AV: E=Sophos;i="5.92,230,1650956400"; d="scan'208";a="281927790" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Jun 2022 18:37:54 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.92,230,1650956400"; d="scan'208";a="732984809" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by fmsmga001.fm.intel.com with ESMTP; 28 Jun 2022 18:37:54 -0700 Received: from orsmsx609.amr.corp.intel.com (10.22.229.22) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Tue, 28 Jun 2022 18:37:54 -0700 Received: from orsmsx604.amr.corp.intel.com (10.22.229.17) by ORSMSX609.amr.corp.intel.com (10.22.229.22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Tue, 28 Jun 2022 18:37:53 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx604.amr.corp.intel.com (10.22.229.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27 via Frontend Transport; Tue, 28 Jun 2022 18:37:53 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.168) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.27; Tue, 28 Jun 2022 18:37:53 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mJpTdC4gSzBTFK8chM3YU77NKdUlyiFm1rH28ift78kb0aQRDt2cEEbBmWbYUxRS3HfJ1IjHFH++JyKX41pNZ0jIN8iSkf9+C5Ez/w+v1my3hGRVdvavuJnSRmIqWNNZFNzxKdA9Kw7DcQJmpF3UBHnSdCIRU9pQr5JbO9Vv6ttQJ6fhfqMT6/cmORlfPImPI2SlP8ENUPDlxzktCHjUwaXbLJ5R70lJhXi80DOcQYfUNZbDmWBU2wULb7gmP0jZWwWGaz7/XfuWtSL+VBsaPR5oD63jX1k0p0vTLJcoI0sTFnRcbI2YN/nq2SBnzCoqCKfTTXaToLTp+eqXASrHGQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=WvgtGKE4Tu0QzQp68AefHq2l+byFUV11rsgBpo3PMRY=; b=T4AqVXbH+OvFyFQ2jJ/3s8JU+ucHfcaUh5SU7eLD6Nnp/fBfRCAcahfmFzzWEq/e9CWa4K5hSGepP66LgXmLFXSYyA8eDczMjVxqwLXCPU82ALFxim4IZqGD45mJBN2yWeqi5j2/NVuht7rp7FntB+r/kzv1uaH5AQD3kG+G8aIaJRxpsjCOY1LO8J2msAgd+tvoJ8iFieVRfY+i8QEf7KTsKjFtZEUkNlO90AcXP0fETezBl6x1AocqcQul3sjEBcjuD24WELWXcokGdToRReoUj0NwP5zvoYbsl5CVAd/zH0drI9fqjgL35c0dO3Idgn/aGDY6p0qU9azbxaHgdw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from DM8PR11MB5656.namprd11.prod.outlook.com (2603:10b6:8:38::7) by SN6PR11MB2781.namprd11.prod.outlook.com (2603:10b6:805:62::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5373.18; Wed, 29 Jun 2022 01:37:51 +0000 Received: from DM8PR11MB5656.namprd11.prod.outlook.com ([fe80::cded:2066:d7f:bc10]) by DM8PR11MB5656.namprd11.prod.outlook.com ([fe80::cded:2066:d7f:bc10%8]) with mapi id 15.20.5373.022; Wed, 29 Jun 2022 01:37:51 +0000 From: "Wu, Jiaxin" To: "Ni, Ray" , "devel@edk2.groups.io" CC: "Dong, Eric" Subject: Re: [PATCH v1] UefiCpuPkg: Add PCD to control SMRR enable & SmmFeatureControl support Thread-Topic: [PATCH v1] UefiCpuPkg: Add PCD to control SMRR enable & SmmFeatureControl support Thread-Index: AQHYisvC7VaW9YFWaEW8yAKSOrD0LK1kiOjAgAER7LA= Date: Wed, 29 Jun 2022 01:37:51 +0000 Message-ID: References: <20220628084739.12216-1-jiaxin.wu@intel.com> In-Reply-To: Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.6.500.17 dlp-product: dlpe-windows dlp-reaction: no-action authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: cb5e17a1-dd89-4996-0009-08da596ffb40 x-ms-traffictypediagnostic: SN6PR11MB2781:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: cQQt670FN7Bjv4Z6wlgpTERHLKHLV41k3erocvHmOkn+kiWUaE87OTIbIRkUz6VS+DqXmBWoUBIZ+ClsbNYVVvPpPIZD3mYUUsDUOXNwn+zD3tzxmUOxtZyDA+2RgTpbVrr9yeNaNsvOssMHtB7dYHKM3qea8nv7u7sB3XpY1mbCgOEBGQYiESqGoYB8EGyrbz2hIY4MSkecjiCO9v9lXp8xYjfCncc6FmwwqQIXN/S5cAt0t3jJapQi1ISDdJrOxqhtZ5IGBwyNB/Bb8fc8/bUdcQ6f3kuY5CgJe7XRYjsnekLsXAnlX16nXA8bGC27UNZFgBhW0KGeK+zXs4D4Ae+aYYkXpOS95LLNuGxjFhdcDYAtw+JlU1uAw+r2lW0oHS0jQT9FqjkurHNNBP1qZvNGiyeVOOvb6Pj1svVyqYu2WZ7/FxoZIWwFF2owzjZ+2ZXe/+a81LbIZpVLcR3dtWGMfhlmNW5l9plXX53Q3gm2seg4bEzU4FDlbdrk9mNkDgtMdxAhdhuWkb2qPGM6fH8uukErSRznEjIT2MNmdcVL0KBnoswnCaGqH2FIy/6aX58kMCQHieqPiv0kho+Qlx34QbZUltSVZH0xjNRkvDpKrUU6cLx/QUxw2T3lptsP6SOs96JBy+vN3OfVozX9kZQKyZ222HDBbVtIGAHAihIWQtRk2pCeaI+5giRA29sx9vvMgTsrMaBAQrrb3CJOwiknC8eTrT7OnHgOUQ9cdf91ajFuaKtQWq9Q1NImAiS+PvVeLG7VbUpL22ZjWxlXALSB4VBYlcuWy9RVQzvOZVQ= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM8PR11MB5656.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(39860400002)(136003)(366004)(376002)(396003)(346002)(82960400001)(52536014)(5660300002)(83380400001)(7696005)(55016003)(6506007)(110136005)(38070700005)(26005)(38100700002)(316002)(9686003)(2906002)(53546011)(186003)(107886003)(478600001)(33656002)(8936002)(66946007)(66446008)(66556008)(64756008)(66476007)(8676002)(4326008)(76116006)(86362001)(71200400001)(41300700001)(122000001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?oNGvCW2byV8TfdJ+Ef1EeTvlKBtmGPA38D4SjCEru+dhHDvZGilp45Et0LSA?= =?us-ascii?Q?548NOVi09gmo4NiB9gEaeimClI1v3y0vbjt0Ee73UpwO0IBR/B4w2+IPBO0p?= =?us-ascii?Q?Vz/vXo3DWGDLPi0ggkm/ulG+0P8ZdwLBCsS/MYVtejvxtt/izPTemEY6+vPp?= =?us-ascii?Q?QI6UrQ1+HFMvKuRlB57puJvxKdzqJf2vKKd+4TrjrDMba/uoIfvaROFh6cfa?= =?us-ascii?Q?5meQ9CwNBvFBMUIxv8ugWn9NLD+DXoeEf5ongqHMs19XKtB5zqXOGRI3DylT?= =?us-ascii?Q?pbPM+5/RqVq19ZlO7q/3QJJmel2B7dWswQCDHhOQ1GZSAOfT2FOYv1HxZHmW?= =?us-ascii?Q?8UL3daKGbMQpNgJjx0RuWR2f5CvPhnYSoY+75xzrSsn1sQgh6CzOvq7N4f6j?= =?us-ascii?Q?axzS5y+gxLU7ez6W5lP57nMjDQfyXJdChhNBcOdB+/iuJyuuEB67khNE2unZ?= =?us-ascii?Q?JL01PS40q4CndxmtBqZI+6TpVt8+R4dj4enT6aiO04n0NlM9IqbnhLdjDizf?= =?us-ascii?Q?ow+pKUUuSbHMn1hG3wLV5FwPBaLWMATNXQ1mm8EkshIX+iMGVyO6C0FSV3kP?= =?us-ascii?Q?JsT67p6qjzvGTnTC1s8o1j0g1Iyw4KbGaEwT4BFeMhoxjo49gcNSefwwIIUq?= =?us-ascii?Q?SuptzkqQcxFjrdPqgF/0TEsf+PeUxT2hIgZPnBBj3jBjBs32KaBksb8l3p53?= =?us-ascii?Q?1Eg2laG9Kn6ddQZqua4ixIqR+lrjKGAfFMG1vi2ew8q54x8JeU2zzWHG74Oz?= =?us-ascii?Q?bzeKniKsNsnpa7y0pMESJY6d6AH5A2Vyhl3mYDRM3w3DvvSm/mnzNiaJT2w4?= =?us-ascii?Q?UCylrlDyVFEC67vIWIksQ41Xh6OCykF9v3nQW6eTRxcE1BF3uUuBzqjYB7OM?= =?us-ascii?Q?uiunfWSavSvRIcgx177Vzk5qi/ILmLyt6QRsuhMOSQ3itNZuw/QN4nfNia+q?= =?us-ascii?Q?wF7dM149x4q6/Um3fbZBlTztDcl9Hvb3w8lgaNUL5QAQ8fFarcItcPIn5vrB?= =?us-ascii?Q?NOAxLy3DiPHcQy5Yu6VHKuQ3WOLxXhGpc97NvsHNzjnnu9oWL6Q0Dlq//I0l?= =?us-ascii?Q?h/6078F04xM4vqslExoO9vrVjNVtnX4C9WUtrPZ75ZfAySL8/UHWjoMoWkeS?= =?us-ascii?Q?e0wI1jIsiadJkPGsD6JwRbQHUj2Dj/cP/OGKXd9tpDfwBeaFY7P+CKKDkgBT?= =?us-ascii?Q?iFHYYUkOTad004Dyg8OPRNSTdwFOUYgz0fA0H8azHgPWFg1SnDcRGxY5Joxo?= =?us-ascii?Q?oTS7QNMVfS+2i7bGOSi+YAvOb59eoSWxRBJgHW0DxaXBStu81hq2VnS5zrff?= =?us-ascii?Q?NRS14iNNV4UwpcA7sJhs3rOw8Bwa2xxn7bGDpeb1iNV/jG/296T+KNa2ELEM?= =?us-ascii?Q?ryqxdwPAG08skRhqjEEOKCSxIoyeEmn2Y8G7irHfiKsulOhW3st6JvcV8Zmn?= =?us-ascii?Q?IqXAv+fUgYb0dlQohazvue75Nluxp2ExNSu5eMxk2fvGEN8qe0xY70y7pJXi?= =?us-ascii?Q?tUf1fTOlQuTh5lkGewIwAwU1hPLisZR8lgWh14NodHIVJdOvIJ5lAH8kXIX/?= =?us-ascii?Q?05z/GY0k+mkwkkdz07KlafbPd0WBArmz7PKXens4?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM8PR11MB5656.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: cb5e17a1-dd89-4996-0009-08da596ffb40 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Jun 2022 01:37:51.7551 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: o69QlvUmm9HKY5h7zUlsLM+3q22qfJBpm6uWRHZZMG7rIEgHK9v+ebRP2NgxqUn2PZmBh0TwzuMpC0X31PqonQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR11MB2781 Return-Path: jiaxin.wu@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable For below question 1&3: Since we have defined the PCD for the feature control, should we still need= check the enable case? i though we only add the assert case for not suppor= t case, because we must make sure has the capability to enable it. But for = support case, platform can still disable it via the pcd? For below question 2: It's the intention because FeatureControl & BIT3 is 0, which means SMRR Ena= ble(BIT3) of MSR_FEATURE_CONTROL MSR(0x3A) is *not* set before accessing SMRR base/mask MSRs, then ASSERT (!FeaturePcdGet (PcdSmrrEnable))= ; Thanks, Jiaxin > -----Original Message----- > From: Ni, Ray > Sent: Tuesday, June 28, 2022 5:17 PM > To: Wu, Jiaxin ; devel@edk2.groups.io > Cc: Dong, Eric > Subject: RE: [PATCH v1] UefiCpuPkg: Add PCD to control SMRR enable & > SmmFeatureControl support >=20 > > - // > > - // Check CPUID(CPUID_VERSION_INFO).EDX[12] for MTRR capability > > - // > > - if ((RegEdx & BIT12) !=3D 0) { > > - // > > - // Check MTRR_CAP MSR bit 11 for SMRR support > > - // > > - if ((AsmReadMsr64 (SMM_FEATURES_LIB_IA32_MTRR_CAP) & BIT11) !=3D > 0) > > { > > - mSmrrSupported =3D TRUE; >=20 > 1. can we keep the logic but just replace the above line as "ASSERT > (FeaturePcdGet (PcdSmrrEnable));"? >=20 > > if ((FeatureControl & BIT3) =3D=3D 0) { > > - if ((FeatureControl & BIT0) =3D=3D 0) { > > + if (((FeatureControl & BIT0) =3D=3D 0) && (FeaturePcdGet > (PcdSmrrEnable))) > > { > > AsmWriteMsr64 (SMM_FEATURES_LIB_IA32_FEATURE_CONTROL, > > FeatureControl | BIT3); > > } else { > > - mSmrrSupported =3D FALSE; > > + ASSERT (!FeaturePcdGet (PcdSmrrEnable)); >=20 > 2. If PcdSmrrEnable is TRUE but the FeatureControl MSR is locked (BIT0 is= set), > above assertion will be hit. We may need to reconsider the code logic. >=20 > > - { > > - // > > - // Check to see if the CPU supports the SMM Code Access Check > feature > > - // Do not access this MSR unless the CPU supports the > > SmmRegFeatureControl > > - // > > - if ((AsmReadMsr64 (SMM_FEATURES_LIB_IA32_MCA_CAP) & > > SMM_CODE_ACCESS_CHK_BIT) !=3D 0) { > > - mSmmFeatureControlSupported =3D TRUE; >=20 > 3. can we keep the logic but just replace the above line as "ASSERT > (FeaturePcdGet (PcdSmmFeatureControlEnable))"?