summaryrefslogtreecommitdiff
path: root/kernel/entry.cxx
diff options
context:
space:
mode:
authorSamuel Johnson <[email protected]>2025-07-01 10:33:05 -0400
committerSamuel Johnson <[email protected]>2025-07-01 10:33:05 -0400
commit571a656a6bd9b4b9d5c595c578d15ba79bb19ef7 (patch)
tree46f75b47f4edab4281de14ffa1c4a91a5a84f8f1 /kernel/entry.cxx
parent12fd3a91f138bf90520134682e38bf3b0341e660 (diff)
Add serial loggingHEADtrunkdev
Diffstat (limited to 'kernel/entry.cxx')
-rw-r--r--kernel/entry.cxx23
1 files changed, 19 insertions, 4 deletions
diff --git a/kernel/entry.cxx b/kernel/entry.cxx
index b5bc210..643fbc0 100644
--- a/kernel/entry.cxx
+++ b/kernel/entry.cxx
@@ -1,6 +1,15 @@
#include "../vendor/limine/limine.h"
+#include "../version.h"
+
+#include <io/logger/base.h>
#include <cstdint>
+#if defined (__x86_64__)
+#include <amd64/io/com1.h>
+#endif
+
+using namespace hos::io;
+
__attribute__ ((used, section(".requests")))
static volatile LIMINE_BASE_REVISION(3);
@@ -30,20 +39,26 @@ void init (void);
extern "C" void _launch (void);
void _launch (void)
{
+ // Global C++ Constructors
+ init();
+
+ logger<com_logger> logger(log_level::DEBUG);
+ logger.write(log_level::INFO, "Welcome to HinterOS %s!", HOS_CORE_VERSION);
+
if (LIMINE_BASE_REVISION_SUPPORTED == false)
{
+ logger.write(log_level::FATAL, "Limine revision mismatch.");
hcf();
}
+ logger.write(log_level::DEBUG, "Limine... ok");
+
struct limine_framebuffer *fb = framebuffer_request.response->framebuffers[0];
for (std::size_t i = 0; i < (fb->width - 1) * (fb->height - 1); i += 2)
{
volatile std::uint32_t *fbptr = static_cast<std::uint32_t *>(fb->address);
- fbptr[i] = 0xffffff;
+ fbptr[i] = 0xffffff00;
}
- // Global C++ constructors
- init();
-
hcf();
}