[NTOS:KDBG] Temporarily HACK-work-around symbols loading by disabling them at BootPhase 0.

Of course, now that we **correctly** set the LoadSymbools setting,
we attempt loading symbols at BootPhase 0 and everything goes awry!
So introduce that hack to fallback to our old behaviour.

A proper fix (and removal of the hack) will be done in future commits.
This commit is contained in:
Hermès Bélusca-Maïto 2023-03-20 03:10:14 +01:00
parent 934812c4b2
commit 942b0221e8
No known key found for this signature in database
GPG key ID: 3B2539C65E7B93D0

View file

@ -344,6 +344,10 @@ BOOLEAN
KdbSymInit( KdbSymInit(
_In_ ULONG BootPhase) _In_ ULONG BootPhase)
{ {
#if 1 // FIXME: This is a workaround HACK!!
static BOOLEAN OrigLoadSymbols = FALSE;
#endif
DPRINT("KdbSymInit() BootPhase=%d\n", BootPhase); DPRINT("KdbSymInit() BootPhase=%d\n", BootPhase);
if (BootPhase == 0) if (BootPhase == 0)
@ -398,6 +402,13 @@ KdbSymInit(
while (*CommandLine && !isspace(*CommandLine)) while (*CommandLine && !isspace(*CommandLine))
++CommandLine; ++CommandLine;
} }
#if 1 // FIXME: This is a workaround HACK!!
// Save the actual value of LoadSymbols but disable it for BootPhase 0.
OrigLoadSymbols = LoadSymbols;
LoadSymbols = FALSE;
return OrigLoadSymbols;
#endif
} }
else if (BootPhase == 1) else if (BootPhase == 1)
{ {
@ -406,6 +417,11 @@ KdbSymInit(
KIRQL OldIrql; KIRQL OldIrql;
PLIST_ENTRY ListEntry; PLIST_ENTRY ListEntry;
#if 1 // FIXME: This is a workaround HACK!!
// Now, restore the actual value of LoadSymbols.
LoadSymbols = OrigLoadSymbols;
#endif
/* Do not continue loading symbols if we have less than 96MB of RAM */ /* Do not continue loading symbols if we have less than 96MB of RAM */
if (MmNumberOfPhysicalPages < (96 * 1024 * 1024 / PAGE_SIZE)) if (MmNumberOfPhysicalPages < (96 * 1024 * 1024 / PAGE_SIZE))
LoadSymbols = FALSE; LoadSymbols = FALSE;