Go to file
2019-11-06 11:27:51 -08:00
iso/boot/grub print_fb(char*) testing and working as intended for now 2019-02-03 17:03:31 -08:00
scripts stats sript output slightly more meaningful now 2019-10-14 01:10:44 -07:00
.gitignore ignoring serial output 2019-10-07 18:50:31 -07:00
bochsrc.conf enabled magic breakkpoints in bochs 2019-11-05 17:44:16 -08:00
framebuffer.c FIRST (semi)WORKING PASS OF SERIAL DEBUGGING FINALLY!!!!! 2019-10-07 18:51:29 -07:00
framebuffer.h newlines kinda working, multiple newlines are still annoying to do but oh well 2019-10-06 14:44:44 -07:00
gdt_seg.s base working kernel with a gdt that doesn't restart emulator(no idea why this works yet) 2019-10-14 02:06:50 -07:00
gdt.c base working kernel with a gdt that doesn't restart emulator(no idea why this works yet) 2019-10-14 02:06:50 -07:00
gdt.h base working kernel with a gdt that doesn't restart emulator(no idea why this works yet) 2019-10-14 02:06:50 -07:00
interrupt_entry.s fixes broken segment reconstruction(i hope) 2019-10-30 18:39:54 -07:00
interrupts.c protected mode breaks interrupt handling for some reason 2019-11-05 19:29:58 -08:00
interrupts.h changing main interrupt_handler to take a pointer 2019-10-30 23:18:49 -07:00
kernel.c protected mode breaks interrupt handling for some reason 2019-11-05 19:29:58 -08:00
kernel.h base working kernel with a gdt that doesn't restart emulator(no idea why this works yet) 2019-10-14 02:06:50 -07:00
LICENSE Add LICENSE 2018-12-08 09:10:40 +00:00
link.ld first thingy 2018-11-29 20:47:13 -08:00
loader.s base working kernel with a gdt that doesn't restart emulator(no idea why this works yet) 2019-10-14 02:06:50 -07:00
makefile removing Werror _for now_ while I debug isr's 2019-10-30 18:37:08 -07:00
mem.c moving strictly memory based utils to their own module for clarity sake 2019-10-14 14:02:21 -07:00
mem.h moving strictly memory based utils to their own module for clarity sake 2019-10-14 14:02:21 -07:00
ports.h FIRST (semi)WORKING PASS OF SERIAL DEBUGGING FINALLY!!!!! 2019-10-07 18:51:29 -07:00
ports.s reduced complexity on master branch for now as i setup for gdt things 2019-10-09 15:26:54 -07:00
readme.md readme better reflects current project state 2019-10-30 23:21:48 -07:00
serial.c Adding keyboard interrupt handler 2019-10-27 20:27:46 -07:00
serial.h Adding keyboard interrupt handler 2019-10-27 20:27:46 -07:00
stlio.c putch + broken interrupt handlers 2019-10-27 22:08:21 -07:00
stlio.h putch + broken interrupt handlers 2019-10-27 22:08:21 -07:00
tests.c moved breakpoint to kmain to track interrupt problems 2019-11-05 17:44:03 -08:00
tests.h moved breakpoint to kmain to track interrupt problems 2019-11-05 17:44:03 -08:00
types.h added proper type names for clarity/sanity sake 2019-09-15 18:28:01 -07:00

JankOS

The best operating system you've ever laid eyes on. It's so good that barely does anything at all.

JankOS serves the purpose of an experiment in learning. Personally I'm unsatisfied with accepting an idea; I want to garner an intuition for the inner workings of an idea.

Done & Dusted

  • GDT Initialization - now ready to take steps to move to user mode

  • IDT Initialization - interrupt callbacks aren't firing but the table is initialized

Todo/Roadmap

  • Fixing Interrupt handlers

  • Memory allocator

  • Paging will likely come before the allocator: If segmentation isn't being done then paging will be part of the roadmap(most likely)

Bugs

  • serial::serial_write(const char*, const u64) doesn't always write all the required data nor does it properly deal with the FIFO queue associated with the COM1 port.

  • stlio::printf still isn't feature complete

  • tests::* could always use more tests to cover as much of the code base as possible.