1 #------------------------------------------------------------------------------
3 # Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
4 # This program and the accompanying materials
5 # are licensed and made available under the terms and conditions of the BSD License
6 # which accompanies this distribution. The full text of the license may be found at
7 # http://opensource.org/licenses/bsd-license.php
9 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
18 # Implementation of SetJump() on x86_64
20 #------------------------------------------------------------------------------
21 #include <EdkIIGlueBase.h>
23 .globl ASM_PFX(SetJump)
26 add $0xffffffffffffffe0,%rsp
27 call ASM_PFX(InternalAssertJumpBuffer)
41 # save non-volatile fp registers
43 movdqu %xmm6, 0x58(%rcx)
44 movdqu %xmm7, 0x68(%rcx)
45 movdqu %xmm8, 0x78(%rcx)
46 movdqu %xmm9, 0x88(%rcx)
47 movdqu %xmm10, 0x98(%rcx)
48 movdqu %xmm11, 0xA8(%rcx)
49 movdqu %xmm12, 0xB8(%rcx)
50 movdqu %xmm13, 0xC8(%rcx)
51 movdqu %xmm14, 0xD8(%rcx)
52 movdqu %xmm15, 0xE8(%rcx)