feat: moved block dev loop to a daemon task. Fixed bug in string.c and

main loop
This commit is contained in:
2021-03-01 21:42:35 +01:00
parent 990b850c43
commit 76792dd6fd
7 changed files with 32 additions and 21 deletions

View File

@@ -13,9 +13,7 @@
#include <fs/mbr.h>
#include <fs/blockdev.h>
#include <fs/fat.h>
#include <stdbool.h>
#include <cpu/cpuidx.h>
#include <mem/malloc.h>
#include <tasks/task.h>
#include <libk/syscall.h>
#include <command.h>
@@ -29,8 +27,6 @@ void init_mmap(multiboot_info_t *multiboot_info) {
if (multiboot_info->flags & (1 << 6)) {
mmap_init_multiboot((struct multiboot_mmap_entry *) multiboot_info->mmap_addr,
multiboot_info->mmap_length / sizeof(struct multiboot_mmap_entry));
// malloc_init();
// todo fallback on other mechanisms?
} else {
k_panics("mmap invalid!\n");
}
@@ -51,9 +47,6 @@ void init_block_devices() {
// register drivers
mbr_register_block_driver();
fat_register_block_driver();
// scan
block_dev_scan_repeat();
}
void noreturn kmain(multiboot_info_t *multiboot_info) {
@@ -79,6 +72,7 @@ void noreturn kmain(multiboot_info_t *multiboot_info) {
printf("Booted successfully v%d.%d.%d\n", version_major, version_minor, version_patch);
task_init();
block_dev_start_task();
task_spawn(main_loop, NULL);
syscall_start_scheduler();
}