From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by mx.groups.io with SMTP id smtpd.web11.10631.1678672550581018616 for ; Sun, 12 Mar 2023 18:55:51 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=CSEkIMx/; spf=pass (domain: intel.com, ip: 134.134.136.31, mailfrom: ray.ni@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1678672550; x=1710208550; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=22JGzeOFKr7MgkKNnOma3gX4xH69yO27nklCTjc6Egw=; b=CSEkIMx/b6dK3sJcwF4pucV2Riy+qbudMwEMS77KwNkOPqI2oh6JGf+u ECs0BvIh38uwZZFPQeCFeqocncsw6eBSmV0DLaZZPxSXk/hPs5nv3Ri1x MV/L7B0JdHLqObQcm4xTdihSCPEyW4xcG1Y/qLh7+3o1e5kLjsKBD7c8a rXIh1+OrblvOwnh+Rm6eKMyf4b7y0H1xuprKjyyAr/p6asL7EPXB1utwR 3t75QgaFlr5xsIDCDrHHsBvt5LhWIhl/ljS3KU/QVskCrnxWQ41ANyxlG Mi8SEH3cJV/Vel+nKN1HcGPmTbTCmWb85PCu63Ybp70sn/67UVhTYsnqp Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10647"; a="399637263" X-IronPort-AV: E=Sophos;i="5.98,254,1673942400"; d="scan'208";a="399637263" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Mar 2023 18:55:49 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10647"; a="655819222" X-IronPort-AV: E=Sophos;i="5.98,254,1673942400"; d="scan'208";a="655819222" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by orsmga006.jf.intel.com with ESMTP; 12 Mar 2023 18:55:49 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.21; Sun, 12 Mar 2023 18:55:48 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.21; Sun, 12 Mar 2023 18:55:48 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.21 via Frontend Transport; Sun, 12 Mar 2023 18:55:48 -0700 Received: from NAM02-SN1-obe.outbound.protection.outlook.com (104.47.57.43) 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.2507.21; Sun, 12 Mar 2023 18:55:48 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ETBMOfNKIBrlS37MSqyTJSM0LakCgmmqFEhgYGsMiReCDpuzdsxDTvyB1EP8ilG1DgyCbvfBGhZ+rv0n6ZEiToaCqslYJJoSqdH4+Igkqs6yAApsW+jGsk00A4LxdfkSQfm3JnKpVSZyNeZ0xUgSUKdQGAuMeOrgWXO1NGBRn+lXeSHtBmp20JzoLQs08z03G9aZwZ4BYOW1gtrtxIo/ByGDUKg/5Yi2hTXGcfCf8BE8YNXmu7BcayAnmQmI3ZHQibvdOdlUroH31RXnfeECcOkpF7cry2usNDTyxYvMqtG9yIWdS6Zp85Txr29UUVjYAS8JI+VKQ0AqYVV+BG3HZQ== 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=1vpiqr6wfsyoIn2NAR0Uxs8xINsuKmJi79vdYC+g9b0=; b=I5FzAu8o1vbMppjHU5KvhB05zDDAQatotSQfjAClwN31wXPudwrMZgyQhamCwHKbI/rHjNXAxqJkRbSwrRdYsn0QLCV+0FhT9pDpcrs+UHSrph9rLyaGZf4MSdstnMBinKT6XJodVd5Uk3Tm5jEw0f7Slq/HKwobhL5wrQ7CeLUiaqaKc1dbPN3Cg3PWYoWlFt243GVpQMNpbb+Rz0Q0JyTSoK+7YYRxLTl3b3xAL5/uNyrh1jeI0yd+ITxGPBKC9ZTJNksQslUPEcmNo46HTnE4TZKexMUNqGY+xnG/bHxQ/PzXYIXpyXkN0VVQcTFctwt/pZwhyLnYgLkKoft+aA== 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 MN6PR11MB8244.namprd11.prod.outlook.com (2603:10b6:208:470::14) by BY1PR11MB8008.namprd11.prod.outlook.com (2603:10b6:a03:534::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Mon, 13 Mar 2023 01:55:46 +0000 Received: from MN6PR11MB8244.namprd11.prod.outlook.com ([fe80::ae07:e96a:4a24:8a69]) by MN6PR11MB8244.namprd11.prod.outlook.com ([fe80::ae07:e96a:4a24:8a69%7]) with mapi id 15.20.6178.024; Mon, 13 Mar 2023 01:55:45 +0000 From: "Ni, Ray" To: "Chang, Abner" , "devel@edk2.groups.io" , "Attar, AbdulLateef (Abdul Lateef)" CC: "Grimes, Paul" , "Kirkendall, Garrett" , "Dong, Eric" , "Kumar, Rahul R" , Gerd Hoffmann Subject: Re: [edk2-devel] [PATCH v2 3/6] UefiCpuPkg: Adds SmmSmramSaveStateLib library class Thread-Topic: [edk2-devel] [PATCH v2 3/6] UefiCpuPkg: Adds SmmSmramSaveStateLib library class Thread-Index: AQHZJYRfLhZ/wg0XpEyXThmoRGDXVK6e5/CAgFlqtRA= Date: Mon, 13 Mar 2023 01:55:44 +0000 Message-ID: References: <754ac0bb0fb5bd75a2343d0030a18204672d7769.1673417268.git.abdattar@amd.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Enabled=true; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SetDate=2023-01-15T04:26:03Z; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Method=Standard; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Name=General; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ActionId=15f5f809-d3ff-4362-a085-388579ea8381; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ContentBits=1 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MN6PR11MB8244:EE_|BY1PR11MB8008:EE_ x-ms-office365-filtering-correlation-id: b0ce8527-ead5-4b5a-ceaf-08db23660f1f x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: zxWL75x1+30lofdmfipjx8bKSTUGOmLmCOXcI2ODiH1F/Pj/Nx1Kj8ii4K4dXYhhCH1JCf2QqrFHdiTqmTY0XL5bm1i1OoIj0A+02nPXiiqS5ry1Yb+LiKTOzhEGIWZDzDSFg3GDO/CD8+QSDsLxIpsATLDRfBDEt27Ujo5UTYCsAW+R+lSSYCKndjIjbGK1+A3Tqwl1C6v3+ToOOQSp3b4Rj5TNuuptRqLpoclKPaq7xCAARJD9vaM2dcSLYizjxA67DVonyvXIN5Y9s/V6sFiqBmLy0cWBIkRTmUTg6AiZrlIogZMetU1Co5zkQNQ5nRT45ngb+gQiHEHpmYKHFFxGKcr4Vk8YgcAp7moZi+CgvCVqt3xbTor0Olh4lmoyBFcseCUhfFI1mQ+UMilz63onFJG0wtjyOpyoNykBHkxOyIWPzU76zu5WS7vmmaXV3IXsaDZJ4ajnQyhL2fk8+4T2Rt+tNd9N5rB8M/Aktc7JQ7R/GLQZUSaiH1QU8UVBfxwvOOijTjVqEl9dXEQoREhhBELDKiqaAwmJBgvSgbCxAwi+dbu1fPhSWblLuXcDaDiAWJHV89d2tnjDeXgkUA5kKg0oA6DdAN1q38RPSOPI5ODzqSjKKYz2vn8sO/qZn04DniVs9ZTaBNWY/gKXTnWalBRd3mRVaDa9+WWGPb+59fpg6f2XJjROV9DgdjYcurJBQCDtmOnXA8YtybB2V2EUzdxa5p4gxg1HF0NoSHs= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN6PR11MB8244.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(39860400002)(376002)(346002)(136003)(366004)(396003)(451199018)(86362001)(33656002)(38070700005)(82960400001)(122000001)(38100700002)(2906002)(41300700001)(52536014)(8936002)(5660300002)(55016003)(7696005)(4326008)(6506007)(26005)(9686003)(53546011)(186003)(83380400001)(316002)(110136005)(54906003)(8676002)(66946007)(66556008)(64756008)(66476007)(66446008)(76116006)(966005)(478600001)(71200400001)(45080400002)(66899018)(213903007);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?qn3tMoxa0S2sxrwOQmnLds4GFKvbQFPpyforpKc6g/bU1c3zEwM/NMEM3VAL?= =?us-ascii?Q?Of+1x4xh/tzW2UTC4R2Fe0MjD6QHCuItOwEZaW3RnGSl9K/kCq/eW/tySenD?= =?us-ascii?Q?4y5Lrw1DND96V4CxH95oceR9WHfpBy42C3AUrko9s0/6oKQbXYCavygvICxg?= =?us-ascii?Q?GQxivuWAp0gv5FZK7bmHZXnQCzDLJsjx3aPvYbc1zLGe/CTr/F3KTYQn/yR2?= =?us-ascii?Q?OgP6cNlpY5OnnO1hisUnnBnH03zfqzeiWUIJG2UUbdsw7Nk1eDCXTCz2d3+r?= =?us-ascii?Q?Fx5VJseuTuHtktm4sB71Isa4Y2we2otQLiKG7vIuzQvuMddq9HZ2TzgDp4bh?= =?us-ascii?Q?0ZwmuBVb+cf+DA00OBv2/uR/Diet5N07FTPx+a81eVGewtQx7N5iodFVOPik?= =?us-ascii?Q?Irh/jBQUAsaHBfnzDcSPxUhvq2MXryd1UwbTgr6HDZVBSPJV+6DcafsNPEuo?= =?us-ascii?Q?efuXFq1Gk8Bzg/20t58ZUDGLuQVGAMuu37eyuWsPaW+YC/lourjFI6KF87Zt?= =?us-ascii?Q?IDXr9Rih6RcFk7fD9yAV1G7xW5SXpgi5g3LKPKoZJo0pHoZrWUim4roBsG8S?= =?us-ascii?Q?pJiYecYljRDi7sOI2UZoqP4sFqToe2wkw3sE4j7Tr9WfPCfbt1tEIvhd3tNX?= =?us-ascii?Q?6iXIMyXWsdHk4rWQxZ87rUCawkbj9FUr3BUnXQJNpeST+L8Xg2BN/esqRFWT?= =?us-ascii?Q?jEcZ4KeA1MlkY5c0HO/ejJv3xlpbPvs5QEEKoFpniaa70BuM+ihIgW/qzj5S?= =?us-ascii?Q?J08Huct6NBk5lAmnK5TOns73aGYofzUhl2JfMs8FS7snCHsyCrDa1sIBBrt/?= =?us-ascii?Q?GeSCKGlE9Enjg65K6T9g2lgHobD1OZqs3gf7X7GbuAMkC5ZIyTbetCJ6i7by?= =?us-ascii?Q?TckZovRuxMTadLMl0H+LKxZEHjxNaazN4wIHhtbJJSIlEZ4XyDluWSar1G+h?= =?us-ascii?Q?fMXCfv8LtDoouXy5iEB4+sH/Dm2+UDf9Su3NESAMKjFZcs4cdxXGmSVIVWdM?= =?us-ascii?Q?ZTUwCjgT+bq5/uA6Jzuda8pWk2JUeh8be+wtW8WBF24JQo7dD+vPjRNYp4D0?= =?us-ascii?Q?MhlhxISw7obtMDFFeA6yRklz+ne55FqBk7ZtZG1EEkSZfK5TlUJlxkOGJAqp?= =?us-ascii?Q?dYyPmke2BHdHsGYEfdCl2oYuPg4o13ja7VRkCuIsMuhco82cN2TYzqXs2p1R?= =?us-ascii?Q?KdXHUDtB3c/efj/huCRFFNWAXqtmYgG85OVIxKcxdJUWdd/Zy1PlT49psGIP?= =?us-ascii?Q?1V5nVT3XNqngmLK2G/d//dUb3emg96yoBqq/vo7osY6g7GoZ4FP2KSGiKFC2?= =?us-ascii?Q?7vh+fYs3aeBw2YAkRP5SvOMNJ7p0S+DEaQUMlJVBWngUFQ9qJWivWqj6R6fd?= =?us-ascii?Q?YM1VYBBXsbcyRI7F2M8cPbjfpihtlZuPOvwAy9a/UA/Nylw+t32AgLWaRqJZ?= =?us-ascii?Q?J0N8MzpEAu5XAzflVVNQUG0cb1UCkqYVDxBLMoIvpXCdlBNQjuBqnj7+TI9G?= =?us-ascii?Q?EBd8qvQvvMwW9gFOeJbL3uMrTczh29x0kUBloeDc7QXfoHCDsSYt2jJhiWGy?= =?us-ascii?Q?mBXZpxYikLfzkryGvbs=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN6PR11MB8244.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b0ce8527-ead5-4b5a-ceaf-08db23660f1f X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Mar 2023 01:55:44.9967 (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: txnyuG8lFK7oTtYZrPuWo/Ch94xICZGWMvSx3Z5iL8bhI/v0liC/20SNMRPkzLuJKDOrKrz0IqtMasV+Qevxbw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR11MB8008 Return-Path: ray.ni@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable The instance should follow the SmmSmramSaveStateLib header to only have two functions with "EFIAPI". But I saw more than 2. Can you check and remove those unnecessary ones? Thanks, Ray > -----Original Message----- > From: Chang, Abner > Sent: Sunday, January 15, 2023 12:26 PM > To: devel@edk2.groups.io; Attar, AbdulLateef (Abdul Lateef) > > Cc: Grimes, Paul ; Kirkendall, Garrett > ; Dong, Eric ; Ni, Ray > ; Kumar, Rahul R ; Gerd > Hoffmann > Subject: RE: [edk2-devel] [PATCH v2 3/6] UefiCpuPkg: Adds > SmmSmramSaveStateLib library class >=20 > [AMD Official Use Only - General] >=20 > Comments in line. >=20 > > -----Original Message----- > > From: devel@edk2.groups.io On Behalf Of Abdul > > Lateef Attar via groups.io > > Sent: Wednesday, January 11, 2023 2:16 PM > > To: devel@edk2.groups.io > > Cc: Attar, AbdulLateef (Abdul Lateef) ; > > Grimes, Paul ; Kirkendall, Garrett > > ; Chang, Abner ; > > Eric Dong ; Ray Ni ; Rahul Kumar > > ; Gerd Hoffmann > > Subject: [edk2-devel] [PATCH v2 3/6] UefiCpuPkg: Adds > > SmmSmramSaveStateLib library class > > > > Caution: This message originated from an External Source. Use proper > > caution when opening attachments, clicking links, or responding. > > > > > > BZ: > > > https://nam11.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2Fbugz > > > illa.tianocore.org%2Fshow_bug.cgi%3Fid%3D4182&data=3D05%7C01%7Cabner. > > > chang%40amd.com%7C90493fee40864523f7d508daf39b7e40%7C3dd8961fe4 > > > 884e608e11a82d994e183d%7C0%7C0%7C638090146447645457%7CUnknown > > %7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1ha > > > WwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=3DE1WQL7%2F65L1K%2F6S > > uvA0EKpQ55V1J36Ofe3NklDf3Cqw%3D&reserved=3D0 > > > > Adds SmmSmramSaveStateLib Library class in UefiCpuPkg.dec. > > Adds function declaration header file. > > > > Cc: Paul Grimes > > Cc: Garrett Kirkendall > > Cc: Abner Chang > > Cc: Eric Dong > > Cc: Ray Ni > > Cc: Rahul Kumar > > Cc: Gerd Hoffmann > > > > Signed-off-by: Abdul Lateef Attar > > --- > > UefiCpuPkg/UefiCpuPkg.dec | 4 ++ > > .../Include/Library/SmmSmramSaveStateLib.h | 69 > > +++++++++++++++++++ > > 2 files changed, 73 insertions(+) > > create mode 100644 > UefiCpuPkg/Include/Library/SmmSmramSaveStateLib.h > > > > diff --git a/UefiCpuPkg/UefiCpuPkg.dec b/UefiCpuPkg/UefiCpuPkg.dec > > index cff239d5283e..1de90b677828 100644 > > --- a/UefiCpuPkg/UefiCpuPkg.dec > > +++ b/UefiCpuPkg/UefiCpuPkg.dec > > @@ -2,6 +2,7 @@ > > # This Package provides UEFI compatible CPU modules and libraries. > > > > # > > > > # Copyright (c) 2007 - 2022, Intel Corporation. All rights reserved. > > > > +# Copyright (C) 2023 Advanced Micro Devices, Inc. All rights > > +reserved.
> > > > # > > > > # SPDX-License-Identifier: BSD-2-Clause-Patent > > > > # > > > > @@ -65,6 +66,9 @@ [LibraryClasses.IA32, LibraryClasses.X64] > > ## @libraryclass Provides function for manipulating x86 paging str= uctures. > > > > CpuPageTableLib|Include/Library/CpuPageTableLib.h > > > > > > > > + ## @libraryclass Provides functions for manipulating Smram savesta= te > > registers. > > > > + SmmSmramSaveSateLib|Include/Library/SmmSmramSaveStateLib.h > > > > + > > > > [Guids] > > > > gUefiCpuPkgTokenSpaceGuid =3D { 0xac05bf33, 0x995a, 0x4ed4, { 0= xaa, > > 0xb8, 0xef, 0x7a, 0xe8, 0xf, 0x5c, 0xb0 }} > > > > gMsegSmramGuid =3D { 0x5802bce4, 0xeeee, 0x4e33, { 0= xa1, 0x30, > > 0xeb, 0xad, 0x27, 0xf0, 0xe4, 0x39 }} > > > > diff --git a/UefiCpuPkg/Include/Library/SmmSmramSaveStateLib.h > > b/UefiCpuPkg/Include/Library/SmmSmramSaveStateLib.h > > new file mode 100644 > > index 000000000000..d10eb064ceac > > --- /dev/null > > +++ b/UefiCpuPkg/Include/Library/SmmSmramSaveStateLib.h > > @@ -0,0 +1,69 @@ > > +/** @file > > > > +Library that provides service to read/write CPU specific smram save st= ate > > registers. > > > > + > > > > +Copyright (c) 2010 - 2019, Intel Corporation. All rights reserved.
> > > > +Copyright (C) 2023 Advanced Micro Devices, Inc. All rights > > +reserved.
> > > > + > > > > +SPDX-License-Identifier: BSD-2-Clause-Patent > > > > + > > > > +**/ > > > > + > > > > +#ifndef SMM_SMRAM_SAVE_STATE_LIB_H_ > > > > +#define SMM_SMRAM_SAVE_STATE_LIB_H_ > > > > + > > > > +#include > > > > +#include > > > > + > > > > +/** > > > > + Read an SMM Save State register on the target processor. If this > > + function > > > > + returns EFI_UNSUPPORTED, then the caller is responsible for reading > > + the > > > > + SMM Save Sate register. > > > > + > > > > + @param[in] CpuIndex The index of the CPU to read the SMM Save > > + State. The > > > > + value must be between 0 and the NumberOfCpus > > + field in > > > > + the System Management System Table (SMST). > > > > + @param[in] Register The SMM Save State register to read. > > > > + @param[in] Width The number of bytes to read from the CPU save > > state. > > > > + @param[out] Buffer Upon return, this holds the CPU register value > read > > > > + from the save state. > > > > + > > > > + @retval EFI_SUCCESS The register was read from Save State. > > > > + @retval EFI_INVALID_PARAMTER Buffer is NULL. > > > > + @retval EFI_UNSUPPORTED This function does not support reading > [Chang, Abner] > EFI_NOT_FOUND is missed in @retval. >=20 > > Register. > > > > + > > > > +**/ > > > > +EFI_STATUS > > > > +EFIAPI > > > > +SmramSaveStateReadRegister ( > > > > + IN UINTN CpuIndex, > > > > + IN EFI_SMM_SAVE_STATE_REGISTER Register, > > > > + IN UINTN Width, > > > > + OUT VOID *Buffer > > > > + ); > > > > + > > > > +/** > > > > + Writes an SMM Save State register on the target processor. If this > > + function > > > > + returns EFI_UNSUPPORTED, then the caller is responsible for writing > > + the > > > > + SMM Save Sate register. > > > > + > > > > + @param[in] CpuIndex The index of the CPU to write the SMM Save > > + State. The > > > > + value must be between 0 and the NumberOfCpus > > + field in > > > > + the System Management System Table (SMST). > > > > + @param[in] Register The SMM Save State register to write. > > > > + @param[in] Width The number of bytes to write to the CPU save st= ate. > > > > + @param[in] Buffer Upon entry, this holds the new CPU register val= ue. > > > > + > > > > + @retval EFI_SUCCESS The register was written to Save State= . > > > > + @retval EFI_INVALID_PARAMTER Buffer is NULL. > > > > + @retval EFI_UNSUPPORTED This function does not support writing > [Chang, Abner] > EFI_NOT_FOUND is missed in @retval. >=20 > Thanks > Abner >=20 > > Register. > > > > +**/ > > > > +EFI_STATUS > > > > +EFIAPI > > > > +SmramSaveStateWriteRegister ( > > > > + IN UINTN CpuIndex, > > > > + IN EFI_SMM_SAVE_STATE_REGISTER Register, > > > > + IN UINTN Width, > > > > + IN CONST VOID *Buffer > > > > + ); > > > > + > > > > +#endif > > > > -- > > 2.25.1 > > > > > > > >=20 > >