private static void InitPreMonitoring() { Tracing.Log(0); Tracing.Log(1); Tracing.Log(2); Tracing.Log(3); DebugStub.WriteLine("-------------------------------------------------------------------------------"); ARM_PROGRESS("Kernel!001"); // Indicate that we are not booted yet hasBooted = false; // Rather than mark all bootstrap code with [NoBarriers], perform a mini- // initialization that gives us a working WriteBarrier. System.GCs.Barrier.PreInitialize(); ARM_PROGRESS("Kernel!002"); // Initialize the memory subsystem. If enabled this turns on paging MemoryManager.Initialize(); // Note for Monitoring early boot process: // if you ever want to monitor stuff before this point, you should // allocate a static memory area in BootInit.cs, init the // monitoring system earlier, hold the system at this point here, // copy over all the collected data up to now to the new // dynamically created buffer and continue Monitoring.Initialize(); // uses page memory ARM_PROGRESS("Kernel!003"); HandleTable.Initialize(); }