Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/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)
https://github.com/leecannon/zig-x86_64
osdev x86 x86-64 zig zig-library zig-package ziglang
Last synced: 3 months ago
JSON representation
Support for x86_64 specific instructions (e.g. TLB flush), registers (e.g. control registers), and structures (e.g. page tables)
- Host: GitHub
- URL: https://github.com/leecannon/zig-x86_64
- Owner: leecannon
- License: mit
- Archived: true
- Created: 2020-07-25T14:44:59.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2022-12-01T20:22:49.000Z (about 2 years ago)
- Last Synced: 2024-08-02T22:27:34.523Z (6 months ago)
- Topics: osdev, x86, x86-64, zig, zig-library, zig-package, ziglang
- Language: Zig
- Homepage:
- Size: 300 KB
- Stars: 14
- Watchers: 4
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-zig - zig-x86_64ποΈSupport for x86_64 specific instructions (e.g. TLB flush), registers (e.g. control registers), and structures (e.g. page tables)
README
# zig-x86_64
[![CI](https://github.com/leecannon/zig-x86_64/actions/workflows/main.yml/badge.svg?branch=master)](https://github.com/leecannon/zig-x86_64/actions/workflows/main.yml)
**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](https://os.phil-opp.com/))
It is mainly a zig reimplementation of the rust crate [x86_64](https://github.com/rust-osdev/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](https://docs.rs/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`