From e9d4b601817d3ffeb9bde9c492e69589c53bc2ba Mon Sep 17 00:00:00 2001 From: Max Wash Date: Tue, 7 Feb 2023 15:43:14 +0000 Subject: [PATCH] vm: print log messages during initialisation --- vm/bootstrap.c | 2 ++ vm/kmalloc.c | 2 ++ vm/page.c | 4 ++++ vm/zone.c | 2 ++ 4 files changed, 10 insertions(+) diff --git a/vm/bootstrap.c b/vm/bootstrap.c index bf32ad5..5109a38 100644 --- a/vm/bootstrap.c +++ b/vm/bootstrap.c @@ -2,6 +2,7 @@ #include #include #include +#include #include #include #include @@ -15,6 +16,7 @@ kern_status_t vm_bootstrap(const vm_zone_descriptor_t *zones, size_t nr_zones) /* we're only worrying about UMA systems for now */ node_data = memblock_alloc(sizeof(vm_pg_data_t) * numa_count, 8); + printk("vm: initialising %u node%s", numa_count, numa_count > 1 ? "s" : ""); vm_page_init_array(); diff --git a/vm/kmalloc.c b/vm/kmalloc.c index fac5593..8444f2b 100644 --- a/vm/kmalloc.c +++ b/vm/kmalloc.c @@ -2,6 +2,7 @@ #include #include #include +#include #include #define SIZE_N_CACHE(s) \ @@ -38,6 +39,7 @@ void kmalloc_init(void) } kmalloc_initialised = 1; + printk("vm: kmalloc size-N caches online"); } void *kmalloc(size_t count, vm_flags_t flags) diff --git a/vm/page.c b/vm/page.c index ab763c4..f65d4a5 100644 --- a/vm/page.c +++ b/vm/page.c @@ -1,5 +1,6 @@ #include #include +#include #include #include @@ -87,6 +88,7 @@ void vm_page_init_array() } size_t nr_reserved = 0; + for_each_reserved_mem_range(&it, 0x0, UINTPTR_MAX) { for (uintptr_t i = it.it_base; i < it.it_limit; i += VM_PAGE_SIZE) { size_t pfn = i / VM_PAGE_SIZE; @@ -95,6 +97,8 @@ void vm_page_init_array() nr_reserved++; } } + + printk("vm: page array has %zu pages, %zu reserved", nr_pages, nr_reserved); } vm_page_t *vm_page_get(phys_addr_t addr) diff --git a/vm/zone.c b/vm/zone.c index c74a07f..5eb0866 100644 --- a/vm/zone.c +++ b/vm/zone.c @@ -2,6 +2,7 @@ #include #include #include +#include #include static vm_page_t *group_pages_into_block(vm_zone_t *z, phys_addr_t base, phys_addr_t limit, int order) @@ -114,6 +115,7 @@ void vm_zone_init(vm_zone_t *z, const vm_zone_descriptor_t *zone_info) } spin_unlock_irqrestore(&z->z_lock, flags); + printk("vm: zone %s on node %u online.", z->z_info.zd_name, z->z_info.zd_node); } static int replenish_free_page_list(vm_zone_t *z, vm_page_order_t order)