leecannon / zig-x86_64

Support for x86_64 specific instructions (e.g. TLB flush), registers (e.g. control registers), and structures (e.g. page tables)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

zig-x86_64

CI

I don't use this library anymore. I made this as a port of the rust crate but over time I have come to dislike the API.

As written it does not support self-hosted so will probably be deleted with the release of zig 0.11

This repo contains various functionality required to make an x86_64 kernel (following Writing an OS in Rust)

It is mainly a zig reimplementation of the rust crate x86_64.

It includes a few additonal types in the x86_64.additional namespace:

  • SerialPort - Serial port type, mainly for debug output
  • SimplePic - Reimplementation of pic8259_simple

How to get

Gyro

gyro add leecannon/x86_64

Zigmod

zigmod aq add 1/leecannon/x86_64

Git

Submodule

git submodule add https://github.com/leecannon/zig-x86_64 zig-x86_64

Clone

git clone https://github.com/leecannon/zig-x86_64

About

Support for x86_64 specific instructions (e.g. TLB flush), registers (e.g. control registers), and structures (e.g. page tables)

License:MIT License


Languages

Language:Zig 99.9%Language:AMPL 0.1%