OvmfPkg/XenBusDxe: Add InterlockedCompareExchange16.

This patch is inspired by InterlockedCompareExchange32 from the
BaseSynchronizationLib.

The function will be used in the "OvmfPkg/XenBusDxe: Add Grant Table
functions" patch.

Change in V3:
- Implement both .S and .asm, to get rid of GCC specific asm.
- Implement 32bit part of the assembly

Change in V2:
- Add intel compilation code
  MSFT code is not compied over because I don't know how it works.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16263 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
Anthony PERARD
2014-10-29 06:49:55 +00:00
committed by jljusten
parent 12a16f2d1c
commit bba9d16231
7 changed files with 191 additions and 0 deletions

View File

@@ -36,14 +36,20 @@
ComponentName.h
XenHypercall.c
XenHypercall.h
InterlockedCompareExchange16.c
InterlockedCompareExchange16.h
[Sources.IA32]
Ia32/hypercall.S
Ia32/hypercall.asm
Ia32/InterlockedCompareExchange16.S
Ia32/InterlockedCompareExchange16.asm
[Sources.X64]
X64/hypercall.S
X64/hypercall.asm
X64/InterlockedCompareExchange16.S
X64/InterlockedCompareExchange16.asm
[LibraryClasses]
UefiDriverEntryPoint