summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorqwang12 <qwang12@6f19259b-4bc3-4df7-8a09-765794883524>2008-08-25 02:03:47 +0000
committerqwang12 <qwang12@6f19259b-4bc3-4df7-8a09-765794883524>2008-08-25 02:03:47 +0000
commit7fd9ac0efb0b157fdc710fd2e613a9cfec68c02a (patch)
tree15a3b0b1f1b6d055f92aef537a09f8a55d045018
parent41d80e816ac2bd4b8280d6f1d6c00de6e10151a3 (diff)
downloadedk2-7fd9ac0efb0b157fdc710fd2e613a9cfec68c02a.tar.gz
edk2-7fd9ac0efb0b157fdc710fd2e613a9cfec68c02a.tar.bz2
edk2-7fd9ac0efb0b157fdc710fd2e613a9cfec68c02a.zip
Add Fx.s
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5724 6f19259b-4bc3-4df7-8a09-765794883524
-rw-r--r--EdkCompatibilityPkg/Foundation/Library/Thunk16/Ia32/Fx.S54
-rw-r--r--EdkCompatibilityPkg/Foundation/Library/Thunk16/Thunk16Lib_Edk2.inf1
2 files changed, 55 insertions, 0 deletions
diff --git a/EdkCompatibilityPkg/Foundation/Library/Thunk16/Ia32/Fx.S b/EdkCompatibilityPkg/Foundation/Library/Thunk16/Ia32/Fx.S
new file mode 100644
index 0000000000..111b56ea0d
--- /dev/null
+++ b/EdkCompatibilityPkg/Foundation/Library/Thunk16/Ia32/Fx.S
@@ -0,0 +1,54 @@
+#*****************************************************************************
+#*
+#* 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:
+#*
+#* Fx.asm
+#*
+#* Abstract:
+#*
+#* AsmFxRestore and AsmFxSave function
+#*
+#include <EfiBind.h>
+#------------------------------------------------------------------------------
+
+ .586P:
+ #.MODEL flat,C
+ .xmm:
+ .code:
+#------------------------------------------------------------------------------
+.globl ASM_PFX(AsmFxSave)
+.globl ASM_PFX(AsmFxRestore)
+#------------------------------------------------------------------------------
+# VOID
+# AsmFxSave (
+# OUT IA32_FX_BUFFER *Buffer
+# );
+#------------------------------------------------------------------------------
+ASM_PFX(AsmFxSave):
+ movl 4(%esp), %eax
+ fxsave (%eax)
+ ret
+#AsmFxSave ENDP
+
+#------------------------------------------------------------------------------
+# VOID
+# AsmFxRestore (
+# IN CONST IA32_FX_BUFFER *Buffer
+# );
+#------------------------------------------------------------------------------
+ASM_PFX(AsmFxRestore):
+ movl 4(%esp), %eax
+ fxrstor (%eax)
+ ret
+#AsmFxRestore ENDP
+
+
diff --git a/EdkCompatibilityPkg/Foundation/Library/Thunk16/Thunk16Lib_Edk2.inf b/EdkCompatibilityPkg/Foundation/Library/Thunk16/Thunk16Lib_Edk2.inf
index 01581171df..7d894b6809 100644
--- a/EdkCompatibilityPkg/Foundation/Library/Thunk16/Thunk16Lib_Edk2.inf
+++ b/EdkCompatibilityPkg/Foundation/Library/Thunk16/Thunk16Lib_Edk2.inf
@@ -29,6 +29,7 @@ COMPONENT_TYPE = LIBRARY
Ia32/Thunk16.asm | INTEL
Ia32/Fx.asm | MSFT
Ia32/Fx.asm | INTEL
+ Ia32/Fx.S | GCC
[sources.x64]
X64/Thunk16.asm | MSFT