mem: Refactor vma/vmo

This commit is contained in:
2026-10-25 17:49:25 +01:00
parent ef08e2e5d7
commit efe1feb852
6 changed files with 1084 additions and 317 deletions
+5 -5
View File
@@ -42,11 +42,11 @@ static void kernel_main_task(uintptr_t arg0) {
struct boot_file* file_data = &info->files[0];
struct task* init_task = nullptr;
struct paged_vmo* init_file;
status = vmo_new_phys(&init_file);
struct vmo* init_file;
status = vmo_new_anon(&init_file);
assert(status == 0, "Failed to allocate a memory object");
vmo_write(&init_file->object, 0, HHDM_PTR(file_data->data), file_data->length, nullptr);
vmo_write(init_file, 0, HHDM_PTR(file_data->data), file_data->length, nullptr);
// Load init.
const char* init_argv[] = {"init", nullptr};
@@ -54,12 +54,12 @@ static void kernel_main_task(uintptr_t arg0) {
struct exec_info exec = {
.space = init_space,
.file_obj = &init_file->object,
.file_obj = init_file,
.argv = init_argv,
.envp = init_envp,
};
vmo_unref(&init_file->object);
vmo_unref(init_file);
assert(status == 0, "Failed to load init process (%i)", status);
sched_add_task(&percpu_get()->sched, init_task);