Author: tkreuzer
Date: Sat Jan 30 00:29:58 2010
New Revision: 45326
URL:
http://svn.reactos.org/svn/reactos?rev=45326&view=rev
Log:
Add include/reactos/asm.h
This file replaces asmmacro.S and shall provide GAS/ML64 compatibility definitions
Added:
branches/ros-amd64-bringup/reactos/include/reactos/asm.h (with props)
Added: branches/ros-amd64-bringup/reactos/include/reactos/asm.h
URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/inclu…
==============================================================================
--- branches/ros-amd64-bringup/reactos/include/reactos/asm.h (added)
+++ branches/ros-amd64-bringup/reactos/include/reactos/asm.h [iso-8859-1] Sat Jan 30
00:29:58 2010
@@ -1,0 +1,86 @@
+/*
+ * COPYRIGHT: See COPYING in the top level directory
+ * PROJECT: ReactOS Kernel
+ * FILE: ntoskrnl/include/amd64/asmmacro.S
+ * PURPOSE: ASM macros for for GAS and ML64
+ * PROGRAMMERS: Timo Kreuzer (timo.kreuzer(a)reactos.org)
+ */
+
+#ifdef _MSC_VER
+
+#else
+
+.intel_syntax noprefix
+.code64
+
+/* Macros for x64 stack unwind OPs */
+
+.macro .proc name
+ .func name
+ .global _\name
+ _\name:
+ .cfi_startproc
+ .equ cfa_current_offset, -8
+.endm
+
+.macro .endproc
+ .cfi_endproc
+ .endfunc
+.endm
+
+.macro .allocstack size
+ .cfi_adjust_cfa_offset \size
+ .set cfa_current_offset, cfa_current_offset - \size
+.endm
+
+.macro .pushframe code
+ .if (\code == 0)
+ .cfi_adjust_cfa_offset 0x28
+ .set cfa_current_offset, cfa_current_offset - 0x28
+ .else
+ .cfi_adjust_cfa_offset 0x30
+ .set cfa_current_offset, cfa_current_offset - 0x30
+ .endif
+.endm
+
+.macro .pushreg reg
+ .cfi_adjust_cfa_offset 8
+ .equ cfa_current_offset, cfa_current_offset - 8
+ .cfi_offset \reg, cfa_current_offset
+.endm
+
+.macro .savereg reg, offset
+ // checkme!!!
+ .cfi_offset \reg, \offset
+.endm
+
+.macro .savexmm128 reg, offset
+ // checkme!!!
+ .cfi_offset \reg, \offset
+.endm
+
+.macro .setframe reg, offset
+ .cfi_def_cfa reg, \offset
+ .equ cfa_current_offset, \offset
+.endm
+
+.macro .endprolog
+.endm
+
+.macro UNIMPLEMENTED2 file, line, func
+ jmp 3f
+ .equ expr, 12
+1: .asciz "\func"
+2: .asciz "\file"
+3:
+ sub rsp, 0x20
+ lea rcx, _MsgUnimplemented[rip]
+ lea rdx, 1b[rip]
+ lea r8, 2b[rip]
+ mov r9, \line
+ call _DbgPrint
+ add rsp, 0x20
+.endm
+#define UNIMPLEMENTED UNIMPLEMENTED2 __FILE__, __LINE__,
+
+#endif
Propchange: branches/ros-amd64-bringup/reactos/include/reactos/asm.h
------------------------------------------------------------------------------
svn:eol-style = native