summaryrefslogtreecommitdiff
path: root/MdePkg/Library/BaseLib/X64
diff options
context:
space:
mode:
authormdkinney <mdkinney@6f19259b-4bc3-4df7-8a09-765794883524>2009-01-30 00:47:57 +0000
committermdkinney <mdkinney@6f19259b-4bc3-4df7-8a09-765794883524>2009-01-30 00:47:57 +0000
commitbbc3c2d52617d8425e5a72f74c2e20b8686a0627 (patch)
tree358fce665c40bb9f8e9cb0ad29e6a07db78c79c3 /MdePkg/Library/BaseLib/X64
parent720d3c5fb31b6b2df535f7a281d5d9d297c5eede (diff)
downloadedk2-platforms-bbc3c2d52617d8425e5a72f74c2e20b8686a0627.tar.xz
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
Diffstat (limited to 'MdePkg/Library/BaseLib/X64')
-rw-r--r--MdePkg/Library/BaseLib/X64/InterlockedCompareExchange32.S37
-rw-r--r--MdePkg/Library/BaseLib/X64/InterlockedCompareExchange32.asm41
-rw-r--r--MdePkg/Library/BaseLib/X64/InterlockedCompareExchange32.c54
-rw-r--r--MdePkg/Library/BaseLib/X64/InterlockedCompareExchange64.S39
-rw-r--r--MdePkg/Library/BaseLib/X64/InterlockedCompareExchange64.asm41
-rw-r--r--MdePkg/Library/BaseLib/X64/InterlockedCompareExchange64.c53
-rw-r--r--MdePkg/Library/BaseLib/X64/InterlockedDecrement.S36
-rw-r--r--MdePkg/Library/BaseLib/X64/InterlockedDecrement.asm39
-rw-r--r--MdePkg/Library/BaseLib/X64/InterlockedDecrement.c46
-rw-r--r--MdePkg/Library/BaseLib/X64/InterlockedIncrement.S36
-rw-r--r--MdePkg/Library/BaseLib/X64/InterlockedIncrement.asm39
-rw-r--r--MdePkg/Library/BaseLib/X64/InterlockedIncrement.c46
12 files changed, 0 insertions, 507 deletions
diff --git a/MdePkg/Library/BaseLib/X64/InterlockedCompareExchange32.S b/MdePkg/Library/BaseLib/X64/InterlockedCompareExchange32.S
deleted file mode 100644
index 8faca8b7b1..0000000000
--- a/MdePkg/Library/BaseLib/X64/InterlockedCompareExchange32.S
+++ /dev/null
@@ -1,37 +0,0 @@
-#------------------------------------------------------------------------------
-#
-# 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
-#
-# Abstract:
-#
-# InterlockedCompareExchange32 function
-#
-# Notes:
-#
-#------------------------------------------------------------------------------
-
-#------------------------------------------------------------------------------
-# UINT32
-# EFIAPI
-# InterlockedCompareExchange32 (
-# IN UINT32 *Value,
-# IN UINT32 CompareValue,
-# IN UINT32 ExchangeValue
-# );
-#------------------------------------------------------------------------------
-.global ASM_PFX(InternalSyncCompareExchange32)
-ASM_PFX(InternalSyncCompareExchange32):
- mov %edx, %eax
- lock cmpxchg %r8d, (%rcx)
- ret
diff --git a/MdePkg/Library/BaseLib/X64/InterlockedCompareExchange32.asm b/MdePkg/Library/BaseLib/X64/InterlockedCompareExchange32.asm
deleted file mode 100644
index 55b055453f..0000000000
--- a/MdePkg/Library/BaseLib/X64/InterlockedCompareExchange32.asm
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; 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.
-;
-; Module Name:
-;
-; InterlockedCompareExchange32.Asm
-;
-; Abstract:
-;
-; InterlockedCompareExchange32 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; UINT32
-; EFIAPI
-; InterlockedCompareExchange32 (
-; IN UINT32 *Value,
-; IN UINT32 CompareValue,
-; IN UINT32 ExchangeValue
-; );
-;------------------------------------------------------------------------------
-InternalSyncCompareExchange32 PROC
- mov eax, edx
- lock cmpxchg [rcx], r8d
- ret
-InternalSyncCompareExchange32 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/InterlockedCompareExchange32.c b/MdePkg/Library/BaseLib/X64/InterlockedCompareExchange32.c
deleted file mode 100644
index 8efd994a6e..0000000000
--- a/MdePkg/Library/BaseLib/X64/InterlockedCompareExchange32.c
+++ /dev/null
@@ -1,54 +0,0 @@
-/** @file
- InterlockedCompareExchange32 function
-
- Copyright (c) 2006 - 2008, Intel Corporation<BR>
- 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.
-
-**/
-
-/**
- Microsoft Visual Studio 7.1 Function Prototypes for I/O Intrinsics.
-**/
-
-long _InterlockedCompareExchange(
- long volatile * Destination,
- long Exchange,
- long Comperand
-);
-
-#pragma intrinsic(_InterlockedCompareExchange)
-
-/**
- Performs an atomic compare exchange operation on a 32-bit unsigned integer.
-
- Performs an atomic compare exchange operation on the 32-bit unsigned integer
- specified by Value. If Value is equal to CompareValue, then Value is set to
- ExchangeValue and CompareValue is returned. If Value is not equal to CompareValue,
- then Value is returned. The compare exchange operation must be performed using
- MP safe mechanisms.
-
- @param Value A pointer to the 32-bit value for the compare exchange
- operation.
- @param CompareValue 32-bit value used in compare operation.
- @param ExchangeValue 32-bit value used in exchange operation.
-
- @return The original *Value before exchange.
-
-**/
-UINT32
-EFIAPI
-InternalSyncCompareExchange32 (
- IN UINT32 *Value,
- IN UINT32 CompareValue,
- IN UINT32 ExchangeValue
- )
-{
- return _InterlockedCompareExchange (Value, ExchangeValue, CompareValue);
-}
-
diff --git a/MdePkg/Library/BaseLib/X64/InterlockedCompareExchange64.S b/MdePkg/Library/BaseLib/X64/InterlockedCompareExchange64.S
deleted file mode 100644
index 5e6e163527..0000000000
--- a/MdePkg/Library/BaseLib/X64/InterlockedCompareExchange64.S
+++ /dev/null
@@ -1,39 +0,0 @@
-#------------------------------------------------------------------------------
-#
-# 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
-#
-# Abstract:
-#
-# InterlockedCompareExchange64 function
-#
-# Notes:
-#
-#------------------------------------------------------------------------------
-
-
-#------------------------------------------------------------------------------
-# UINT64
-# EFIAPI
-# InterlockedCompareExchange64 (
-# IN UINT64 *Value,
-# IN UINT64 CompareValue,
-# IN UINT64 ExchangeValue
-# );
-#------------------------------------------------------------------------------
-.global ASM_PFX(InternalSyncCompareExchange64)
-.align 16
-ASM_PFX(InternalSyncCompareExchange64):
- mov %rdx, %rax
- lock cmpxchg %r8,(%rcx)
- ret
diff --git a/MdePkg/Library/BaseLib/X64/InterlockedCompareExchange64.asm b/MdePkg/Library/BaseLib/X64/InterlockedCompareExchange64.asm
deleted file mode 100644
index 88c25a56de..0000000000
--- a/MdePkg/Library/BaseLib/X64/InterlockedCompareExchange64.asm
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; 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.
-;
-; Module Name:
-;
-; InterlockedCompareExchange64.Asm
-;
-; Abstract:
-;
-; InterlockedCompareExchange64 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; UINT64
-; EFIAPI
-; InterlockedCompareExchange64 (
-; IN UINT64 *Value,
-; IN UINT64 CompareValue,
-; IN UINT64 ExchangeValue
-; );
-;------------------------------------------------------------------------------
-InternalSyncCompareExchange64 PROC
- mov rax, rdx
- lock cmpxchg [rcx], r8
- ret
-InternalSyncCompareExchange64 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/InterlockedCompareExchange64.c b/MdePkg/Library/BaseLib/X64/InterlockedCompareExchange64.c
deleted file mode 100644
index 0a88eda2ea..0000000000
--- a/MdePkg/Library/BaseLib/X64/InterlockedCompareExchange64.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/** @file
- InterlockedCompareExchange64 function
-
- Copyright (c) 2006 - 2008, Intel Corporation<BR>
- 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.
-
-**/
-
-/**
- Microsoft Visual Studio 7.1 Function Prototypes for I/O Intrinsics.
-**/
-
-__int64 _InterlockedCompareExchange64(
- __int64 volatile * Destination,
- __int64 Exchange,
- __int64 Comperand
-);
-
-#pragma intrinsic(_InterlockedCompareExchange64)
-
-/**
- Performs an atomic compare exchange operation on a 64-bit unsigned integer.
-
- Performs an atomic compare exchange operation on the 64-bit unsigned integer specified
- by Value. If Value is equal to CompareValue, then Value is set to ExchangeValue and
- CompareValue is returned. If Value is not equal to CompareValue, then Value is returned.
- The compare exchange operation must be performed using MP safe mechanisms.
-
- @param Value A pointer to the 64-bit value for the compare exchange
- operation.
- @param CompareValue 64-bit value used in compare operation.
- @param ExchangeValue 64-bit value used in exchange operation.
-
- @return The original *Value before exchange.
-
-**/
-UINT64
-EFIAPI
-InternalSyncCompareExchange64 (
- IN UINT64 *Value,
- IN UINT64 CompareValue,
- IN UINT64 ExchangeValue
- )
-{
- return _InterlockedCompareExchange64 (Value, ExchangeValue, CompareValue);
-}
-
diff --git a/MdePkg/Library/BaseLib/X64/InterlockedDecrement.S b/MdePkg/Library/BaseLib/X64/InterlockedDecrement.S
deleted file mode 100644
index d06559bd25..0000000000
--- a/MdePkg/Library/BaseLib/X64/InterlockedDecrement.S
+++ /dev/null
@@ -1,36 +0,0 @@
-#------------------------------------------------------------------------------
-#
-# 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:
-#
-# InterlockedDecrement.S
-#
-# Abstract:
-#
-# InterlockedDecrement function
-#
-# Notes:
-#
-#------------------------------------------------------------------------------
-
-
-#------------------------------------------------------------------------------
-# UINT32
-# EFIAPI
-# InterlockedDecrement (
-# IN UINT32 *Value
-# );
-#------------------------------------------------------------------------------
-.global ASM_PFX(InternalSyncDecrement)
-ASM_PFX(InternalSyncDecrement):
- lock decl (%rcx)
- mov (%rcx), %eax
- ret
diff --git a/MdePkg/Library/BaseLib/X64/InterlockedDecrement.asm b/MdePkg/Library/BaseLib/X64/InterlockedDecrement.asm
deleted file mode 100644
index f907fed4a8..0000000000
--- a/MdePkg/Library/BaseLib/X64/InterlockedDecrement.asm
+++ /dev/null
@@ -1,39 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; 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.
-;
-; Module Name:
-;
-; InterlockedDecrement.Asm
-;
-; Abstract:
-;
-; InterlockedDecrement function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; UINT32
-; EFIAPI
-; InterlockedDecrement (
-; IN UINT32 *Value
-; );
-;------------------------------------------------------------------------------
-InternalSyncDecrement PROC
- lock dec dword ptr [rcx]
- mov eax, [rcx]
- ret
-InternalSyncDecrement ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/InterlockedDecrement.c b/MdePkg/Library/BaseLib/X64/InterlockedDecrement.c
deleted file mode 100644
index 9e2e339aee..0000000000
--- a/MdePkg/Library/BaseLib/X64/InterlockedDecrement.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/** @file
- InterlockedDecrement function
-
- Copyright (c) 2006 - 2008, Intel Corporation<BR>
- 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.
-
-**/
-
-/**
- Microsoft Visual Studio 7.1 Function Prototypes for I/O Intrinsics.
-**/
-
-long _InterlockedDecrement(
- long * lpAddend
-);
-
-#pragma intrinsic(_InterlockedDecrement)
-
-/**
- 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 UINT32 *Value
- )
-{
- return _InterlockedDecrement (Value);
-}
-
diff --git a/MdePkg/Library/BaseLib/X64/InterlockedIncrement.S b/MdePkg/Library/BaseLib/X64/InterlockedIncrement.S
deleted file mode 100644
index 0416dd7d2a..0000000000
--- a/MdePkg/Library/BaseLib/X64/InterlockedIncrement.S
+++ /dev/null
@@ -1,36 +0,0 @@
-#------------------------------------------------------------------------------
-#
-# 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:
-#
-# InterlockedIncrement.S
-#
-# Abstract:
-#
-# InterlockedIncrement function
-#
-# Notes:
-#
-#------------------------------------------------------------------------------
-
-
-#------------------------------------------------------------------------------
-# UINT32
-# EFIAPI
-# InterlockedIncrement (
-# IN UINT32 *Value
-# );
-#------------------------------------------------------------------------------
-.global ASM_PFX(InternalSyncIncrement)
-ASM_PFX(InternalSyncIncrement):
- lock incl (%rcx)
- mov (%rcx), %eax
- ret
diff --git a/MdePkg/Library/BaseLib/X64/InterlockedIncrement.asm b/MdePkg/Library/BaseLib/X64/InterlockedIncrement.asm
deleted file mode 100644
index f5a4130bf1..0000000000
--- a/MdePkg/Library/BaseLib/X64/InterlockedIncrement.asm
+++ /dev/null
@@ -1,39 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; 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.
-;
-; Module Name:
-;
-; InterlockedIncrement.Asm
-;
-; Abstract:
-;
-; InterlockedIncrement function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; UINT32
-; EFIAPI
-; InterlockedIncrement (
-; IN UINT32 *Value
-; );
-;------------------------------------------------------------------------------
-InternalSyncIncrement PROC
- lock inc dword ptr [rcx]
- mov eax, [rcx]
- ret
-InternalSyncIncrement ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/InterlockedIncrement.c b/MdePkg/Library/BaseLib/X64/InterlockedIncrement.c
deleted file mode 100644
index 455fb453d4..0000000000
--- a/MdePkg/Library/BaseLib/X64/InterlockedIncrement.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/** @file
- InterLockedIncrement function
-
- Copyright (c) 2006 - 2008, Intel Corporation<BR>
- 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.
-
-**/
-
-/**
- Microsoft Visual Studio 7.1 Function Prototypes for I/O Intrinsics.
-**/
-
-long _InterlockedIncrement(
- long * lpAddend
-);
-
-#pragma intrinsic(_InterlockedIncrement)
-
-/**
- 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 UINT32 *Value
- )
-{
- return _InterlockedIncrement (Value);
-}
-