Author: tkreuzer Date: Wed Jun 22 19:04:28 2011 New Revision: 52429
URL: http://svn.reactos.org/svn/reactos?rev=52429&view=rev Log: [NTOSKRNL/HAL] - Fix a bug is MSVC inline assembly - use iretd instead of iret the msvc compiled kernel boots a bit further now
Modified: trunk/reactos/hal/halx86/generic/i386/trap.S trunk/reactos/ntoskrnl/include/internal/i386/asmmacro.S trunk/reactos/ntoskrnl/include/internal/i386/ke.h trunk/reactos/ntoskrnl/kdbg/i386/kdb_help.S
Modified: trunk/reactos/hal/halx86/generic/i386/trap.S URL: http://svn.reactos.org/svn/reactos/trunk/reactos/hal/halx86/generic/i386/tra... ============================================================================== --- trunk/reactos/hal/halx86/generic/i386/trap.S [iso-8859-1] (original) +++ trunk/reactos/hal/halx86/generic/i386/trap.S [iso-8859-1] Wed Jun 22 19:04:28 2011 @@ -24,7 +24,7 @@ @HalpExitToV86@4: /* Point esp to the iret frame and return */ lea esp, [ecx + KTRAP_FRAME_EIP] - iret + iretd
/* Here starts the real mode code */ .code16
Modified: trunk/reactos/ntoskrnl/include/internal/i386/asmmacro.S URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/include/internal/i... ============================================================================== --- trunk/reactos/ntoskrnl/include/internal/i386/asmmacro.S [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/include/internal/i386/asmmacro.S [iso-8859-1] Wed Jun 22 19:04:28 2011 @@ -343,7 +343,7 @@ elseif (Flags AND KI_EXIT_IRET)
/* Return with iret */ - iret + iretd
elseif (Flags AND KI_EXIT_JMP)
Modified: trunk/reactos/ntoskrnl/include/internal/i386/ke.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/include/internal/i... ============================================================================== --- trunk/reactos/ntoskrnl/include/internal/i386/ke.h [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/include/internal/i386/ke.h [iso-8859-1] Wed Jun 22 19:04:28 2011 @@ -644,12 +644,13 @@ { mov ecx, StackBytes mov edx, Arguments + mov ebx, Handler sub esp, ecx mov edi, esp mov esi, edx shr ecx, 2 rep movsd - call Handler + call ebx mov Result, eax } #else @@ -803,7 +804,7 @@ #elif defined(_MSC_VER) __asm { - iret + iretd } #else #error Unsupported compiler
Modified: trunk/reactos/ntoskrnl/kdbg/i386/kdb_help.S URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/kdbg/i386/kdb_help... ============================================================================== --- trunk/reactos/ntoskrnl/kdbg/i386/kdb_help.S [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/kdbg/i386/kdb_help.S [iso-8859-1] Wed Jun 22 19:04:28 2011 @@ -116,7 +116,7 @@ /* * Return to the caller. */ - iret + iretd
PUBLIC _KdbpStackSwitchAndCall@8