X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=IntelFspPkg%2FLibrary%2FBaseCacheLib%2FCacheLib.c;h=1a089185974f6d7811a6f7a273394cbb55eeeba9;hp=40d404dd69e70660868ae3fa55bb687d4ae1e799;hb=c8c48cbb19bd1cd973b8fa340036805f584c99c9;hpb=087c67d0a0847f61b70fa565361ff88fe80e46e5 diff --git a/IntelFspPkg/Library/BaseCacheLib/CacheLib.c b/IntelFspPkg/Library/BaseCacheLib/CacheLib.c index 40d404dd69..1a08918597 100644 --- a/IntelFspPkg/Library/BaseCacheLib/CacheLib.c +++ b/IntelFspPkg/Library/BaseCacheLib/CacheLib.c @@ -1,6 +1,6 @@ /** @file - Copyright (c) 2014, Intel Corporation. All rights reserved.
+ Copyright (c) 2014 - 2015, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at @@ -17,17 +17,6 @@ #include #include "CacheLibInternal.h" -/** - Calculate the maximum value which is a power of 2, but less the Input. - - @param[in] Input The number to pass in. - @return The maximum value which is align to power of 2 and less the Input -**/ -UINT32 -SetPower2 ( - IN UINT32 Input - ); - /** Search the memory cache type for specific memory from MTRR. @@ -236,11 +225,7 @@ Power2MaxMemory ( // // Compute inital power of 2 size to return // - if (RShiftU64(MemoryLength, 32)) { - Result = LShiftU64((UINT64)SetPower2((UINT32) RShiftU64(MemoryLength, 32)), 32); - } else { - Result = (UINT64)SetPower2((UINT32)MemoryLength); - } + Result = GetPowerOfTwo64(MemoryLength); // // Special case base of 0 as all ranges are valid @@ -295,37 +280,6 @@ CheckMtrrAlignment ( return ShiftedBase % ShiftedSize; } -/** - Calculate the maximum value which is a power of 2, but less the Input. - - @param[in] Input The number to pass in. - - @return The maximum value which is align to power of 2 and less the Input. -**/ -UINT32 -SetPower2 ( - IN UINT32 Input - ) -{ - UINT32 Result; - - Result = 0; -#if defined(__GCC__) - asm("bsr %1, \ - %%eax; \ - bts %%eax, \ - %0;" :"=r"(Result) : - "r"(Input) - ); -#elif defined(_MSC_VER) - _asm { - bsr eax, Input - bts Result, eax - } -#endif - return Result; -} - /** Programs fixed MTRRs registers.