Go to file
shockrah c94252c3f2 Huge GDT update:
GDT control is how I would like it to be but there are some issues, namely:
1. far jumping to flush the code segment crashes the whole os(not good)
2. Segment selectors seem fine apart from the code segment thing
3. some administrative issues regarding the structure of the project which is slowly making things painful
2019-10-14 00:23:37 -07:00
iso/boot/grub print_fb(char*) testing and working as intended for now 2019-02-03 17:03:31 -08:00
scripts stats about code 2019-10-06 15:33:00 -07:00
stl moved drivers to root level directory for now and created some basic test module 2019-09-16 13:48:25 -07:00
.gitignore ignoring serial output 2019-10-07 18:50:31 -07:00
bochsrc.conf support for newlines in write call but not printf :( 2019-10-06 14:17:58 -07: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 Huge GDT update: 2019-10-14 00:23:37 -07:00
gdt.c Huge GDT update: 2019-10-14 00:23:37 -07:00
gdt.h Huge GDT update: 2019-10-14 00:23:37 -07:00
idt.h starting point for interrupt handlers though some of this code isn't ready to be used, it serves as a reference point for later 2019-10-13 23:14:49 -07:00
idt.s starting point for interrupt handlers though some of this code isn't ready to be used, it serves as a reference point for later 2019-10-13 23:14:49 -07:00
interrupt_entry.s starting point for interrupt handlers though some of this code isn't ready to be used, it serves as a reference point for later 2019-10-13 23:14:49 -07:00
interrupts.c starting point for interrupt handlers though some of this code isn't ready to be used, it serves as a reference point for later 2019-10-13 23:14:49 -07:00
interrupts.h starting point for interrupt handlers though some of this code isn't ready to be used, it serves as a reference point for later 2019-10-13 23:14:49 -07:00
kernel.c Huge GDT update: 2019-10-14 00:23:37 -07:00
kernel.h starting point for interrupt handlers though some of this code isn't ready to be used, it serves as a reference point for later 2019-10-13 23:14:49 -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 Huge GDT update: 2019-10-14 00:23:37 -07:00
makefile Huge GDT update: 2019-10-14 00:23:37 -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 updated roadmap/bugs list 2019-10-08 10:09:47 -07:00
serial.c escaped percents in printf 2019-10-07 19:40:04 -07:00
serial.h FIRST (semi)WORKING PASS OF SERIAL DEBUGGING FINALLY!!!!! 2019-10-07 18:51:29 -07:00
stlio.c reduced complexity on master branch for now as i setup for gdt things 2019-10-09 15:26:54 -07:00
stlio.h reduced complexity on master branch for now as i setup for gdt things 2019-10-09 15:26:54 -07:00
tests.c escaped percents in printf 2019-10-07 19:40:04 -07:00
tests.h FIRST (semi)WORKING PASS OF SERIAL DEBUGGING FINALLY!!!!! 2019-10-07 18:51:29 -07: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.

Todo/Roadmap

  • Segmentation(research what I might need to make either this or paging work later on)

  • Interrupt Descriptor Table

  • Memory 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.