1/leecannon/x86_64 v0.10

Various functionality required to make an x86_64 kernel


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

Package Contents

  • gyro.zzz
  • .gitattributes
  • LICENSE
  • .github/workflows/main.yml
  • upstream_versions.txt
  • build.zig
  • src/registers/control.zig
  • src/registers/registers.zig
  • src/registers/xcontrol.zig
  • src/registers/rflags.zig
  • src/registers/model_specific.zig
  • src/addr.zig
  • src/index.zig
  • src/additional/pic8259.zig
  • src/additional/additional.zig
  • src/additional/serial_port.zig
  • src/structures/idt.zig
  • src/structures/structures.zig
  • src/structures/port.zig
  • src/structures/paging/mapping/mapping.zig
  • src/structures/paging/mapping/mapped_page_table.zig
  • src/structures/paging/mapping/recursive_page_table.zig
  • src/structures/paging/page_table.zig
  • src/structures/paging/page.zig
  • src/structures/paging/paging.zig
  • src/structures/paging/frame_alloc.zig
  • src/structures/paging/frame.zig
  • src/structures/gdt.zig
  • src/structures/tss.zig
  • src/common.zig
  • src/instructions/random.zig
  • src/instructions/port.zig
  • src/instructions/segmentation.zig
  • src/instructions/tlb.zig
  • src/instructions/instructions.zig
  • src/instructions/interrupts.zig
  • src/instructions/tables.zig
  • README.md
  • zig.mod
  • .gitignore

Dependencies

  • git https://github.com/leecannon/zig-bitjuggle

History

Published On Tree @ Commit Size
v0.10 Thu, 01 Dec 2022 20:22:51 UTC Tree 284.902 KB
v0.9 Sun, 21 Aug 2022 12:31:25 UTC Tree 284.886 KB
v0.8 Tue, 05 Jul 2022 14:09:33 UTC Tree 284.869 KB
v0.7 Fri, 06 May 2022 20:09:25 UTC Tree 284.664 KB
v0.6 Wed, 05 Jan 2022 21:35:57 UTC Tree 284.604 KB
v0.5 Mon, 29 Nov 2021 20:32:42 UTC Tree 284.599 KB
v0.4 Thu, 07 Oct 2021 06:47:54 UTC Tree 270.102 KB
v0.3 Wed, 29 Sep 2021 20:13:08 UTC Tree 270.095 KB
v0.2 Wed, 29 Sep 2021 20:10:53 UTC Tree 270.095 KB
v0.1 Mon, 27 Sep 2021 08:06:42 UTC Tree 269.325 KB