From bbc3c2d52617d8425e5a72f74c2e20b8686a0627 Mon Sep 17 00:00:00 2001 From: mdkinney Date: Fri, 30 Jan 2009 00:47:57 +0000 Subject: Split out Synchronization Library from Base Library git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7378 6f19259b-4bc3-4df7-8a09-765794883524 --- .../BaseLib/Ipf/InterlockedCompareExchange32.s | 29 -------- .../BaseLib/Ipf/InterlockedCompareExchange64.s | 28 -------- MdePkg/Library/BaseLib/Ipf/Synchronization.c | 77 ---------------------- 3 files changed, 134 deletions(-) delete mode 100644 MdePkg/Library/BaseLib/Ipf/InterlockedCompareExchange32.s delete mode 100644 MdePkg/Library/BaseLib/Ipf/InterlockedCompareExchange64.s delete mode 100644 MdePkg/Library/BaseLib/Ipf/Synchronization.c (limited to 'MdePkg/Library/BaseLib/Ipf') diff --git a/MdePkg/Library/BaseLib/Ipf/InterlockedCompareExchange32.s b/MdePkg/Library/BaseLib/Ipf/InterlockedCompareExchange32.s deleted file mode 100644 index de44573b0f..0000000000 --- a/MdePkg/Library/BaseLib/Ipf/InterlockedCompareExchange32.s +++ /dev/null @@ -1,29 +0,0 @@ -/// @file -/// Contains an implementation of InterlockedCompareExchange32 on Itanium- -/// based architecture. -/// -/// Copyright (c) 2006 - 2008, 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 -/// 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. -/// -/// Module Name: InterlockedCompareExchange32.s -/// -/// - -.auto -.text - -.proc InternalSyncCompareExchange32 -.type InternalSyncCompareExchange32, @function -InternalSyncCompareExchange32:: - zxt4 r33 = r33 - mov ar.ccv = r33 - cmpxchg4.rel r8 = [r32], r34 - mf - br.ret.sptk.many b0 -.endp InternalSyncCompareExchange32 diff --git a/MdePkg/Library/BaseLib/Ipf/InterlockedCompareExchange64.s b/MdePkg/Library/BaseLib/Ipf/InterlockedCompareExchange64.s deleted file mode 100644 index 7fe33fbc34..0000000000 --- a/MdePkg/Library/BaseLib/Ipf/InterlockedCompareExchange64.s +++ /dev/null @@ -1,28 +0,0 @@ -/// @file -/// Contains an implementation of InterlockedCompareExchange64 on Itanium- -/// based architecture. -/// -/// Copyright (c) 2006 - 2008, 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 -/// 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. -/// -/// Module Name: InterlockedCompareExchange64.s -/// -/// - -.auto -.text - -.proc InternalSyncCompareExchange64 -.type InternalSyncCompareExchange64, @function -InternalSyncCompareExchange64:: - mov ar.ccv = r33 - cmpxchg8.rel r8 = [r32], r34 - mf - br.ret.sptk.many b0 -.endp InternalSyncCompareExchange64 diff --git a/MdePkg/Library/BaseLib/Ipf/Synchronization.c b/MdePkg/Library/BaseLib/Ipf/Synchronization.c deleted file mode 100644 index e1cc468879..0000000000 --- a/MdePkg/Library/BaseLib/Ipf/Synchronization.c +++ /dev/null @@ -1,77 +0,0 @@ -/** @file - Implementation of synchronization functions on Itanium. - - Copyright (c) 2006, 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 - 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 "BaseLibInternals.h" - -/** - Performs an atomic increment of an 32-bit unsigned integer. - - Performs an atomic increment of the 32-bit unsigned integer specified by - Value and returns the incremented value. The increment operation must be - performed using MP safe mechanisms. The state of the return value is not - guaranteed to be MP safe. - - @param Value A pointer to the 32-bit value to increment. - - @return The incremented value. - -**/ -UINT32 -EFIAPI -InternalSyncIncrement ( - IN volatile UINT32 *Value - ) -{ - UINT32 OriginalValue; - - do { - OriginalValue = *Value; - } while (OriginalValue != InternalSyncCompareExchange32 ( - Value, - OriginalValue, - OriginalValue + 1 - )); - return OriginalValue + 1; -} - -/** - Performs an atomic decrement of an 32-bit unsigned integer. - - Performs an atomic decrement of the 32-bit unsigned integer specified by - Value and returns the decrement value. The decrement operation must be - performed using MP safe mechanisms. The state of the return value is not - guaranteed to be MP safe. - - @param Value A pointer to the 32-bit value to decrement. - - @return The decrement value. - -**/ -UINT32 -EFIAPI -InternalSyncDecrement ( - IN volatile UINT32 *Value - ) -{ - UINT32 OriginalValue; - - do { - OriginalValue = *Value; - } while (OriginalValue != InternalSyncCompareExchange32 ( - Value, - OriginalValue, - OriginalValue - 1 - )); - return OriginalValue - 1; -} -- cgit v1.2.3