diff --git a/vm/bootstrap.c b/vm/bootstrap.c index b10c3c5..4a9520c 100644 --- a/vm/bootstrap.c +++ b/vm/bootstrap.c @@ -22,7 +22,17 @@ kern_status_t vm_bootstrap(const vm_zone_descriptor_t *zones, size_t nr_zones) /* TODO select which memory model to use automatically, and add a kernel boot parameter to override the choice */ vm_set_memory_model(VM_MODEL_SPARSE); - vm_sparse_init(); + + switch (vm_memory_model()) { + case VM_MODEL_SPARSE: + vm_sparse_init(); + break; + case VM_MODEL_FLAT: + vm_flat_init(); + break; + default: + break; + } for (size_t i = 0; i < nr_zones; i++) { vm_zone_init(&node_data->pg_zones[zones[i].zd_id], &zones[i]);