mirror of https://github.com/tailix/kernel.git
Print kernel info
This commit is contained in:
parent
06935b2e53
commit
48814535b2
|
@ -1,5 +1,6 @@
|
||||||
#include "info.h"
|
#include "info.h"
|
||||||
|
|
||||||
|
#include <kernaux/console.h>
|
||||||
#include <kernaux/libc.h>
|
#include <kernaux/libc.h>
|
||||||
|
|
||||||
static bool cmdline_terminated(const char *s);
|
static bool cmdline_terminated(const char *s);
|
||||||
|
@ -26,6 +27,28 @@ void kernel_info_initialize(
|
||||||
kinfo->kernel_stack_top = stack_top;
|
kinfo->kernel_stack_top = stack_top;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void kernel_info_print(const struct Kernel_Info *const kinfo)
|
||||||
|
{
|
||||||
|
kernaux_console_printf("Kernel info\n");
|
||||||
|
kernaux_console_printf(" cmdline: %s\n", kinfo->cmdline);
|
||||||
|
kernaux_console_printf(" modules: %lu\n", kinfo->modules_count);
|
||||||
|
kernaux_console_printf(" areas: %lu\n", kinfo->areas_count);
|
||||||
|
kernaux_console_printf("\n");
|
||||||
|
kernaux_console_printf(" offset: %lu\n", kinfo->kernel_offset);
|
||||||
|
kernaux_console_printf(" size: %lu\n", kinfo->kernel_size);
|
||||||
|
kernaux_console_printf("\n");
|
||||||
|
kernaux_console_printf(" phys base: %lu\n", kinfo->kernel_phys_base);
|
||||||
|
kernaux_console_printf(" phys limit: %lu\n", kinfo->kernel_phys_limit);
|
||||||
|
kernaux_console_printf("\n");
|
||||||
|
kernaux_console_printf(" virt base: %lu\n", kinfo->kernel_virt_base);
|
||||||
|
kernaux_console_printf(" virt limit: %lu\n", kinfo->kernel_virt_limit);
|
||||||
|
kernaux_console_printf("\n");
|
||||||
|
kernaux_console_printf(" modules size: %lu\n", kinfo->modules_total_size);
|
||||||
|
kernaux_console_printf(" kernel & modules sizet: %lu\n", kinfo->kernel_and_modules_total_size);
|
||||||
|
kernaux_console_printf("\n");
|
||||||
|
kernaux_console_printf(" stack top: %lu\n", kinfo->kernel_stack_top);
|
||||||
|
}
|
||||||
|
|
||||||
bool kernel_info_validate(const struct Kernel_Info *const kinfo)
|
bool kernel_info_validate(const struct Kernel_Info *const kinfo)
|
||||||
{
|
{
|
||||||
if (!kinfo) return false;
|
if (!kinfo) return false;
|
||||||
|
|
|
@ -67,6 +67,7 @@ void kernel_info_initialize(
|
||||||
);
|
);
|
||||||
|
|
||||||
bool kernel_info_validate(const struct Kernel_Info *kinfo);
|
bool kernel_info_validate(const struct Kernel_Info *kinfo);
|
||||||
|
void kernel_info_print(const struct Kernel_Info *kinfo);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|
|
@ -153,6 +153,8 @@ void main(
|
||||||
|
|
||||||
kinfo.kernel_and_modules_total_size = kinfo.kernel_size + kinfo.modules_total_size;
|
kinfo.kernel_and_modules_total_size = kinfo.kernel_size + kinfo.modules_total_size;
|
||||||
|
|
||||||
|
kernel_info_print(&kinfo);
|
||||||
|
|
||||||
paging_clear();
|
paging_clear();
|
||||||
paging_identity();
|
paging_identity();
|
||||||
/* kinfo.freepde_start = */ paging_mapkernel(&kinfo);
|
/* kinfo.freepde_start = */ paging_mapkernel(&kinfo);
|
||||||
|
|
Loading…
Reference in New Issue