# VOID\r
# EFIAPI\r
# InternalLongJump (\r
-# IN BASE_LIBRARY_JUMP_BUFFER *JumpBuffer, // %rcx\r
-# IN UINTN Value // %rdx\r
+# IN BASE_LIBRARY_JUMP_BUFFER *JumpBuffer,\r
+# IN UINTN Value\r
# );\r
#------------------------------------------------------------------------------\r
-ASM_GLOBAL ASM_PFX(EfiInternalLongJump)\r
-ASM_PFX(EfiInternalLongJump):\r
+ASM_GLOBAL ASM_PFX(InternalLongJump)\r
+ASM_PFX(InternalLongJump):\r
mov (%rcx), %rbx\r
mov 0x8(%rcx), %rsp\r
mov 0x10(%rcx), %rbp\r
movdqu 0xE8(%rcx), %xmm15 \r
mov %rdx, %rax # set return value\r
jmp *0x48(%rcx)\r
-\r
-#------------------------------------------------------------------------------\r
-# VOID\r
-# EFIAPI\r
-# UnixInternalLongJump (\r
-# IN BASE_LIBRARY_JUMP_BUFFER *JumpBuffer, // %rdi\r
-# IN UINTN Value // %rsi\r
-# );\r
-#------------------------------------------------------------------------------\r
-ASM_GLOBAL ASM_PFX(InternalLongJump)\r
-ASM_PFX(InternalLongJump):\r
- mov (%rdi), %rbx\r
- mov 0x8(%rdi), %rsp\r
- mov 0x10(%rdi), %rbp\r
- mov 0x18(%rdi), %rdi\r
- mov 0x20(%rdi), %rsi\r
- mov 0x28(%rdi), %r12\r
- mov 0x30(%rdi), %r13\r
- mov 0x38(%rdi), %r14\r
- mov 0x40(%rdi), %r15\r
- # load non-volatile fp registers\r
- ldmxcsr 0x50(%rdi)\r
- movdqu 0x58(%rdi), %xmm6\r
- movdqu 0x68(%rdi), %xmm7\r
- movdqu 0x78(%rdi), %xmm8\r
- movdqu 0x88(%rdi), %xmm9\r
- movdqu 0x98(%rdi), %xmm10\r
- movdqu 0xA8(%rdi), %xmm11\r
- movdqu 0xB8(%rdi), %xmm12\r
- movdqu 0xC8(%rdi), %xmm13\r
- movdqu 0xD8(%rdi), %xmm14\r
- movdqu 0xE8(%rdi), %xmm15 \r
- mov %rsi, %rax # set return value\r
- jmp *0x48(%rdi)\r