{RTL/ASM]

Fix ARM build

svn path=/trunk/; revision=67162
This commit is contained in:
Timo Kreuzer 2015-04-11 12:47:29 +00:00
parent 29552a8cd5
commit 89f99d7458
2 changed files with 20 additions and 18 deletions

View file

@ -20,7 +20,7 @@ AreaName SETS "|.text|"
FuncName SETS "$Name" FuncName SETS "$Name"
PrologName SETS "$Name":CC:"_Prolog" PrologName SETS "$Name":CC:"_Prolog"
FuncEndName SETS "$Name":CC:"_end" FuncEndName SETS "$Name":CC:"_end"
AREA |.pdata|,ALIGN=2,PDATA //AREA |.pdata|,ALIGN=2,PDATA
ALIGN 2 ALIGN 2
EXPORT $FuncName [FUNC] EXPORT $FuncName [FUNC]
$FuncName $FuncName
@ -67,16 +67,16 @@ $FuncEndName
TRAP_EPILOG $SystemCall TRAP_EPILOG $SystemCall
fixme fixme
MEND MEND
#define CR 13 #define CR 13
#define LF 10 #define LF 10
#define NUL 0 #define NUL 0
#define ASCII dcb #define ASCII dcb
MACRO MACRO
UNIMPLEMENTED $Name UNIMPLEMENTED $Name
MEND MEND
#else #else

View file

@ -6,34 +6,33 @@
* PROGRAMMERS: ReactOS Portable Systems Group * PROGRAMMERS: ReactOS Portable Systems Group
*/ */
.title "ARM Kernel/User NT Debugging and Exception" #include <ksarm.h>
.include "ntoskrnl/include/internal/arm/kxarm.h"
.include "ntoskrnl/include/internal/arm/ksarm.h"
TEXTAREA TEXTAREA
NESTED_ENTRY DbgBreakPoint NESTED_ENTRY DbgBreakPoint
PROLOG_END DbgBreakPoint PROLOG_END DbgBreakPoint
// //
// Do a breakpoint and return // Do a breakpoint and return
// //
bkpt BREAKPOINT_BREAK bkpt BREAKPOINT_BREAK
bx lr bx lr
ENTRY_END DbgBreakPoint ENTRY_END DbgBreakPoint
NESTED_ENTRY DebugService NESTED_ENTRY DebugService
PROLOG_END DebugService PROLOG_END DebugService
// //
// Do a breakpoint and return // Do a breakpoint and return
// //
bkpt BREAKPOINT_PRINT // Could be prompt too, we check this later bkpt BREAKPOINT_PRINT // Could be prompt too, we check this later
bx lr bx lr
ENTRY_END DebugService ENTRY_END DebugService
NESTED_ENTRY DebugService2 NESTED_ENTRY DebugService2
PROLOG_END DebugService2 PROLOG_END DebugService2
// //
// FIXME-TODO: Do a breakpoint and return // FIXME-TODO: Do a breakpoint and return
// //
@ -59,21 +58,24 @@
str r9, [a1, #CsR9] str r9, [a1, #CsR9]
str r10, [a1, #CsR10] str r10, [a1, #CsR10]
str r11, [a1, #CsR11] str r11, [a1, #CsR11]
str r12, [a1, #CsR12] str r12, [a1, #CsR12]
str sp, [a1, #CsSp] str sp, [a1, #CsSp]
str lr, [a1, #CsLr] str lr, [a1, #CsLr]
str pc, [a1, #CsPc] // str pc, [a1, #CsPc] // FIXME: error A2193: this instruction generates unpredictable behavior
mrs ip, spsr mrs ip, spsr
str ip, [a1, #CsPsr] str ip, [a1, #CsCpsr]
// //
// Set flags // Set flags
// //
mov ip, #CONTEXT_FULL mov ip, #CONTEXT_FULL
str ip, [a1, #CsContextFlags] str ip, [a1, #CsContextFlags]
// //
// Return // Return
// //
bx lr bx lr
ENTRY_END RtlCaptureContext ENTRY_END RtlCaptureContext
END
/* EOF */