Skip to content

Project to learn about x86 architecture by creating a freestanding "kernel".

License

Notifications You must be signed in to change notification settings

vemakereporter/x86-thing

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

85 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status

x86-thing

Basic "kernel" written in c and x86 assembly.

Partial documentation can be found here.

feature list

  • enable a20 gate
  • load GDT table
  • load interrupt table
  • video (text) driver
  • serial driver
  • PIT timer
  • kernel panic
  • memory paging
  • kmalloc
  • keyboard driver (somewhat)
  • frame allocation
  • virtual file system

will add more stuff as i think of it

compiling

make

running

make sure x86 qemu is installed

cd bin
./run

debugging

to run qemu in debug mode

cd bin
./debug

to start gdb

cd bin
./gdb

About

Project to learn about x86 architecture by creating a freestanding "kernel".

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 57.2%
  • C++ 24.3%
  • Assembly 16.5%
  • Makefile 1.5%
  • Other 0.5%