From c8c48cbb19bd1cd973b8fa340036805f584c99c9 Mon Sep 17 00:00:00 2001 From: "Yao, Jiewen" Date: Tue, 28 Apr 2015 02:48:57 +0000 Subject: [PATCH] Replace SetPower2 by EDKII baselib - GetPowerOfTwo64. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: "Yao, Jiewen" Reviewed-by: "Ma, Maurice" git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17222 6f19259b-4bc3-4df7-8a09-765794883524 --- IntelFspPkg/Library/BaseCacheLib/CacheLib.c | 50 +-------------------- 1 file changed, 2 insertions(+), 48 deletions(-) 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. -- 2.39.2