diff options
Diffstat (limited to 'MdePkg/Library/BaseSynchronizationLib/Ia32/InternalGetSpinLockProperties.c')
-rw-r--r-- | MdePkg/Library/BaseSynchronizationLib/Ia32/InternalGetSpinLockProperties.c | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/MdePkg/Library/BaseSynchronizationLib/Ia32/InternalGetSpinLockProperties.c b/MdePkg/Library/BaseSynchronizationLib/Ia32/InternalGetSpinLockProperties.c deleted file mode 100644 index 60f5c7f36b..0000000000 --- a/MdePkg/Library/BaseSynchronizationLib/Ia32/InternalGetSpinLockProperties.c +++ /dev/null @@ -1,64 +0,0 @@ -/** @file
- Internal function to get spin lock alignment.
-
- Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
- 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
- http://opensource.org/licenses/bsd-license.php.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
-**/
-
-#include "BaseSynchronizationLibInternals.h"
-
-/**
- Internal function to retrieve the architecture specific spin lock alignment
- requirements for optimal spin lock performance.
-
- @return The architecture specific spin lock alignment.
-
-**/
-UINTN
-InternalGetSpinLockProperties (
- VOID
- )
-{
- UINT32 RegEax;
- UINT32 RegEbx;
- UINTN FamilyId;
- UINTN ModelId;
- UINTN CacheLineSize;
-
- //
- // Retrieve CPUID Version Information
- //
- AsmCpuid (0x01, &RegEax, &RegEbx, NULL, NULL);
- //
- // EBX: Bits 15 - 08: CLFLUSH line size (Value * 8 = cache line size)
- //
- CacheLineSize = ((RegEbx >> 8) & 0xff) * 8;
- //
- // Retrieve CPU Family and Model
- //
- FamilyId = (RegEax >> 8) & 0xf;
- ModelId = (RegEax >> 4) & 0xf;
- if (FamilyId == 0x0f) {
- //
- // In processors based on Intel NetBurst microarchitecture, use two cache lines
- //
- ModelId = ModelId | ((RegEax >> 12) & 0xf0);
- if (ModelId <= 0x04 || ModelId == 0x06) {
- CacheLineSize *= 2;
- }
- }
-
- if (CacheLineSize < 32) {
- CacheLineSize = 32;
- }
-
- return CacheLineSize;
-}
-
|