mirror of
https://github.com/danbulant/Cosmos
synced 2026-05-19 20:39:01 +00:00
31 lines
1.2 KiB
C#
31 lines
1.2 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
|
|
namespace Cosmos.Core {
|
|
public static class Bootstrap {
|
|
// See note in Global - these are a "hack" for now so
|
|
// we dont force static init of Global, and it "pulls" these later till
|
|
// we eventually eliminate them
|
|
static public PIC PIC;
|
|
// Has to be static for now, ZeroFill gets called before the Init.
|
|
static public readonly CPU CPU = new CPU();
|
|
|
|
// Bootstrap is a class designed only to get the essentials done.
|
|
// ie the stuff needed to "pre boot". Do only the very minimal here.
|
|
// IDT, PIC, and Float
|
|
// Note: This is changing a bit GDT (already) and IDT are moving to a real preboot area.
|
|
public static void Init() {
|
|
// Drag this stuff in to the compiler manually until we add the always include attrib
|
|
INTs.Dummy();
|
|
|
|
PIC = new PIC();
|
|
CPU.UpdateIDT(true);
|
|
CPU.InitFloat();
|
|
|
|
// Managed_Memory_System.ManagedMemory.Initialize();
|
|
// Managed_Memory_System.ManagedMemory.SetUpMemoryArea();
|
|
}
|
|
}
|
|
}
|