From 4ba61e5e2a1b3cec7faaad36c252738f6f57f8a6 Mon Sep 17 00:00:00 2001 From: qhuang8 Date: Thu, 22 Jun 2006 06:08:00 +0000 Subject: =?UTF-8?q?1.=20UINTN=20&=20INTN=20issue=20for=20EBC=20architectur?= =?UTF-8?q?e:=20=09The=20MAX=5FBIT=20of=20EBC=20will=20no=20longer=20be=20?= =?UTF-8?q?fixed=20to=20bit=2063.=20It=20is=20defined=20as=20(1ULL=20<<=20?= =?UTF-8?q?(sizeof=20(INTN)=20*=208=20-=201)).=20=09Make=20EdkModulePkg=20?= =?UTF-8?q?&=20MdePkg=20EBC=20compiler=20clean:=20treat=20all=20EFI=5FSTAT?= =?UTF-8?q?US=20error=20code=20as=20variable.=202.=20PrintLib=20=09Complet?= =?UTF-8?q?e=20all=20missing=20ASSERT()s.=20=09Fix=20=E2=80=9C\n=E2=80=9D?= =?UTF-8?q?=20&=20=E2=80=9C%\n=E2=80=9D=20issue=20thanks=20to=20the=20clar?= =?UTF-8?q?ification=20of=20MWG=200.56d.=20=09Adjust=20StatusString=20arra?= =?UTF-8?q?y=20to=20support=20EBC=20build.=203.=20BaseMemoryLib=20=09Adjus?= =?UTF-8?q?t=20ASSERT=20()=20&=20function=20header=20of=20ComparaMem,=20Se?= =?UTF-8?q?tMemXX,=20ScanMemXX=20to=20synchronize=20with=20MWG=200.56d.=20?= =?UTF-8?q?4.SmbusLib=20=09Change=20Pec=20bit=20to=20bit=2022=20SmBusAddre?= =?UTF-8?q?ss=20to=20synchronize=20MWG=200.56d.=20=09Add=20ASSERT()s=20to?= =?UTF-8?q?=20check=20if=20length=20is=20illegal=20for=20SmBusBlockWrite()?= =?UTF-8?q?=20&=20SmBusProcessBlock()=20since=20it=20is=206=20bit=20now.?= =?UTF-8?q?=205.=20PerformanceLib=20=09Rename=20=E2=80=9CEdkDxePerformance?= =?UTF-8?q?Lib=E2=80=9D=20&=20=E2=80=9CEdkPeiPerformanceLib=E2=80=9D=20to?= =?UTF-8?q?=20=E2=80=9CDxePerformanceLib=E2=80=9D=20&=20=E2=80=9CPeiPerfor?= =?UTF-8?q?manceLib=E2=80=9D=20respectively.=20=09Synchronize=20the=20func?= =?UTF-8?q?tion=20header=20of=20GetPerformanceMeasurement()=20with=20MWG?= =?UTF-8?q?=200.56d.=206.=20BasePeCoffLoaderLib.=20=09Make=20PeCoffLoaderL?= =?UTF-8?q?oadImage=20()=20Assert()=20if=20ImageContext=20is=20NULL>=20=09?= =?UTF-8?q?Make=20PeCoffLoaderLoadImage=20()=20return=20RETURN=5FINVALID?= =?UTF-8?q?=5FPARAMETER=20if=20the=20ImageAddress=20in=20ImageContext=20is?= =?UTF-8?q?=200.=20=09Adjust=20some=20coding=20style.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@593 6f19259b-4bc3-4df7-8a09-765794883524 --- .../Library/BaseMemoryLibSse2/ScanMem64Wrapper.c | 38 ++++++++++------------ 1 file changed, 18 insertions(+), 20 deletions(-) (limited to 'MdePkg/Library/BaseMemoryLibSse2/ScanMem64Wrapper.c') diff --git a/MdePkg/Library/BaseMemoryLibSse2/ScanMem64Wrapper.c b/MdePkg/Library/BaseMemoryLibSse2/ScanMem64Wrapper.c index c5f0762ebe..228c864b04 100644 --- a/MdePkg/Library/BaseMemoryLibSse2/ScanMem64Wrapper.c +++ b/MdePkg/Library/BaseMemoryLibSse2/ScanMem64Wrapper.c @@ -26,25 +26,22 @@ #include "MemLibInternals.h" /** - Scans a target buffer for a 64-bit value, and returns a pointer to the - matching 64-bit value in the target buffer. + Scans a target buffer for a 64-bit value, and returns a pointer to the matching 64-bit value + in the target buffer. - This function searches target the buffer specified by Buffer and Length from - the lowest address to the highest address at 64-bit increments for a 64-bit - value that matches Value. If a match is found, then a pointer to the matching - value in the target buffer is returned. If no match is found, then NULL is - returned. If Length is 0, then NULL is returned. - - If Buffer is NULL, then ASSERT(). + This function searches target the buffer specified by Buffer and Length from the lowest + address to the highest address for a 64-bit value that matches Value. If a match is found, + then a pointer to the matching byte in the target buffer is returned. If no match is found, + then NULL is returned. If Length is 0, then NULL is returned. + If Length > 0 and Buffer is NULL, then ASSERT(). If Buffer is not aligned on a 64-bit boundary, then ASSERT(). - If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT(). + If Length is greater than (MAX_ADDRESS – Buffer + 1), then ASSERT(). - @param Buffer Pointer to the target buffer to scan. - @param Length Number of bytes in Buffer to scan. - @param Value Value to search for in the target buffer. + @param Buffer Pointer to the target buffer to scan. + @param Length Number of bytes in Buffer to scan. + @param Value Value to search for in the target buffer. - @return Pointer to the first occurrence or NULL if not found. - @retval NULL if Length == 0 or Value was not found. + @return A pointer to the matching byte in the target buffer or NULL otherwise. **/ VOID * @@ -55,12 +52,13 @@ ScanMem64 ( IN UINT64 Value ) { + if (Length == 0) { + return NULL; + } + ASSERT (Buffer != NULL); ASSERT (((UINTN)Buffer & (sizeof (Value) - 1)) == 0); - ASSERT (Length <= MAX_ADDRESS + (UINTN)Buffer + 1); + ASSERT ((Length - 1) <= (MAX_ADDRESS - (UINTN)Buffer)); - if ((Length /= sizeof (Value)) == 0) { - return NULL; - } - return (VOID*)InternalMemScanMem64 (Buffer, Length, Value); + return (VOID*)InternalMemScanMem64 (Buffer, Length / sizeof (Value), Value); } -- cgit v1.2.3