From b8ddb9b87165f7a3269364690f22e14a1ca43805 Mon Sep 17 00:00:00 2001 From: Braiden Vasco Date: Sat, 4 Nov 2017 12:12:20 +0000 Subject: [PATCH] Display more info --- arch/init.c | 5 +++++ arch/linker.ld | 2 ++ arch/main.c | 18 ++++++++++++++++++ 3 files changed, 25 insertions(+) diff --git a/arch/init.c b/arch/init.c index 5bd83b1..1a76f53 100644 --- a/arch/init.c +++ b/arch/init.c @@ -5,6 +5,7 @@ // Defined in linker script extern char _kernel_offset; +extern char _kernel_size; extern char _kernel_phys_base; extern char _kernel_virt_base; @@ -23,9 +24,13 @@ const struct KernelMQ_Info *init(unsigned long multiboot_magic, unsigned long mu } kinfo.kernel_offset = (unsigned long)&_kernel_offset; + kinfo.kernel_size = (unsigned long)&_kernel_size; kinfo.kernel_phys_base = (unsigned long)&_kernel_phys_base; kinfo.kernel_virt_base = (unsigned long)&_kernel_virt_base; + kinfo.kernel_phys_limit = kinfo.kernel_phys_base + kinfo.kernel_size - 1; + kinfo.kernel_virt_limit = kinfo.kernel_virt_base + kinfo.kernel_size - 1; + return &kinfo; } diff --git a/arch/linker.ld b/arch/linker.ld index 173a51c..06bd991 100644 --- a/arch/linker.ld +++ b/arch/linker.ld @@ -31,4 +31,6 @@ SECTIONS *(COMMON) *(.bss) } + + _kernel_size = .; } diff --git a/arch/main.c b/arch/main.c index 1dc4d7c..5f57430 100644 --- a/arch/main.c +++ b/arch/main.c @@ -25,6 +25,24 @@ void main(const struct KernelMQ_Info *const kinfo_ptr) kprintf("Kernel command line: %s\n", kinfo.cmdline); + kprintf( + "Kernel phys base 0x%x, limit 0x%x\n", + kinfo.kernel_phys_base, + kinfo.kernel_phys_limit + ); + + kprintf( + "Kernel virt base 0x%x, limit 0x%x\n", + kinfo.kernel_virt_base, + kinfo.kernel_virt_limit + ); + + kprintf( + "Kernel size 0x%x, offset 0x%x\n", + kinfo.kernel_size, + kinfo.kernel_offset + ); + for (unsigned int i = 0; i < kinfo.modules_count; ++i) { struct KernelMQ_Info_Module *module = &kinfo.modules[i];