https://git.reactos.org/?p=reactos.git;a=commitdiff;h=a1a169fbe811b621188b4…
commit a1a169fbe811b621188b41c907c8ef51304644cb
Author: Timo Kreuzer <timo.kreuzer(a)reactos.org>
AuthorDate: Thu Jan 23 09:16:36 2025 +0200
Commit: Timo Kreuzer <timo.kreuzer(a)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),