Loaded program cannot do stuff. Answer=syscalls?

This commit is contained in:
xamidev
2024-09-14 22:55:02 +02:00
parent 03b712ace0
commit c885e69be4
2 changed files with 8 additions and 3 deletions

View File

@@ -78,14 +78,14 @@ void kmain(multiboot2_info *mb_info)
if (mmap->addr != 0)
{
/*
serial_printf(3, "base addr=0x%x%x, length=0x%x%x, type=%u",
(uint32_t) (mmap->addr >> 32),
(uint32_t) (mmap->addr & 0xFFFFFFFF),
(uint32_t) (mmap->len >> 32),
(uint32_t) (mmap->len & 0xFFFFFFFF),
mmap->type);
*/
}
mmap = (struct multiboot_mmap_entry*) ((uint8_t*)mmap + mmap_tag->entry_size);
@@ -128,6 +128,9 @@ void kmain(multiboot2_info *mb_info)
printf("LOADED!\n");
}
void (*program_entry)() = (void (*)())binary_file;
program_entry();
timer_install();
keyboard_install();
printf("[kernel] spawning shell...\n");

View File

@@ -1,6 +1,8 @@
#include "../libc/stdio.h"
#include "../drivers/serial.h"
void main()
{
printf("Hello, world, from a PROGRAM!\n");
serial_printf(3, "Hello, world, from a PROGRAM!\n");
return;
}