1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-28 17:45:09 +00:00

Add a Console device and start refactoring screen output.

This commit is contained in:
Andreas Kling 2018-10-21 21:59:43 +02:00
parent d5ec18027e
commit a70bfb87d5
5 changed files with 95 additions and 13 deletions

View file

@ -24,9 +24,10 @@
#include <AK/OwnPtr.h>
#include "MemoryManager.h"
#include <ELFLoader/ELFLoader.h>
#include "Console.h"
#define TEST_ELF_LOADER
#define TEST_CRASHY_USER_PROCESSES
//#define TEST_ELF_LOADER
//#define TEST_CRASHY_USER_PROCESSES
#if 0
/* Keyboard LED disco task ;^) */
@ -126,6 +127,8 @@ void init()
kmalloc_init();
vga_init();
auto console = make<Console>();
PIC::initialize();
gdt_init();
idt_init();
@ -160,7 +163,7 @@ void init()
Disk::initialize();
#if 1
#if CHECK_VFS
auto vfs = make<VirtualFileSystem>();
auto dev_zero = make<ZeroDevice>();
@ -181,15 +184,8 @@ void init()
vfs->mountRoot(e2fs.copyRef());
#ifdef TEST_CRASHY_USER_PROCESSES
new Task(user_main, "user", IPC::Handle::UserTask, Task::Ring3);
new Task(user_kprintf_main, "user_kprintf", IPC::Handle::UserTask, Task::Ring3);
#endif
//vfs->listDirectory("/");
#endif
#if 1
{
auto motdFile = vfs->open("/motd.txt");
ASSERT(motdFile);
@ -201,6 +197,11 @@ void init()
}
#endif
#ifdef TEST_CRASHY_USER_PROCESSES
new Task(user_main, "user", IPC::Handle::UserTask, Task::Ring3);
new Task(user_kprintf_main, "user_kprintf", IPC::Handle::UserTask, Task::Ring3);
#endif
#ifdef TEST_ELF_LOADER
{
auto testExecutable = vfs->open("/_hello.o");
@ -220,8 +221,8 @@ void init()
}
#endif
new Task(motd_main, "motd", IPC::Handle::MotdTask, Task::Ring0);
new Task(syscall_test_main, "syscall_test", IPC::Handle::MotdTask, Task::Ring0);
//new Task(motd_main, "motd", IPC::Handle::MotdTask, Task::Ring0);
//new Task(syscall_test_main, "syscall_test", IPC::Handle::MotdTask, Task::Ring3);
// The idle task will spend its eternity here for now.
for (;;) {