doom / foros

Tiny kernel (educational project)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

foros

Tiny kernel (educational project)

Build instructions

Prerequisites

  • make
  • gcc or clang
  • nasm
  • ld
  • grub-mkrescue / xorriso
  • qemu

Building

Build:

> make

Run:

> make run

Debug:

> make P=debug run

Features

  • Boot
  • Stack setup
  • CPU capabilities checks
  • Page table setup (using recursive mapping)
  • GDT setup
  • Switch to long mode
  • VGA text buffer abstraction
  • IDT setup and interrupts handling
  • Remapping of the 8259 PIC and activation of maskable interrupts
  • Physical memory allocation
  • Virtual-to-physical memory mapping
  • Kernel heap
  • Basic keyboard abstraction (scan codes to key events to characters)

About

Tiny kernel (educational project)

License:MIT License


Languages

Language:C++ 88.0%Language:C 6.7%Language:Assembly 3.4%Language:Makefile 1.9%