mirror of
https://github.com/reactos/reactos.git
synced 2025-08-03 21:05:43 +00:00
[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:
parent
09a2c1a1cf
commit
590a071060
4 changed files with 6 additions and 5 deletions
|
@ -24,7 +24,7 @@ PUBLIC @HalpExitToV86@4
|
||||||
@HalpExitToV86@4:
|
@HalpExitToV86@4:
|
||||||
/* Point esp to the iret frame and return */
|
/* Point esp to the iret frame and return */
|
||||||
lea esp, [ecx + KTRAP_FRAME_EIP]
|
lea esp, [ecx + KTRAP_FRAME_EIP]
|
||||||
iret
|
iretd
|
||||||
|
|
||||||
/* Here starts the real mode code */
|
/* Here starts the real mode code */
|
||||||
.code16
|
.code16
|
||||||
|
|
|
@ -343,7 +343,7 @@ PUBLIC @&Name&@4
|
||||||
elseif (Flags AND KI_EXIT_IRET)
|
elseif (Flags AND KI_EXIT_IRET)
|
||||||
|
|
||||||
/* Return with iret */
|
/* Return with iret */
|
||||||
iret
|
iretd
|
||||||
|
|
||||||
elseif (Flags AND KI_EXIT_JMP)
|
elseif (Flags AND KI_EXIT_JMP)
|
||||||
|
|
||||||
|
|
|
@ -644,12 +644,13 @@ KiSystemCallTrampoline(IN PVOID Handler,
|
||||||
{
|
{
|
||||||
mov ecx, StackBytes
|
mov ecx, StackBytes
|
||||||
mov edx, Arguments
|
mov edx, Arguments
|
||||||
|
mov ebx, Handler
|
||||||
sub esp, ecx
|
sub esp, ecx
|
||||||
mov edi, esp
|
mov edi, esp
|
||||||
mov esi, edx
|
mov esi, edx
|
||||||
shr ecx, 2
|
shr ecx, 2
|
||||||
rep movsd
|
rep movsd
|
||||||
call Handler
|
call ebx
|
||||||
mov Result, eax
|
mov Result, eax
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
|
@ -803,7 +804,7 @@ KiIret(VOID)
|
||||||
#elif defined(_MSC_VER)
|
#elif defined(_MSC_VER)
|
||||||
__asm
|
__asm
|
||||||
{
|
{
|
||||||
iret
|
iretd
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
#error Unsupported compiler
|
#error Unsupported compiler
|
||||||
|
|
|
@ -116,7 +116,7 @@ _KdbEnter:
|
||||||
/*
|
/*
|
||||||
* Return to the caller.
|
* Return to the caller.
|
||||||
*/
|
*/
|
||||||
iret
|
iretd
|
||||||
|
|
||||||
|
|
||||||
PUBLIC _KdbpStackSwitchAndCall@8
|
PUBLIC _KdbpStackSwitchAndCall@8
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue