le0kar0ub1 / Eternity_x64

x64 kernel named Eternity

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Eternity is a x86_64 kernel

Eternity is writing (with love) in C and x86 assembly.

DEPENDENCY:

  • qemu / qemu-kvm (Virtualisation)
  • grub-mkrescue and libisoburn
  • make
  • nasm
  • gcc for x86_64-elf target

BUILD:

make

RUN:

make run

Eternity is running with KVM module, if this can't be set on your computer delete the flags "-enable-kvm" in (quemuflags) Makefile.

INTERACTION:

TTY (azerty keyboard only)

Command line ("help" in to see available commands)

ROADMAP:

  • Kernel loaded higher-half
  • Boot
    • Multiboot 2
    • Paging setup
    • GDT setup
    • IDT setup
    • TSS setup
    • SMP setup (will be implemented ?)
  • Basic drivers
    • VGA
    • PS/2 Keyboard
    • PS/2 Mouse
    • RTC
    • Timer
  • Memory
    • Physical Memory Management
    • Virtual Memory Management
    • Memory Abstractor
    • Kernel heap
  • ELF Loader
  • Syscall interface and userspace (ring 3)
  • Multi process / threads
    • Basic Scheduling
    • User Threads
    • Kernel threads
    • Processes
  • Initrd
  • Filesystem

EPILOGUE

Eternity is in development.

sure you want the QEMU technical documentation: https://qemu.weilnetz.de/doc/qemu-doc.html

About

x64 kernel named Eternity

License:GNU General Public License v3.0


Languages

Language:C 67.7%Language:Assembly 20.4%Language:C++ 9.9%Language:Makefile 2.1%