X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=KernelLand%2FKernel%2Finclude%2Fmboot.h;h=ad9365599f06cc9ca7b694824d3e43efcf3fec6f;hb=2462d860630674d10d554f86aa669163f6f2db6b;hp=c7f33ddb54100019318a8d5069bd9ba91a5cadfd;hpb=48743e39650eb1ef988380e9d95f27fd40d3a9ce;p=tpg%2Facess2.git diff --git a/KernelLand/Kernel/include/mboot.h b/KernelLand/Kernel/include/mboot.h index c7f33ddb..ad936559 100644 --- a/KernelLand/Kernel/include/mboot.h +++ b/KernelLand/Kernel/include/mboot.h @@ -4,21 +4,47 @@ */ #ifndef _MBOOT_H #define _MBOOT_H +#include #define MULTIBOOT_MAGIC 0x2BADB002 +#include +#include + // === TYPES === typedef struct { Uint32 Flags; + // flags[0] Uint32 LowMem; Uint32 HighMem; + // flags[1] Uint32 BootDevice; + // flags[2] Uint32 CommandLine; + // flags[3] Uint32 ModuleCount; Uint32 Modules; + // flags[4] or flags[5] Uint32 SymbolInfo[4]; // #32 UNUSED + // flags[6] Uint32 MMapLength; Uint32 MMapAddr; // #40 + // flags[7] + Uint32 drives_length; + Uint32 drives_addr; + // flags[8] + Uint32 config_table; + // flags[9] + Uint32 boot_loader_name; + // flags[10] + Uint32 apm_table; + // flags[11] + Uint32 vbe_control_info; + Uint32 vbe_mode_info; + Uint32 vbe_mode; + Uint32 vbe_interface_seg; + Uint32 vbe_interface_off; + Uint32 vbe_interface_len; } tMBoot_Info; typedef struct { @@ -35,4 +61,7 @@ typedef struct { Uint32 Type; //1:RAM,Else Reserved } __attribute__ ((packed)) tMBoot_MMapEnt; +extern int Multiboot_LoadMemoryMap(tMBoot_Info *MBInfo, tVAddr MapOffset, tPMemMapEnt *Map, const int MapSize, tPAddr KStart, tPAddr KEnd); +extern tBootModule *Multiboot_LoadModules(tMBoot_Info *MBInfo, tVAddr MapOffset, int *ModuleCount); + #endif