https://git.reactos.org/?p=reactos.git;a=commitdiff;h=2b71c738b8beb8798e586df373fad185ed24a776
commit 2b71c738b8beb8798e586df373fad185ed24a776 Author: Timo Kreuzer <timo.kreu...@reactos.org> AuthorDate: Thu Oct 3 11:49:56 2024 +0200 Commit: Timo Kreuzer <timo.kreu...@reactos.org> CommitDate: Tue Feb 4 16:45:48 2025 +0200 [ROSLOAD] Enable registry healing code for x64 --- boot/freeldr/freeldr/ntldr/registry.c | 22 ---------------------- 1 file changed, 22 deletions(-) diff --git a/boot/freeldr/freeldr/ntldr/registry.c b/boot/freeldr/freeldr/ntldr/registry.c index 73d6f68097e..0b81b71cf16 100644 --- a/boot/freeldr/freeldr/ntldr/registry.c +++ b/boot/freeldr/freeldr/ntldr/registry.c @@ -99,14 +99,7 @@ RegInitializeHive( _In_ BOOLEAN LoadAlternate) { NTSTATUS Status; -/* - * FIXME: Disable compilation of some parts of code for AMD64 for now, - * since it makes the FreeLdr binary size so large that it prevents - * x64 ROS from booting. - */ -#if !defined(_M_AMD64) CM_CHECK_REGISTRY_STATUS CmStatusCode; -#endif /* Initialize the hive */ Status = HvInitialize(GET_HHIVE(CmHive), @@ -128,8 +121,6 @@ RegInitializeHive( return FALSE; } -/* FIXME: See the comment above */ -#if !defined(_M_AMD64) /* Now check the hive and purge volatile data */ CmStatusCode = CmCheckRegistry(CmHive, CM_CHECK_REGISTRY_BOOTLOADER_PURGE_VOLATILES | CM_CHECK_REGISTRY_VALIDATE_HIVE); if (!CM_CHECK_REGISTRY_SUCCESS(CmStatusCode)) @@ -137,13 +128,10 @@ RegInitializeHive( ERR("CmCheckRegistry detected problems with the loaded flat hive (check code %lu)\n", CmStatusCode); return FALSE; } -#endif return TRUE; } -/* FIXME: See the comment above */ -#if !defined(_M_AMD64) /** * @brief * Loads and reads a hive log at specified @@ -418,7 +406,6 @@ RegRecoverDataHive( HiveBaseBlock->CheckSum = HvpHiveHeaderChecksum(HiveBaseBlock); return TRUE; } -#endif /** * @brief @@ -464,14 +451,6 @@ RegImportBinaryHive( CmSystemHive = FrLdrTempAlloc(sizeof(CMHIVE), 'eviH'); Success = RegInitializeHive(CmSystemHive, ChunkBase, LoadAlternate); if (!Success) -/* FIXME: See the comment above */ -#if defined(_M_AMD64) - { - ERR("Corrupted hive %p!\n", ChunkBase); - FrLdrTempFree(CmSystemHive, 'eviH'); - return FALSE; - } -#else { /* Free the buffer and retry again */ FrLdrTempFree(CmSystemHive, 'eviH'); @@ -505,7 +484,6 @@ RegImportBinaryHive( */ ((PHBASE_BLOCK)ChunkBase)->BootRecover = HBOOT_BOOT_RECOVERED_BY_HIVE_LOG; } -#endif /* Save the root key node */ SystemHive = GET_HHIVE(CmSystemHive);