diff options
| author | czjstmax <jstmaxlol@disroot.org> | 2026-02-22 02:33:30 +0100 |
|---|---|---|
| committer | czjstmax <jstmaxlol@disroot.org> | 2026-02-22 02:33:30 +0100 |
| commit | fea8e314e6291bd55fd96b1bec478d500b548489 (patch) | |
| tree | 3df2fa6b06924ede0d31f06c1452b14bc7654006 /src/krn | |
initial commit
i cant get the stage2 to load kernel, or the kernel to print.
it's 2 am so gn for now.
Signed-off-by: czjstmax <jstmaxlol@disroot.org>
Diffstat (limited to 'src/krn')
| -rw-r--r-- | src/krn/api/std.h | 18 | ||||
| -rw-r--r-- | src/krn/mkern.c | 13 |
2 files changed, 31 insertions, 0 deletions
diff --git a/src/krn/api/std.h b/src/krn/api/std.h new file mode 100644 index 0000000..d22835f --- /dev/null +++ b/src/krn/api/std.h @@ -0,0 +1,18 @@ +#define MÜLL_STD_H + +/* + * Minimal 'standard library' for I/O basics + */ + +// includes +#include <stdint.h> + +volatile uint16_t* VGA = (volatile uint16_t*)0xB8000; +uint16_t cursor = 0; + +void RealPrint(const char* str) { + while(*str) { + VGA[cursor++] = (uint8_t)(*str) | 0x0700; // white on black + str++; + } +} diff --git a/src/krn/mkern.c b/src/krn/mkern.c new file mode 100644 index 0000000..3bdc188 --- /dev/null +++ b/src/krn/mkern.c @@ -0,0 +1,13 @@ +#define MÜLL_KERN + +/* + * müll_kernel + */ + +#include "api/std.h" + +void kmain(void) __attribute__((noreturn)); +void kmain(void) { + RealPrint("the kernel says hii!"); + while (1); +} |