예제 #1
0
        public static void Setup()
        {
            KernelMessage.WriteLine("Multiboot Flags: {0:X}", Multiboot.Flags);
            BootInfo            = (BootInfoHeader *)Address.KernelBootInfo;
            BootInfo->Magic     = lonos.kernel.core.BootInfoHeader.BootInfoMagic;
            BootInfo->HeapStart = KMath.AlignValueCeil(Address.OriginalKernelElfSection + LoaderStart.OriginalKernelElf.TotalFileSize, 0x1000);
            BootInfo->HeapSize  = 0;

            BootInfo->InstalledPhysicalMemory = 128 * 1024 * 1024;

            SetupVideoInfo();
            SetupMemoryMap();
        }
예제 #2
0
        public static void Setup()
        {
            KernelMessage.WriteLine("Multiboot Flags: {0:X}", Multiboot.Flags);
            BootInfo            = (BootInfoHeader *)Address.KernelBootInfo;
            BootInfo->Magic     = BootInfoHeader.BootInfoMagic;
            BootInfo->HeapStart = KMath.AlignValueCeil(Address.OriginalKernelElfSection + LoaderStart.OriginalKernelElf.TotalFileSize, 0x1000);
            BootInfo->HeapSize  = 0;

            BootInfo->InstalledPhysicalMemory = 256 * 1024 * 1024;
            BootInfo->PageTableType           = KConfig.UsePAE ? PageTableType.PAE : PageTableType.X86;
            BootInfo->KernelBootStartCycles   = PerformanceCounter.KernelBootStartCycles;

            SetupVideoInfo();
            SetupMemoryMap();
        }
예제 #3
0
파일: BootInfo.cs 프로젝트: arakis/abanu
 public static void SetupStage1()
 {
     Header = (BootInfoHeader *)Address.KernelBootInfo;
     ApplyAddresses();
 }