From a7d0607c924e8cb329eca96aa47b2ea4b5f83948 Mon Sep 17 00:00:00 2001 From: Eryn Wells Date: Sun, 28 Feb 2016 13:33:20 -0500 Subject: [PATCH] Okay, just create a console object when you need one... for now --- src/Console.cc | 21 --------------------- src/Console.hh | 2 -- src/Main.cc | 28 ++++++++++------------------ 3 files changed, 10 insertions(+), 41 deletions(-) diff --git a/src/Console.cc b/src/Console.cc index 56b26cb..deeafad 100644 --- a/src/Console.cc +++ b/src/Console.cc @@ -10,16 +10,6 @@ namespace kernel { -/* - * TODO: The build currently complains about missing __cxa_guard_acquire and - * __cxa_guard_release symbols if I add it there though. Once I've written - * those, this can be moved Console::systemConsole(). - * - * See http://wiki.osdev.org/C%2B%2B for details. - */ -static Console sSystemConsole; - - /** Create a VGA color pair. */ static inline uint8_t makeVGAColor(Console::Color fg, @@ -39,21 +29,10 @@ makeVGAEntry(char c, return c16 | color16 << 8; } -/* - * Static - */ - -auto -Console::systemConsole() -> Console& -{ - return sSystemConsole; -} - /* * Public */ -// TODO: Make this private once the kernel supports local static variables. Console::Console() : mBase(reinterpret_cast(0xB8000)), mCursor{0, 0}, diff --git a/src/Console.hh b/src/Console.hh index 32c98dd..dcc0537 100644 --- a/src/Console.hh +++ b/src/Console.hh @@ -41,8 +41,6 @@ struct Console static const size_t Width = 80; static const size_t Height = 25; - static auto systemConsole() -> Console&; - Console(); /** Clear the console to the provided color. */ diff --git a/src/Main.cc b/src/Main.cc index 53afe4f..35e378a 100644 --- a/src/Main.cc +++ b/src/Main.cc @@ -14,38 +14,30 @@ extern "C" void kearly() -{ } - - -/** The beginning of the world... */ -extern "C" -void -kmain() { - auto console = kernel::Console::systemConsole(); + kernel::Console console; console.clear(kernel::Console::Color::Blue); - console.writeString("Hello world!\n"); + console.writeString("Loading system ...\n"); - /* - * TODO: The performance of this loop slowed down a _lot_ (7 to 8 orders of - * magnitude according to the busy loop) when I moved this code from - * kearly() to here. I wonder if it has something to do with object - * initialization? Should probably investigate some. - */ volatile int foo = 0; - int j = 0; int i = 0; for (;;) { - if (j == 0) { + if (i == 0) { console.writeString("--- MARK ---\n"); } console.writeChar('a' + i); console.writeChar('\n'); i = (i + 1) % 26; - j = (j + 1) % 500; for (uint32_t k = 0; k < (2u << 20) - 1; k++) { foo /= 2; } } } + + +/** The beginning of the world... */ +extern "C" +void +kmain() +{ }