From 7bfc8fa8eaf6b41efe61e8a41cbd501f953cea45 Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Fri, 9 Apr 2010 21:10:13 +0000 Subject: [PATCH] [NTOSKRNL] Fix msvc versions of Ke386GetGlobalDescriptorTable and Ke386SetGlobalDescriptorTable. Patch by Jose Catena. See issue #5071 for more details. svn path=/trunk/; revision=46797 --- .../ntoskrnl/include/internal/i386/intrin_i.h | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/reactos/ntoskrnl/include/internal/i386/intrin_i.h b/reactos/ntoskrnl/include/internal/i386/intrin_i.h index a78497b1871..94501841149 100644 --- a/reactos/ntoskrnl/include/internal/i386/intrin_i.h +++ b/reactos/ntoskrnl/include/internal/i386/intrin_i.h @@ -136,17 +136,27 @@ Ke386FnInit(VOID) FORCEINLINE VOID -Ke386GetGlobalDescriptorTable(OUT PVOID Descriptor) +__sgdt(OUT PVOID Descriptor) { - __asm sgdt [Descriptor]; + __asm + { + mov eax, Descriptor + sgdt [eax] + } } +#define Ke386GetGlobalDescriptorTable __sgdt FORCEINLINE VOID -Ke386SetGlobalDescriptorTable(IN PVOID Descriptor) +__lgdt(IN PVOID Descriptor) { - __asm lgdt [Descriptor]; + __asm + { + mov eax, Descriptor + lgdt [eax] + } } +#define Ke386SetGlobalDescriptorTable __lgdt FORCEINLINE USHORT