X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/58f0877fc16da760e2ed6910648ec67e9afff890..a362b4b2c4abbf2da6ec14cb44a8685a81107f6a:/lunaix-os/kernel/k_init.c diff --git a/lunaix-os/kernel/k_init.c b/lunaix-os/kernel/k_init.c index d1643b4..6274dd8 100644 --- a/lunaix-os/kernel/k_init.c +++ b/lunaix-os/kernel/k_init.c @@ -82,6 +82,8 @@ _kernel_init() vfs_export_attributes(); + lxconsole_init(); + if ((errno = vfs_mount_root("ramfs", NULL))) { panickf("Fail to mount root. (errno=%d)", errno); } @@ -90,7 +92,7 @@ _kernel_init() vfs_mount("/sys", "twifs", NULL, MNT_RO); vfs_mount("/task", "taskfs", NULL, MNT_RO); - lxconsole_init(); + lxconsole_spawn_ttydev(); syscall_install(); @@ -209,4 +211,9 @@ setup_memory(multiboot_memory_map_t* map, size_t map_size) for (uintptr_t i = &__usrtext_start; i < &__usrtext_end; i += PG_SIZE) { vmm_set_mapping(PD_REFERENCED, i, V2P(i), PG_PREM_UR, VMAP_NULL); } + + // reserve higher half + for (size_t i = L1_INDEX(KERNEL_MM_BASE); i < 1023; i++) { + assert(vmm_set_mapping(PD_REFERENCED, i << 22, 0, 0, VMAP_NOMAP)); + } }