From 7fd9ac0efb0b157fdc710fd2e613a9cfec68c02a Mon Sep 17 00:00:00 2001 From: qwang12 Date: Mon, 25 Aug 2008 02:03:47 +0000 Subject: [PATCH] Add Fx.s git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5724 6f19259b-4bc3-4df7-8a09-765794883524 --- .../Foundation/Library/Thunk16/Ia32/Fx.S | 54 +++++++++++++++++++ .../Library/Thunk16/Thunk16Lib_Edk2.inf | 1 + 2 files changed, 55 insertions(+) create mode 100644 EdkCompatibilityPkg/Foundation/Library/Thunk16/Ia32/Fx.S 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 +#------------------------------------------------------------------------------ + + .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 -- 2.39.2