From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=134.134.136.24; helo=mga09.intel.com; envelope-from=star.zeng@intel.com; receiver=edk2-devel@lists.01.org Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 0FEB42095B070 for ; Mon, 9 Oct 2017 00:31:46 -0700 (PDT) Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 09 Oct 2017 00:35:12 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.42,499,1500966000"; d="scan'208";a="908088707" Received: from fmsmsx106.amr.corp.intel.com ([10.18.124.204]) by FMSMGA003.fm.intel.com with ESMTP; 09 Oct 2017 00:35:12 -0700 Received: from fmsmsx111.amr.corp.intel.com (10.18.116.5) by FMSMSX106.amr.corp.intel.com (10.18.124.204) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 9 Oct 2017 00:35:11 -0700 Received: from shsmsx103.ccr.corp.intel.com (10.239.4.69) by fmsmsx111.amr.corp.intel.com (10.18.116.5) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 9 Oct 2017 00:35:11 -0700 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.175]) by SHSMSX103.ccr.corp.intel.com ([169.254.4.213]) with mapi id 14.03.0319.002; Mon, 9 Oct 2017 15:35:10 +0800 From: "Zeng, Star" To: "Ni, Ruiyu" , "edk2-devel@lists.01.org" CC: "Zeng, Star" Thread-Topic: [edk2] [PATCH] MdeModulePkg/S3SaveState: Extract arguments in correct order Thread-Index: AQHTQM4d9HkXJkjETky6Y4aD15jLHKLbIIwA Date: Mon, 9 Oct 2017 07:35:09 +0000 Message-ID: <0C09AFA07DD0434D9E2A0C6AEB0483103B97F375@shsmsx102.ccr.corp.intel.com> References: <20171009071308.297964-1-ruiyu.ni@intel.com> In-Reply-To: <20171009071308.297964-1-ruiyu.ni@intel.com> Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [PATCH] MdeModulePkg/S3SaveState: Extract arguments in correct order 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: Mon, 09 Oct 2017 07:31:46 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Star Zeng -----Original Message----- From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Ruiy= u Ni Sent: Monday, October 9, 2017 3:13 PM To: edk2-devel@lists.01.org Cc: Zeng, Star Subject: [edk2] [PATCH] MdeModulePkg/S3SaveState: Extract arguments in corr= ect order EFI_BOOT_SCRIPT_WRITE() interface is a var-arg interface. Spec defines the order of parameters for EFI_BOOT_SCRIPT_PCI_CONFIG2_WRITE_= OPCODE as below: typedef EFI_STATUS (EFIAPI *EFI_BOOT_SCRIPT_WRITE) ( IN CONST EFI_S3_SAVE_STATE_PROTOCOL *This, IN UINT16 OpCode, IN EFI_BOOT_SCRIPT_WIDTH Width, IN UINT16 Segment, IN UINT64 Address, IN UINTN Count, IN VOID *Buffer ); But implementation assumes Segment is in the very end, after Buffer. Similar spec/implementation gaps are also found for EFI_BOOT_SCRIPT_PCI_CON= FIG2_READ_WRITE_OPCODE. The patch fixes the implementation to extract the arguments in correct orde= r. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ruiyu Ni Cc: Star Zeng --- MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveState.c | 6 +++--- MdeModulePkg/Universal/Acpi/SmmS3SaveState/SmmS3SaveState.c | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveState.c b/Mde= ModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveState.c index efc0ef9140..d73005156c 100644 --- a/MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveState.c +++ b/MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveState.c @@ -1,7 +1,7 @@ /** @file Implementation for S3 Boot Script Saver state driver. =20 - Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.
+ Copyright (c) 2006 - 2017, Intel Corporation. All rights=20 + reserved.
=20 This program and the accompanying materials are licensed and made available under the terms and conditions @@ -210,1= 0 +210,10 @@ BootScriptWritePciCfg2Write ( UINT16 Segment; =20 Width =3D VA_ARG (Marker, S3_BOOT_SCRIPT_LIB_WIDTH); + Segment =3D VA_ARG (Marker, UINT16); Address =3D VA_ARG (Marker, UINT64); Count =3D VA_ARG (Marker, UINTN); Buffer =3D VA_ARG (Marker, UINT8 *); - Segment =3D VA_ARG (Marker, UINT16); =20 return S3BootScriptSavePciCfg2Write (Width, Segment, Address, Count, Buf= fer); } @@ -240,8 +240,8 @@ BootScriptWritePciCfg2ReadWrite ( UINT8 *DataMask; =20 Width =3D VA_ARG (Marker, S3_BOOT_SCRIPT_LIB_WIDTH); - Address =3D VA_ARG (Marker, UINT64); Segment =3D VA_ARG (Marker, UINT16); + Address =3D VA_ARG (Marker, UINT64); Data =3D VA_ARG (Marker, UINT8 *); DataMask =3D VA_ARG (Marker, UINT8 *); =20 diff --git a/MdeModulePkg/Universal/Acpi/SmmS3SaveState/SmmS3SaveState.c b/= MdeModulePkg/Universal/Acpi/SmmS3SaveState/SmmS3SaveState.c index 0d1580dc35..f397db37fd 100644 --- a/MdeModulePkg/Universal/Acpi/SmmS3SaveState/SmmS3SaveState.c +++ b/MdeModulePkg/Universal/Acpi/SmmS3SaveState/SmmS3SaveState.c @@ -1,7 +1,7 @@ /** @file Implementation for S3 SMM Boot Script Saver state driver. =20 - Copyright (c) 2010 - 2016, Intel Corporation. All rights reserved.
+ Copyright (c) 2010 - 2017, Intel Corporation. All rights=20 + reserved.
=20 This program and the accompanying materials are licensed and made available under the terms and conditions @@ -209,1= 0 +209,10 @@ BootScriptWritePciCfg2Write ( UINT16 Segment; =20 Width =3D VA_ARG (Marker, S3_BOOT_SCRIPT_LIB_WIDTH); + Segment =3D VA_ARG (Marker, UINT16); Address =3D VA_ARG (Marker, UINT64); Count =3D VA_ARG (Marker, UINTN); Buffer =3D VA_ARG (Marker, UINT8 *); - Segment =3D VA_ARG (Marker, UINT16); =20 return S3BootScriptSavePciCfg2Write (Width, Segment, Address, Count, Buf= fer); } @@ -239,8 +239,8 @@ BootScriptWritePciCfg2ReadWrite ( UINT8 *DataMask; =20 Width =3D VA_ARG (Marker, S3_BOOT_SCRIPT_LIB_WIDTH); - Address =3D VA_ARG (Marker, UINT64); Segment =3D VA_ARG (Marker, UINT16); + Address =3D VA_ARG (Marker, UINT64); Data =3D VA_ARG (Marker, UINT8 *); DataMask =3D VA_ARG (Marker, UINT8 *); =20 -- 2.12.2.windows.2 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel