[NTOSKRNL/HAL]

- Fix a bug is MSVC inline assembly
- use iretd instead of iret
the msvc compiled kernel boots a bit further now

svn path=/trunk/; revision=52429
This commit is contained in:
Timo Kreuzer 2011-06-22 19:04:28 +00:00
parent 09a2c1a1cf
commit 590a071060
4 changed files with 6 additions and 5 deletions

View file

@ -24,7 +24,7 @@ PUBLIC @HalpExitToV86@4
@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

View file

@ -343,7 +343,7 @@ PUBLIC @&Name&@4
elseif (Flags AND KI_EXIT_IRET)
/* Return with iret */
iret
iretd
elseif (Flags AND KI_EXIT_JMP)

View file

@ -644,12 +644,13 @@ KiSystemCallTrampoline(IN PVOID Handler,
{
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 @@ KiIret(VOID)
#elif defined(_MSC_VER)
__asm
{
iret
iretd
}
#else
#error Unsupported compiler

View file

@ -116,7 +116,7 @@ _KdbEnter:
/*
* Return to the caller.
*/
iret
iretd
PUBLIC _KdbpStackSwitchAndCall@8