diff --git a/src/kernel/console.cpp b/src/kernel/console.cpp index 3d2138f..fb261df 100644 --- a/src/kernel/console.cpp +++ b/src/kernel/console.cpp @@ -132,8 +132,6 @@ public: void set_color(uint8_t fg, uint8_t bg) { - if (!m_palette) return; - m_bg = m_palette[bg]; m_fg = m_palette[fg]; m_attr = (bg << 8) | fg; diff --git a/src/kernel/log.cpp b/src/kernel/log.cpp index 49300a0..a393e82 100644 --- a/src/kernel/log.cpp +++ b/src/kernel/log.cpp @@ -1,10 +1,11 @@ #include #include "kutil/memory.h" +#include "assert.h" #include "console.h" #include "log.h" -static const uint64_t default_enabled[] = {0x00, 0x0f, 0x0f, 0x0f}; +static const uint64_t default_enabled[] = {0x00, 0xff, 0xff, 0xff}; static const uint8_t level_colors[] = {0x07, 0x0f, 0x0b, 0x09}; static const char *levels[] = {"debug", " info", " warn", "error", "fatal"}; @@ -20,17 +21,16 @@ static const char *areas[] = { log log::s_log; -log::log() : - m_cons(nullptr) +log::log() : m_cons(nullptr) { - for (int i = 0; i < sizeof(m_enabled) / sizeof(uint64_t); ++i) - m_enabled[i] = default_enabled[i]; + kassert(0, "Invalid log constructor"); } log::log(console *cons) : m_cons(cons) { - for (int i = 0; i < sizeof(m_enabled) / sizeof(uint64_t); ++i) + const int num_levels = static_cast(level::max) - 1; + for (int i = 0; i < num_levels; ++i) m_enabled[i] = default_enabled[i]; } @@ -49,10 +49,10 @@ log::enable(logs type, level at_level) { using under_t = std::underlying_type::type; under_t at = static_cast(at_level); - under_t max = sizeof(m_enabled) / sizeof(under_t); + under_t max = sizeof(m_enabled) / sizeof(m_enabled[0]); for (under_t i = 0; i < max; ++i) { - if (i <= at) + if (i >= at) s_log.m_enabled[i] |= bit_mask(type); else s_log.m_enabled[i] &= ~bit_mask(type); diff --git a/src/kernel/main.cpp b/src/kernel/main.cpp index fe9b5bd..fde2989 100644 --- a/src/kernel/main.cpp +++ b/src/kernel/main.cpp @@ -46,7 +46,7 @@ init_console(const popcorn_data *header) cons->puts(GIT_VERSION " booting...\n"); log::init(cons); - //log::enable(logs::apic, log::level::debug); + log::enable(logs::apic, log::level::debug); log::enable(logs::devices, log::level::debug); }