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