feat: moved block dev loop to a daemon task. Fixed bug in string.c and
main loop
This commit is contained in:
@@ -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();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user