2024-07-11 08:56:52 +02:00
|
|
|
#include <kernel/tty.h>
|
2024-08-05 00:59:07 +02:00
|
|
|
#include <kernel/idt.h>
|
2024-07-16 22:51:41 +02:00
|
|
|
#include <debugging.h>
|
2024-08-05 00:59:07 +02:00
|
|
|
#include <kernel/elf.h>
|
2024-08-09 23:16:20 +02:00
|
|
|
#include <kernel/pic.h>
|
2024-07-16 22:51:41 +02:00
|
|
|
|
|
|
|
/* Check if the compiler thinks you are targeting the wrong operating system. */
|
|
|
|
#if defined(__linux__)
|
|
|
|
#error "You are not using a cross-compiler, you will most certainly run into trouble"
|
|
|
|
#endif
|
2024-07-11 08:56:52 +02:00
|
|
|
|
2024-08-05 00:59:07 +02:00
|
|
|
uint8_t program[] = {
|
2024-08-09 23:16:20 +02:00
|
|
|
0xba, 0x09, 0x00, 0x80, 0x00, // mov $string, %edx
|
|
|
|
0xcd, 0x80, // int 0x80
|
|
|
|
0xeb, 0xfe, // jmp .
|
|
|
|
'H',
|
|
|
|
'e',
|
|
|
|
'l',
|
|
|
|
'l',
|
|
|
|
'o',
|
|
|
|
' ',
|
|
|
|
'W',
|
|
|
|
'o',
|
|
|
|
'r',
|
|
|
|
'l',
|
|
|
|
'd',
|
|
|
|
' ',
|
|
|
|
'f',
|
|
|
|
'r',
|
|
|
|
'o',
|
|
|
|
'm',
|
|
|
|
' ',
|
|
|
|
'r',
|
|
|
|
'i',
|
|
|
|
'n',
|
|
|
|
'g',
|
|
|
|
' ',
|
|
|
|
'3',
|
|
|
|
'!',
|
|
|
|
0x00,
|
2024-08-05 00:59:07 +02:00
|
|
|
};
|
|
|
|
|
2024-07-11 08:56:52 +02:00
|
|
|
void kernel_main(void)
|
|
|
|
{
|
|
|
|
/* Initialize terminal interface */
|
2024-08-09 23:16:20 +02:00
|
|
|
terminal_initialize();
|
2024-08-05 00:59:07 +02:00
|
|
|
|
2024-08-09 23:16:20 +02:00
|
|
|
init_pic();
|
2024-08-05 00:59:07 +02:00
|
|
|
idt_init();
|
2024-08-09 23:16:20 +02:00
|
|
|
// run_program(program, sizeof(program));
|
2024-08-05 00:59:07 +02:00
|
|
|
while (true) {
|
|
|
|
|
2024-08-09 23:16:20 +02:00
|
|
|
}
|
2024-07-11 08:56:52 +02:00
|
|
|
}
|