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),