https://git.reactos.org/?p=reactos.git;a=commitdiff;h=db35a7861f6cb2ff669a8b47ee32a49f3dcc133d

commit db35a7861f6cb2ff669a8b47ee32a49f3dcc133d
Author:     Hervé Poussineau <[email protected]>
AuthorDate: Fri Jan 29 07:45:13 2021 +0100
Commit:     Hervé Poussineau <[email protected]>
CommitDate: Fri Jan 29 07:46:13 2021 +0100

    [FREELDR] Fix MSVC x64 compilation after 
d2f73877b7695aa0a51c3b403dd659f458d5aa90
---
 boot/freeldr/freeldr/arch/amd64/entry.S    | 8 ++++++++
 boot/freeldr/freeldr/arch/realmode/amd64.S | 4 ++++
 2 files changed, 12 insertions(+)

diff --git a/boot/freeldr/freeldr/arch/amd64/entry.S 
b/boot/freeldr/freeldr/arch/amd64/entry.S
index a0149ef9daf..758eae4b677 100644
--- a/boot/freeldr/freeldr/arch/amd64/entry.S
+++ b/boot/freeldr/freeldr/arch/amd64/entry.S
@@ -222,7 +222,11 @@ __fastfail:
 // void __lgdt(void *Source<rcx>);
 PUBLIC __lgdt
 __lgdt:
+#ifdef _USE_ML
+    lgdt fword ptr [rcx]
+#else
     lgdt cs:[rcx]
+#endif
     ret
 
 // void __ltr(unsigned short Source<rcx>);
@@ -234,7 +238,11 @@ __ltr:
 // void _sgdt(void *Destination<rcx>);
 PUBLIC __sgdt
 __sgdt:
+#ifdef _USE_ML
+    sgdt fword ptr [rcx]
+#else
     sgdt cs:[rcx]
+#endif
     ret
 
 
diff --git a/boot/freeldr/freeldr/arch/realmode/amd64.S 
b/boot/freeldr/freeldr/arch/realmode/amd64.S
index 393b3f43016..c07110c2c0e 100644
--- a/boot/freeldr/freeldr/arch/realmode/amd64.S
+++ b/boot/freeldr/freeldr/arch/realmode/amd64.S
@@ -67,7 +67,11 @@ Msg_LongModeSupported:
     call writestr
 
     /* Load the GDT */
+#ifdef _USE_ML
+    lgdt fword ptr [gdtptr]
+#else
     lgdt cs:[gdtptr]
+#endif
 
     /* Build the startup page tables */
     call BuildPageTables

Reply via email to