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
