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

commit a1a169fbe811b621188b41c907c8ef51304644cb
Author:     Timo Kreuzer <timo.kreu...@reactos.org>
AuthorDate: Thu Jan 23 09:16:36 2025 +0200
Commit:     Timo Kreuzer <timo.kreu...@reactos.org>
CommitDate: Tue Feb 4 16:45:48 2025 +0200

    [FREELDR] Fix pc98 build
---
 boot/freeldr/freeldr/arch/arcemul.c    | 10 ++++++++++
 boot/freeldr/freeldr/freeldr.spec      |  1 +
 boot/freeldr/freeldr/include/machine.h |  2 ++
 boot/freeldr/freeldr/miscboot.c        |  6 +-----
 4 files changed, 14 insertions(+), 5 deletions(-)

diff --git a/boot/freeldr/freeldr/arch/arcemul.c 
b/boot/freeldr/freeldr/arch/arcemul.c
index f44ffaf7b6c..edf8d66fc45 100644
--- a/boot/freeldr/freeldr/arch/arcemul.c
+++ b/boot/freeldr/freeldr/arch/arcemul.c
@@ -61,4 +61,14 @@ VOID MachVideoGetFontsFromFirmware(PULONG RomFontPointers)
     MachVtbl.VideoGetFontsFromFirmware(RomFontPointers);
 }
 
+ULONG
+MachGetBootSectorLoadAddress(IN UCHAR DriveNumber)
+{
+#if defined(SARCH_PC98)
+    return Pc98GetBootSectorLoadAddress(DriveNumber);
+#else
+    return 0x7C00;
+#endif
+}
+
 /* EOF */
diff --git a/boot/freeldr/freeldr/freeldr.spec 
b/boot/freeldr/freeldr/freeldr.spec
index 6d7b5f9d788..eaab809e800 100644
--- a/boot/freeldr/freeldr/freeldr.spec
+++ b/boot/freeldr/freeldr/freeldr.spec
@@ -119,6 +119,7 @@
 @ cdecl Relocator16Boot()
 @ stdcall RtlAssert(ptr ptr long ptr)
 @ cdecl StallExecutionProcessor()
+@ cdecl MachGetBootSectorLoadAddress()
 
 # Additional stuff for scsiport
 @ stdcall CpDoesPortExist(ptr)
diff --git a/boot/freeldr/freeldr/include/machine.h 
b/boot/freeldr/freeldr/include/machine.h
index 2cab94982e1..1a44f5f14e9 100644
--- a/boot/freeldr/freeldr/include/machine.h
+++ b/boot/freeldr/freeldr/include/machine.h
@@ -130,6 +130,7 @@ VOID MachInit(const char *CmdLine);
 #define MachHwIdle() \
     MachVtbl.HwIdle()
 
+
 /* ARC FUNCTIONS 
**************************************************************/
 
 TIMEINFO* ArcGetTime(VOID);
@@ -139,5 +140,6 @@ PCONFIGURATION_COMPONENT_DATA MachHwDetect(_In_opt_ PCSTR 
Options);
 VOID MachPrepareForReactOS(VOID);
 VOID MachGetExtendedBIOSData(PULONG ExtendedBIOSDataArea, PULONG 
ExtendedBIOSDataSize);
 VOID MachVideoGetFontsFromFirmware(PULONG RomFontPointers);
+ULONG MachGetBootSectorLoadAddress(IN UCHAR DriveNumber);
 
 /* EOF */
diff --git a/boot/freeldr/freeldr/miscboot.c b/boot/freeldr/freeldr/miscboot.c
index b080fdfbed1..9d9c4bf8efb 100644
--- a/boot/freeldr/freeldr/miscboot.c
+++ b/boot/freeldr/freeldr/miscboot.c
@@ -161,11 +161,7 @@ LoadAndBootSector(
         return Status;
     }
 
-#if defined(SARCH_PC98)
-    LoadAddress = Pc98GetBootSectorLoadAddress(BiosDriveNumber);
-#else
-    LoadAddress = 0x7C00;
-#endif
+    LoadAddress = MachGetBootSectorLoadAddress(BiosDriveNumber);
 
     /*
      * Now try to load the boot sector: disk MBR (when PartitionNumber == 0),

Reply via email to