From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mx.groups.io with SMTP id smtpd.web11.55409.1681951741412192418 for ; Wed, 19 Apr 2023 17:49:01 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=VaCQZH0L; spf=pass (domain: intel.com, ip: 192.55.52.120, 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=1681951741; x=1713487741; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=K5rRjzT/zuLwB1Ib1W5moGS1oZbift4LqchmUTgCMRg=; b=VaCQZH0LrlSmEHb1oj32QW01hQKz0acVjGaDvT3mrwkp1pCpJmJcrHx/ soN361SlejLK0cu1QU68TQYoqnu2rNfgqUFEKnkLbqYkwCGdnVt7c63ID qIQWqU9aQD4BeafTkPmWZnkyyF62WcMqELhhAQvcgDC27vbL1DRIkg3XT s3qGY2LL7nfqI/ipLRR3H8OT5rsOuEYU5HK/X53VMRIWpnv0HgCqkxs7m aHceXECYOogm0nzd3yC2yJWWHzeO14ClU12U68B7ZYA1pdUTduy+pi5qp SGSL6JpFSVjXoBsPWISoHoam/En5xrROAIJ6nLGQ/f8haRfITNJDZo1UO w==; X-IronPort-AV: E=McAfee;i="6600,9927,10685"; a="344346572" X-IronPort-AV: E=Sophos;i="5.99,210,1677571200"; d="scan'208";a="344346572" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Apr 2023 17:49:00 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10685"; a="724229366" X-IronPort-AV: E=Sophos;i="5.99,210,1677571200"; d="scan'208";a="724229366" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orsmga001.jf.intel.com with ESMTP; 19 Apr 2023 17:49:00 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Wed, 19 Apr 2023 17:49:00 -0700 Received: from orsmsx603.amr.corp.intel.com (10.22.229.16) 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.23; Wed, 19 Apr 2023 17:48:59 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23 via Frontend Transport; Wed, 19 Apr 2023 17:48:59 -0700 Received: from NAM02-SN1-obe.outbound.protection.outlook.com (104.47.57.41) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.23; Wed, 19 Apr 2023 17:48:59 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fmqgVsD81w6I006vsYMP7wEH4PZmiPox4qviN9Rh9wJbJPcLZaeRXLDJ0UF87RfqwePhMrsEPfqKEDgKVT8ALGd0RT4KLClB7fAd58NDw0tCysfEMYwoE/NJpnbAUmlpU/eiOySkU+sSDLP25XQFJK/BQN+CylexdPfmEan/m0vW55vJwPVO+FM4T9miHW6VIEJPMOnawXhJfp0GNX+RhwZZs39mBLL5NLg+NSnIWZsZ7pZ+4NNgNSH+68mHMjvR5v+JEufNdN+58mAX+ydrpA6ZEfsTor6tdAb/3dzBu6oypGH1tIrPlY1R/qPyPlfhq36f0e0bAHQ5B0HL0Bhm6w== 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=koE73k6TAvz0tK2EPuSGoyKSmsl75Ow5mpABs68jH+Y=; b=UWCXoB6upZpU1+KQ4tXxWitRvFAyltZsVxh4/q64QrvewQaD/KfpNqcSo8c03vVC2loLDOd94vbu20ix2WZe+2xJ1z5hRjxJRP6YuDS5MjIYJvBabwg/m9TIyQSbnyjBscMbjd2R9XMkRA1UKJy3SqHdJVNf8BmWf3Fuj77T5GxmdipbgYeeCBT/IE0XXLJ0SlphxYHadqWlmNh53Ef6WjXpBs/nmyBQxpZWzf62bmeX+IAmKKwi/YVOXDoAUAnWHaIEdh91kJxD0jYCLoUeVGlZqNs31bCz/slvHlOjFnVcsc6PU/BU8mmE3ANIxI5Iytkwh7Kpo95qShhOwoZXhQ== 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 SA2PR11MB4924.namprd11.prod.outlook.com (2603:10b6:806:113::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6298.30; Thu, 20 Apr 2023 00:48:57 +0000 Received: from MN6PR11MB8244.namprd11.prod.outlook.com ([fe80::892b:b8e6:bab7:635d]) by MN6PR11MB8244.namprd11.prod.outlook.com ([fe80::892b:b8e6:bab7:635d%5]) with mapi id 15.20.6298.045; Thu, 20 Apr 2023 00:48:57 +0000 From: "Ni, Ray" To: "devel@edk2.groups.io" , "osde@linux.microsoft.com" CC: "Wu, Hao A" , "Wang, Jian J" , "Gao, Liming" , Michael Kubacki , Sean Brogan Subject: Re: [edk2-devel][PATCH v1 1/2] Add the volatile keyword to NvmExpressDxe's Passthru CQs and SQs. Thread-Topic: [edk2-devel][PATCH v1 1/2] Add the volatile keyword to NvmExpressDxe's Passthru CQs and SQs. Thread-Index: AQHZcxh4QC2OiTIigkSAeyFQOYcqDa8zXSag Date: Thu, 20 Apr 2023 00:48:57 +0000 Message-ID: References: <20230419234108.10243-1-osde@linux.microsoft.com> <20230419234108.10243-2-osde@linux.microsoft.com> In-Reply-To: <20230419234108.10243-2-osde@linux.microsoft.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: 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_|SA2PR11MB4924:EE_ x-ms-office365-filtering-correlation-id: 8b470dba-5a6b-4b94-befe-08db413905f9 x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: A/OrXfLiMMVk/JFg0PjFKQ2fhaY0+nAn8gyPUqOPeBrF24AOo45FpspAbJFbsrjSygPSx/oPLrUnxPvDTu3VFWWt2xSFeli69U0XlTiQeqY9dSdoXxTOW97f4kNg8hsqekXU7a9Rfh4LPi3bYpKXoJEeD0luXDSwQhriTgE5PWzAVHMg3iM70YaluY+tBc9t/Y2w0vvGvT5wqEnjqCTRKkrH4HC/KCy3jZ5qMH1DLodwr/RImJBo9pMa6q1AY1UQRxsacFR4XWso28R8VlIcEAbKsHx1oschfXcP6d8wRPEVpi2cSOv0GTG5I24LBA79hZ/kkdUPwfqTpfcIMsXQYWuX3xHkq6T4tTzH3CfDd+eGexLnbB6Lt2HDddsDNyJccKrEdOQTleLAejauh6Af0Mqx1mz6k+tJ71Wyxq5mRZlVfAnabT+1bw5ZFDFqPJ+VkXs83tVooi/OBm6ar59oZt3fFvDmo26XMmhNKVPn90UQoBhvNNuM5+DJmbszCO0ICzRHGTD02eLn9rbRvxS6/Q70tgSOFSGwKDwxXsdqRDI9rJPahiogLf/Dui7NbVz4Ouae+HOeOsp9KirHDSqs0ZO4DxgWAQ6rONdPo+nkeYECpuwhsu7CNdKDAFSZOwa8RF+EOwgnn/Friviewt9Nyw== 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:(13230028)(136003)(396003)(376002)(346002)(366004)(39860400002)(451199021)(66899021)(33656002)(8676002)(38100700002)(38070700005)(5660300002)(316002)(52536014)(122000001)(8936002)(86362001)(2906002)(55016003)(64756008)(82960400001)(66556008)(4326008)(66476007)(66946007)(41300700001)(66446008)(110136005)(76116006)(966005)(71200400001)(83380400001)(7696005)(26005)(186003)(9686003)(53546011)(54906003)(478600001)(6506007);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?yUdp6cMkEymJmpG+m3Pc6fNyvExGp0uF3gieSXdCxnKAzH5KFhTFJsOZiA0F?= =?us-ascii?Q?EQjUOet8SClx5d7tww0OqvOrjUIbja1wCT4AxnuyjguNVVVzrvYwSjpitg/t?= =?us-ascii?Q?+biECoR1QGjECXwkaCQgeITQRUT1yH558mNWLcIAwi7LRKO6xvlZDYZ5LXBK?= =?us-ascii?Q?++n111N1IWERSuNpFPBlIYNgdRnLHOED4kxV7htpV/K+JCFvmHz8rm7DlC7q?= =?us-ascii?Q?m4AFN34voZYIP9T4f0Ikwagz8tC9Z2KfMess6y8s9gSpjTMgLnyDFrxFnifY?= =?us-ascii?Q?ct6/WY92VZ10GNGAp/Pqd3E0voaR8RZ/hij06ysRHd7HjLM2g9/9QSeYBZZ/?= =?us-ascii?Q?kdYsuEqMlYMDls6q/e/ilBXmQ8+WhuRN5sPpNbwlvpi+rS8RD5eZjAIoXGc0?= =?us-ascii?Q?Lbh2KAvh5XhnZPzNb1kJusTAiq7JhPFwLsT4uSqgMtbc5ikfncg7nk2Zrwmm?= =?us-ascii?Q?1X+gqRfggf4Vl+oseLxDOpAPfKCKL+UlyIUdQNu0W36tQDjqym2hZobY1i1G?= =?us-ascii?Q?o1AlJ25TYxBgwHr4d5aHgxdwlt9RbU2zTGhYDlBv3i6JNqeckvz9tC2dv7R9?= =?us-ascii?Q?9Q9puAyhWuUiojsWyiqw9PYcavx1FR6j1ScxxCjBLTCt60GBmfIgDpyN0KzG?= =?us-ascii?Q?GpTmXoChV1XxHT+KxThJPRQgcNmIVtvEF4gjQkJ/WKx87d5mUGdsG0/LA/kF?= =?us-ascii?Q?25cDZZLHSDJ4NIcTH/QUhTdky2uKfSGhbf12YCcqcRLABYXoS3+JqMhErNRU?= =?us-ascii?Q?Ytrmtu3EMXMIxmOuIVKgA2eXrXHD3jdJVwB/8Ozd934wtGbaEc9ew2ar6D4y?= =?us-ascii?Q?1p0i9TgYa5X/rcvmnJbc6OZEw/2Mw3TwJr7aXYB47LTNIgz8B9WojheYhG3p?= =?us-ascii?Q?LNQ5wSoHs+x5sPywuYVxo2WCA7MFePjFaLJxKiRzfmO9b9ujXf61o3/mHg/o?= =?us-ascii?Q?Br1qnopUWbfkhQTSHNprXOv2q/6YVnhJ0cnEy83mxNspQ8Ww6Et1A2ZwQInA?= =?us-ascii?Q?o4K6alzE/UeL5H4zfAkKOfUEVOPCr5GjYITBdCAi7UuvWA2K7x0OUiO+5ZhN?= =?us-ascii?Q?HIF79eeiLnlyXJGITiKwhkCdaQ+ixOjHIL1REwceMt8xLVrL1dSDuMOHWAR9?= =?us-ascii?Q?/elXcmGtfolylE4rdpNcQbNLq+sWIcnDtyejX7TP3THDnYt/ApTzLKI0wwRH?= =?us-ascii?Q?8mDCXQd+U5YZOTJLHcJlfIbhB0whFlNmmdaetCgNHcirhsCccp5TUIq0dP2C?= =?us-ascii?Q?PXgH3ln1vz+POdbo5RG45Tt/rRU7nBhAGVdKJxFsQLgTerxzLvF++7MtG+VZ?= =?us-ascii?Q?821KohG5TKF1kNTwkwFcm7s8WpsI5LgrYrN+2IVToAAYf65kIGgrAWhH0+db?= =?us-ascii?Q?X753bHNnXBj7/oC4C8WTsqyUWlXItwskcn1ZZhWHyu8B6sWJZECuuXtOsuOz?= =?us-ascii?Q?vUTypgIfp66ZYjo7H7n6xOFn6rKYAWq2Y9hKd7Y2JCKvKwhGSfDnFCvcT1HN?= =?us-ascii?Q?GUkqxhPP1/r+WPn7IBF7RpwdziYALB9YHlojZOACLqLw+TPYN4xxF7iDZnh2?= =?us-ascii?Q?URnSIKHJX8AF+gj2bVM=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: 8b470dba-5a6b-4b94-befe-08db413905f9 X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Apr 2023 00:48:57.2228 (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: vnTBX5FOS8JMvBV/QSE2dOrvpuDVjj5qCKLC1LH3JklVqLQamgm2BFUO4gUQkVyMJzkk5mDCiwhtRTf+gzPscA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR11MB4924 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 If it's to copy from hw to sw memory, why do we need volatile? Thanks, Ray > -----Original Message----- > From: devel@edk2.groups.io On Behalf Of Oliver > Smith-Denny > Sent: Thursday, April 20, 2023 7:41 AM > To: devel@edk2.groups.io > Cc: Wu, Hao A ; Ni, Ray ; Wang, > Jian J ; Gao, Liming ; > Michael Kubacki ; Sean Brogan > > Subject: [edk2-devel][PATCH v1 1/2] Add the volatile keyword to > NvmExpressDxe's Passthru CQs and SQs. >=20 > This updates the relevant functions that expect a non-volatile >=20 > structure to be passed to them to take casts of the CQ and SQ, >=20 > now that they are volatile. >=20 >=20 >=20 > Cc: Hao A Wu >=20 > Cc: Ray Ni >=20 > Cc: Jian J Wang >=20 > Cc: Liming Gao >=20 > Cc: Michael Kubacki >=20 > Cc: Sean Brogan >=20 > Signed-off-by: Oliver Smith-Denny >=20 > --- >=20 > MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressPassthru.c | 10 > +++++----- >=20 > 1 file changed, 5 insertions(+), 5 deletions(-) >=20 >=20 >=20 > diff --git a/MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressPassthru.c > b/MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressPassthru.c >=20 > index f37baa626a16..1a7e39500ac0 100644 >=20 > --- a/MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressPassthru.c >=20 > +++ b/MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressPassthru.c >=20 > @@ -459,8 +459,8 @@ NvmExpressPassThru ( >=20 > EFI_STATUS Status; >=20 > EFI_STATUS PreviousStatus; >=20 > EFI_PCI_IO_PROTOCOL *PciIo; >=20 > - NVME_SQ *Sq; >=20 > - NVME_CQ *Cq; >=20 > + volatile NVME_SQ *Sq; >=20 > + volatile NVME_CQ *Cq; >=20 > UINT16 QueueId; >=20 > UINT16 QueueSize; >=20 > UINT32 Bytes; >=20 > @@ -581,7 +581,7 @@ NvmExpressPassThru ( >=20 > return EFI_INVALID_PARAMETER; >=20 > } >=20 >=20 >=20 > - ZeroMem (Sq, sizeof (NVME_SQ)); >=20 > + ZeroMem ((VOID *)Sq, sizeof (NVME_SQ)); >=20 > Sq->Opc =3D (UINT8)Packet->NvmeCmd->Cdw0.Opcode; >=20 > Sq->Fuse =3D (UINT8)Packet->NvmeCmd->Cdw0.FusedOperation; >=20 > Sq->Cid =3D Private->Cid[QueueId]++; >=20 > @@ -815,14 +815,14 @@ NvmExpressPassThru ( >=20 > // Dump every completion entry status for debugging. >=20 > // >=20 > DEBUG_CODE_BEGIN (); >=20 > - NvmeDumpStatus (Cq); >=20 > + NvmeDumpStatus ((NVME_CQ *)Cq); >=20 > DEBUG_CODE_END (); >=20 > } >=20 >=20 >=20 > // >=20 > // Copy the Respose Queue entry for this command to the callers > response buffer >=20 > // >=20 > - CopyMem (Packet->NvmeCompletion, Cq, sizeof > (EFI_NVM_EXPRESS_COMPLETION)); >=20 > + CopyMem (Packet->NvmeCompletion, (VOID *)Cq, sizeof > (EFI_NVM_EXPRESS_COMPLETION)); >=20 > } else { >=20 > // >=20 > // Timeout occurs for an NVMe command. Reset the controller to abort > the >=20 > -- >=20 > 2.39.2 >=20 >=20 >=20 >=20 >=20 > -=3D-=3D-=3D-=3D-=3D-=3D > Groups.io Links: You receive all messages sent to this group. > View/Reply Online (#103263): > https://edk2.groups.io/g/devel/message/103263 > Mute This Topic: https://groups.io/mt/98378948/1712937 > Group Owner: devel+owner@edk2.groups.io > Unsubscribe: https://edk2.groups.io/g/devel/unsub [ray.ni@intel.com] > -=3D-=3D-=3D-=3D-=3D-=3D >=20