https://git.reactos.org/?p=reactos.git;a=commitdiff;h=2b71c738b8beb8798e586…
commit 2b71c738b8beb8798e586df373fad185ed24a776
Author: Timo Kreuzer <timo.kreuzer(a)reactos.org>
AuthorDate: Thu Oct 3 11:49:56 2024 +0200
Commit: Timo Kreuzer <timo.kreuzer(a)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);