2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS Kernel
4 * FILE: ntoskrnl/include/amd64/asmmacro.S
5 * PURPOSE: Macros for x64 assembly
6 * PROGRAMMERS: Timo Kreuzer (timo.kreuzer@reactos.org)
12 /* Macros for x64 stack unwind OPs */
19 .equ cfa_current_offset, -8
27 .macro .allocstack size
28 .cfi_adjust_cfa_offset \size
29 .set cfa_current_offset, cfa_current_offset - \size
32 .macro .pushframe code
34 .cfi_adjust_cfa_offset 0x28
35 .set cfa_current_offset, cfa_current_offset - 0x28
37 .cfi_adjust_cfa_offset 0x30
38 .set cfa_current_offset, cfa_current_offset - 0x30
43 .cfi_adjust_cfa_offset 8
44 .equ cfa_current_offset, cfa_current_offset - 8
45 .cfi_offset \reg, cfa_current_offset
48 .macro .savereg reg, offset
50 .cfi_offset \reg, \offset
53 .macro .savexmm128 reg, offset
55 .cfi_offset \reg, \offset
58 .macro .setframe reg, offset
59 .cfi_def_cfa reg, \offset
60 .equ cfa_current_offset, \offset
66 .macro UNIMPLEMENTED2 line, func
73 lea rcx, _MsgUnimplemented[rip]
80 #define UNIMPLEMENTED UNIMPLEMENTED2 __LINE__,