diff --git a/boot/freeldr/freeldr/arch/arm/macharm.c b/boot/freeldr/freeldr/arch/arm/macharm.c index 2179a59bd3a..e059ee07948 100644 --- a/boot/freeldr/freeldr/arch/arm/macharm.c +++ b/boot/freeldr/freeldr/arch/arm/macharm.c @@ -94,7 +94,8 @@ ArmPrepareForReactOS(VOID) } PCONFIGURATION_COMPONENT_DATA -ArmHwDetect(VOID) +ArmHwDetect( + _In_opt_ PCSTR Options) { ARM_CACHE_REGISTER CacheReg; @@ -137,7 +138,7 @@ BOOLEAN ArmInitializeBootDevices(VOID) { /* Emulate old behavior */ - if (ArmHwDetect() == NULL) + if (ArmHwDetect(NULL) == NULL) return FALSE; /* On ARM platforms, the loader is always in RAM */ diff --git a/boot/freeldr/freeldr/arch/i386/pc/machpc.c b/boot/freeldr/freeldr/arch/i386/pc/machpc.c index 4bef802f667..c93bb23d945 100644 --- a/boot/freeldr/freeldr/arch/i386/pc/machpc.c +++ b/boot/freeldr/freeldr/arch/i386/pc/machpc.c @@ -1628,7 +1628,8 @@ PcGetFloppyCount(VOID) #endif PCONFIGURATION_COMPONENT_DATA -PcHwDetect(VOID) +PcHwDetect( + _In_opt_ PCSTR Options) { PCONFIGURATION_COMPONENT_DATA SystemKey; ULONG BusNumber = 0; diff --git a/boot/freeldr/freeldr/arch/i386/pc98/pc98hw.c b/boot/freeldr/freeldr/arch/i386/pc98/pc98hw.c index a404237a6c0..98264eec03c 100644 --- a/boot/freeldr/freeldr/arch/i386/pc98/pc98hw.c +++ b/boot/freeldr/freeldr/arch/i386/pc98/pc98hw.c @@ -1180,7 +1180,8 @@ DetectPnpBios(PCONFIGURATION_COMPONENT_DATA SystemKey, ULONG *BusNumber) } PCONFIGURATION_COMPONENT_DATA -Pc98HwDetect(VOID) +Pc98HwDetect( + _In_opt_ PCSTR Options) { PCONFIGURATION_COMPONENT_DATA SystemKey; ULONG BusNumber = 0; diff --git a/boot/freeldr/freeldr/arch/i386/xbox/machxbox.c b/boot/freeldr/freeldr/arch/i386/xbox/machxbox.c index 0574cd307a5..4315e228598 100644 --- a/boot/freeldr/freeldr/arch/i386/xbox/machxbox.c +++ b/boot/freeldr/freeldr/arch/i386/xbox/machxbox.c @@ -263,7 +263,8 @@ XboxGetFloppyCount(VOID) } PCONFIGURATION_COMPONENT_DATA -XboxHwDetect(VOID) +XboxHwDetect( + _In_opt_ PCSTR Options) { PCONFIGURATION_COMPONENT_DATA SystemKey; ULONG BusNumber = 0; diff --git a/boot/freeldr/freeldr/arch/uefi/uefihw.c b/boot/freeldr/freeldr/arch/uefi/uefihw.c index 8dcf9602274..f671446b474 100644 --- a/boot/freeldr/freeldr/arch/uefi/uefihw.c +++ b/boot/freeldr/freeldr/arch/uefi/uefihw.c @@ -123,7 +123,8 @@ DetectAcpiBios(PCONFIGURATION_COMPONENT_DATA SystemKey, ULONG *BusNumber) } PCONFIGURATION_COMPONENT_DATA -UefiHwDetect(VOID) +UefiHwDetect( + _In_opt_ PCSTR Options) { PCONFIGURATION_COMPONENT_DATA SystemKey; ULONG BusNumber = 0; diff --git a/boot/freeldr/freeldr/include/arch/i386/machpc98.h b/boot/freeldr/freeldr/include/arch/i386/machpc98.h index 07881b83319..23e268e9d98 100644 --- a/boot/freeldr/freeldr/include/arch/i386/machpc98.h +++ b/boot/freeldr/freeldr/include/arch/i386/machpc98.h @@ -80,7 +80,11 @@ VOID Pc98VideoPrepareForReactOS(VOID); VOID Pc98PrepareForReactOS(VOID); TIMEINFO* Pc98GetTime(VOID); BOOLEAN Pc98InitializeBootDevices(VOID); -PCONFIGURATION_COMPONENT_DATA Pc98HwDetect(VOID); + +PCONFIGURATION_COMPONENT_DATA +Pc98HwDetect( + _In_opt_ PCSTR Options); + VOID Pc98HwIdle(VOID); /* pcmem.c */ diff --git a/boot/freeldr/freeldr/include/arch/i386/machxbox.h b/boot/freeldr/freeldr/include/arch/i386/machxbox.h index 5b21d8515e9..4d3a4510263 100644 --- a/boot/freeldr/freeldr/include/arch/i386/machxbox.h +++ b/boot/freeldr/freeldr/include/arch/i386/machxbox.h @@ -58,7 +58,10 @@ ULONG XboxDiskGetCacheableBlockCount(UCHAR DriveNumber); TIMEINFO* XboxGetTime(VOID); -PCONFIGURATION_COMPONENT_DATA XboxHwDetect(VOID); +PCONFIGURATION_COMPONENT_DATA +XboxHwDetect( + _In_opt_ PCSTR Options); + VOID XboxHwIdle(VOID); VOID XboxSetLED(PCSTR Pattern); diff --git a/boot/freeldr/freeldr/include/arch/pc/machpc.h b/boot/freeldr/freeldr/include/arch/pc/machpc.h index 35bf0e904c8..2263d75778c 100644 --- a/boot/freeldr/freeldr/include/arch/pc/machpc.h +++ b/boot/freeldr/freeldr/include/arch/pc/machpc.h @@ -67,7 +67,11 @@ ULONG PcDiskGetCacheableBlockCount(UCHAR DriveNumber); TIMEINFO* PcGetTime(VOID); BOOLEAN PcInitializeBootDevices(VOID); -PCONFIGURATION_COMPONENT_DATA PcHwDetect(VOID); + +PCONFIGURATION_COMPONENT_DATA +PcHwDetect( + _In_opt_ PCSTR Options); + VOID PcHwIdle(VOID); extern BIOS_MEMORY_MAP PcBiosMemoryMap[]; diff --git a/boot/freeldr/freeldr/include/arch/uefi/machuefi.h b/boot/freeldr/freeldr/include/arch/uefi/machuefi.h index ba878e30972..6df376b1494 100644 --- a/boot/freeldr/freeldr/include/arch/uefi/machuefi.h +++ b/boot/freeldr/freeldr/include/arch/uefi/machuefi.h @@ -106,7 +106,8 @@ BOOLEAN UefiInitializeBootDevices(VOID); PCONFIGURATION_COMPONENT_DATA -UefiHwDetect(VOID); +UefiHwDetect( + _In_opt_ PCSTR Options); VOID UefiPrepareForReactOS(VOID); diff --git a/boot/freeldr/freeldr/include/machine.h b/boot/freeldr/freeldr/include/machine.h index cfe40a2a0bc..7e6e5c249be 100644 --- a/boot/freeldr/freeldr/include/machine.h +++ b/boot/freeldr/freeldr/include/machine.h @@ -74,7 +74,7 @@ typedef struct tagMACHVTBL // NOTE: Not in the machine.c ... BOOLEAN (*InitializeBootDevices)(VOID); - PCONFIGURATION_COMPONENT_DATA (*HwDetect)(VOID); + PCONFIGURATION_COMPONENT_DATA (*HwDetect)(_In_opt_ PCSTR Options); VOID (*HwIdle)(VOID); } MACHVTBL, *PMACHVTBL; @@ -133,8 +133,11 @@ VOID MachInit(const char *CmdLine); #define MachInitializeBootDevices() \ MachVtbl.InitializeBootDevices() -#define MachHwDetect() MachVtbl.HwDetect() -#define MachHwIdle() MachVtbl.HwIdle() +#define MachHwDetect(Options) \ + MachVtbl.HwDetect(Options) + +#define MachHwIdle() \ + MachVtbl.HwIdle() /* ARC FUNCTIONS **************************************************************/ diff --git a/boot/freeldr/freeldr/ntldr/winldr.c b/boot/freeldr/freeldr/ntldr/winldr.c index 9f51a541721..9724b174c61 100644 --- a/boot/freeldr/freeldr/ntldr/winldr.c +++ b/boot/freeldr/freeldr/ntldr/winldr.c @@ -1173,7 +1173,7 @@ LoadAndBootWindowsCommon( /* Detect hardware */ UiUpdateProgressBar(20, "Detecting hardware..."); - LoaderBlock->ConfigurationRoot = MachHwDetect(); + LoaderBlock->ConfigurationRoot = MachHwDetect(BootOptions); /* Initialize the PE loader import-DLL callback, so that we can obtain * feedback (for example during SOS) on the PE images that get loaded. */