1
0
Fork 0
mirror of https://github.com/tailix/kernel.git synced 2025-04-14 17:33:13 -04:00

Add include <kernelmq/info.h>

This commit is contained in:
Braiden Vasco 2017-11-04 10:09:53 +00:00
parent 48ff83b5a3
commit f33dd3c9f8
2 changed files with 73 additions and 0 deletions

View file

@ -3,6 +3,10 @@
#include "multiboot.h"
#include "memory.h"
#include <kernelmq/info.h>
static struct KernelMQ_Info kinfo;
void init(struct KernelMQ_Multiboot_Info multiboot_info)
{
console_initialize();

69
include/kernelmq/info.h Normal file
View file

@ -0,0 +1,69 @@
#ifndef KERNELMQ_INCLUDED_INFO
#define KERNELMQ_INCLUDED_INFO 1
#ifdef __cplusplus
extern "C" {
#endif
#define KERNELMQ_INFO_CMDLINE_SIZE_MAX 256
#define KERNELMQ_INFO_MODULES_MAX 20
#define KERNELMQ_INFO_AREAS_MAX 20
#define KERNELMQ_INFO_MEM_LOWER_BASE ((unsigned long)0)
#define KERNELMQ_INFO_MEM_UPPER_BASE ((unsigned long)(1 * 1024 * 1024 * 1024)) // 1 MB
#define KERNELMQ_INFO_MEM_LOWER_SIZE_MAX ((unsigned long)(640 * 1024)) // 640 KB
struct KernelMQ_Info_Module {
unsigned long base;
unsigned long size;
unsigned long limit;
char cmdline[KERNELMQ_INFO_CMDLINE_SIZE_MAX];
};
struct KernelMQ_Info_Area {
unsigned long base;
unsigned long size;
unsigned long limit;
unsigned char is_available;
};
struct KernelMQ_Info {
char cmdline[KERNELMQ_INFO_CMDLINE_SIZE_MAX];
struct KernelMQ_Info_Module modules[KERNELMQ_INFO_MODULES_MAX];
unsigned int modules_count;
struct KernelMQ_Info_Area areas[KERNELMQ_INFO_AREAS_MAX];
unsigned int areas_count;
unsigned long mem_lower_base;
unsigned long mem_lower_size;
unsigned long mem_lower_limit;
unsigned long mem_upper_base;
unsigned long mem_upper_size;
unsigned long mem_upper_limit;
unsigned long kernel_offset;
unsigned long kernel_phys_base;
unsigned long kernel_phys_limit;
unsigned long kernel_virt_base;
unsigned long kernel_virt_limit;
unsigned long kernel_size;
unsigned long modules_total_size;
unsigned long kernel_and_modules_total_size;
};
#ifdef __cplusplus
}
#endif
#endif