diff --git a/src/bootloader/main.s b/src/bootloader/main.s index 3c4fd0f..7a84f9f 100644 --- a/src/bootloader/main.s +++ b/src/bootloader/main.s @@ -320,6 +320,7 @@ part_2: jc load_fail ; debug mov esi, [kload_paddr] + ; jmp $ call load_elf ; debug push eax @@ -329,18 +330,20 @@ part_2: ; debug cmp eax, -1 je .find_fs_driver_no_disk - mov eax, esi + mov esi, eax and edx, 0xfffffc00 add edx, 0x1000 add [kload_paddr], edx ; debug - ; mov edi, edx - debug - mov [disk_module_struct.ptr], edi + mov edi, [kload_paddr] call read_file - debug + mov esi, [kload_paddr] + ; call load_elf + mov [disk_module_struct.ptr], edi + ; debug jc load_fail + jmp .find_fs_driver .find_fs_driver_no_disk: mov ax, 0xe44 int 0x10 diff --git a/src/kernel/kmain.c b/src/kernel/kmain.c index ea23e26..458b4cd 100644 --- a/src/kernel/kmain.c +++ b/src/kernel/kmain.c @@ -20,7 +20,8 @@ extern void kmain(kernel_info_t *kernel_info){ //TODO: Map and load filesystem and disk modules //TODO: Start Initial Process - printf("%x", kernel_info->loaded_modules->type); + printf("%x", kernel_info->loaded_modules->ptr); + printf("%x", kmain); init_scheduler(); thread_start(pid0);