From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: 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 3E34181F43 for ; Thu, 1 Dec 2016 20:55:25 -0800 (PST) Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga102.jf.intel.com with ESMTP; 01 Dec 2016 20:55:24 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.33,284,1477983600"; d="scan'208";a="793326263" Received: from shzintpr01.sh.intel.com (HELO [10.253.24.29]) ([10.239.4.80]) by FMSMGA003.fm.intel.com with ESMTP; 01 Dec 2016 20:55:23 -0800 To: "Yao, Jiewen" , Laszlo Ersek , edk2-devel-01 References: <20161201175556.2479-1-lersek@redhat.com> <74D8A39837DF1E4DA445A8C0B3885C50386DF380@shsmsx102.ccr.corp.intel.com> Cc: "Kinney, Michael D" , "Tian, Feng" , "Gao, Liming" , "Wei, David" , star.zeng@intel.com From: "Zeng, Star" Message-ID: <315be37c-ddd0-1ddf-0953-bacf0624d67f@intel.com> Date: Fri, 2 Dec 2016 12:54:52 +0800 User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 MIME-Version: 1.0 In-Reply-To: <74D8A39837DF1E4DA445A8C0B3885C50386DF380@shsmsx102.ccr.corp.intel.com> Subject: Re: [PATCH 0/3] MdePkg, MdeModulePkg, Vlv2TbltDevicePkg: 64-bit LoopTimes in S3 MEM_POLL X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 02 Dec 2016 04:55:25 -0000 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit On 2016/12/2 9:53, Yao, Jiewen wrote: > HI Laszlo > Thank you to raise this long time existing issue. :-) > > There is historic reason that we inherit this undocumented API from EDK-I to EDKII. > > I do not object your update. > I am thinking if it is time to create a new API which can match PI specification, and suggest all consumers use the new API. > > RETURN_STATUS > EFIAPI > S3BootScriptSavePiMemPoll ( > IN S3_BOOT_SCRIPT_LIB_WIDTH Width, > IN UINT64 Address, > IN VOID *Data, > IN VOID *DataMask, > IN UINT64 Delay, > ); If the new API is introduced, the old one could be marked as deprecated by DISABLE_NEW_DEPRECATED_INTERFACES. Thanks, Star > > Thank you > Yao Jiewen > > >> -----Original Message----- >> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of >> Laszlo Ersek >> Sent: Friday, December 2, 2016 1:56 AM >> To: edk2-devel-01 >> Cc: Tian, Feng ; Gao, Liming ; >> Kinney, Michael D ; Zeng, Star >> ; Wei, David >> Subject: [edk2] [PATCH 0/3] MdePkg, MdeModulePkg, Vlv2TbltDevicePkg: >> 64-bit LoopTimes in S3 MEM_POLL >> >> While working on S3 boot script related stuff in OVMF, I wanted to see >> if infinite blocking was possible in the various POLL opcodes. While >> edk2's implementation of IO_POLL, PCI_CONFIG_POLL and >> PCI_CONFIG2_POLL >> follows the PI spec vol5 closely, even internally (using 100ns delay >> units), the MEM_POLL internals differ -- they are microseconds based. >> >> That's not a problem per se (it's just a different internal opcode >> representation, which is fine); the problem is that the current >> internals don't conform to the spec: in 32-bit builds, the UINT64 number >> of 100ns units that the caller intends to wait for is silently >> truncated, for no good reason. This issue is not hard to fix (we can >> even keep the microseconds-based internals), so let's fix it. >> >> Repo: https://github.com/lersek/edk2/ >> Branch: mempoll_looptimes_64bit >> >> Cc: David Wei >> Cc: Feng Tian >> Cc: Liming Gao >> Cc: Mang Guo >> Cc: Michael D Kinney >> Cc: Star Zeng >> >> Thanks >> Laszlo >> >> Laszlo Ersek (3): >> MdePkg, MdeModulePkg: S3BootScriptSaveMemPoll(): accept 64-bit >> LoopTimes >> MdeModulePkg: S3SaveStateDxe, SmmS3SaveState: save 64-bit >> LoopTimes >> Vlv2TbltDevicePkg/BootScriptSaveDxe: save 64-bit LoopTimes >> >> MdeModulePkg/Library/PiDxeS3BootScriptLib/BootScriptSave.c | 2 +- >> MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveState.c | 8 >> ++++---- >> MdeModulePkg/Universal/Acpi/SmmS3SaveState/SmmS3SaveState.c | 8 >> ++++---- >> MdePkg/Include/Library/S3BootScriptLib.h | 2 +- >> MdePkg/Library/BaseS3BootScriptLibNull/BootScriptLib.c | 2 +- >> Vlv2TbltDevicePkg/BootScriptSaveDxe/ScriptSave.c | 4 ++-- >> 6 files changed, 13 insertions(+), 13 deletions(-) >> >> -- >> 2.9.2 >> >> _______________________________________________ >> edk2-devel mailing list >> edk2-devel@lists.01.org >> https://lists.01.org/mailman/listinfo/edk2-devel