MCPcopy Index your code
hub / github.com/emk/toyos-rs

github.com/emk/toyos-rs @pic8259_simple_v0.2.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release pic8259_simple_v0.2.0 ↗ · + Follow
110 symbols 192 edges 20 files 68 documented · 62% updated 3y ago★ 904 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

A toy OS in Rust

This is based on Philipp Oppermann's excellent series of blog posts. It's purely a learning exercise, to see what Rust feels like on bare metal.

Building

First, we need to check out the source and rebuild the Rust runtime using a bare-metal target and no hardware floating point support:

# Get our source code.
git clone https://github.com/emk/toyos-rs.git
cd toyos-rs

# Set up a Rust compiler.
curl https://sh.rustup.rs -sSf | sh
rustup update nightly-2016-09-16
rustup override set nightly-2016-09-16

# Get a copy of the Rust source code so we can rebuild core
# for a bare-metal target.
git submodule update --init
make runtime

From here, we should be able to build a kernel and run it using QEMU:

make run

You should be able to type.

Licensing

Licensed under the Apache License, Version 2.0 or the MIT license, at your option.

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Shape

Method 53
Function 32
Class 19
Enum 3
Interface 3

Languages

Rust100%

Modules by API surface

crates/alloc_buddy_simple/src/heap.rs16 symbols
src/arch/x86_64/vga.rs12 symbols
src/arch/x86_64/interrupts.rs12 symbols
src/arch/x86_64/pci.rs10 symbols
src/arch/x86_64/keyboard.rs10 symbols
src/arch/x86_64/serial.rs8 symbols
crates/cpuio/src/lib.rs8 symbols
crates/pic8259_simple/src/lib.rs7 symbols
crates/alloc_buddy_simple/src/math.rs7 symbols
crates/cpuio/src/x86.rs6 symbols
crates/alloc_buddy_simple/src/integration.rs6 symbols
src/runtime_glue.rs3 symbols

For agents

$ claude mcp add toyos-rs \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page