Commit Graph

105 Commits

Author SHA1 Message Date
Greg Shuflin
e8c4847b12 Initial code 2025-01-10 11:53:02 -08:00
Greg Shuflin
7e4cedcdc0 kernel.ld 2025-01-10 03:52:42 -08:00
Greg Shuflin
80a5815731 Thousand line OS initial commit 2025-01-10 03:47:52 -08:00
Greg Shuflin
3ef8cbbf8c Add os runner to justfile 2022-02-09 23:41:17 -08:00
Greg Shuflin
95c8480aac basic x86_64 gamarjoba munde
Writes "Gamarjoba, munde!" to the VGA text buffer
2022-02-09 23:38:25 -08:00
Greg Shuflin
d504aa2a6d Add basic ARM rust freestanding binary
Following the modern version of Philipp Oppermann's blog-tutorial. Build
with `cargo build --target thumbv7em-none-eabihf`
2022-02-09 20:31:53 -08:00
Greg Shuflin
288dd537c0 Clarify rust_kernel in readme 2022-01-29 23:30:48 -08:00
Greg Shuflin
4d80e10dbd Remove Makefile + out of place rust files 2022-01-29 23:22:54 -08:00
Greg Shuflin
faaadcf475 Move lightshow into dir
Note: this currently has a rustc compiler panic trying to use
the `#[no_core]` attribute, which seems poorly supported
2022-01-29 23:19:00 -08:00
Greg Shuflin
c01cbbc458 Put keyboard into subdir 2022-01-29 22:40:33 -08:00
Greg Shuflin
01c36c6178 Put baremetal_gamarjoba into subdir 2022-01-29 22:31:31 -08:00
Greg Shuflin
2851629a8a Add gitignore 2022-01-29 22:12:20 -08:00
Greg Shuflin
eaece6994a Move gamarjoba into subdir 2022-01-29 22:12:20 -08:00
Greg Shuflin
4206ae592b Make README.md a proper markdown file 2022-01-29 21:58:46 -08:00
greg
c706615a4d Add makefile changes 2017-03-31 00:54:22 -07:00
greg
a6f5dd8623 Move raspi boot infra stuff around 2017-03-30 17:25:08 -07:00
greg
2677cf131d Add elf building step to makefile 2017-03-30 17:24:12 -07:00
greg
17466c6547 Moving files to rust-xargo dir 2017-03-30 03:09:29 -07:00
greg
c55ff680d4 rust linker script 2017-03-30 02:44:32 -07:00
greg
ca34b61d95 Add raspi json target 2017-03-30 02:44:16 -07:00
greg
aa420a6c57 Raspi asm stub for loading kernel
Not quite working yet
2017-03-26 23:09:42 -07:00
greg
d56c93dc4f Add raspi boot files 2017-03-26 02:09:01 -07:00
greg
4485fbb579 Add raspi_os here
Eventually this is gonna be part of Ferrocyanide
2017-03-25 22:47:34 -07:00
greg
76bbf76bd7 Add delay of 1 to grub.cfg
Just show the grub menu long enough to prove it exists
2017-03-25 21:44:55 -07:00
greg
6b8db9e998 Give the OS a name
I'm gonna give my toy os the name "Ferrocyanide" (becuase I was watching
the Cody's Lab video where he drank cyanide earlier today). Also move
all relevant files to new directory
2017-03-25 21:42:03 -07:00
greg
5b76bb7444 Add back code that does something 2017-03-25 20:36:12 -07:00
greg
2b3657dddf Had to add this stub to make the linker happy 2017-03-24 04:03:14 -07:00
greg
f4a6924248 Cleaning up some compiler warnings
for a new version of rustc
2017-03-22 10:33:07 -07:00
greg
75c2c09f9c main loop should spin after clear()
blank canvas for testing more advanced vga stuff
2016-06-23 01:02:58 -07:00
greg
6037d917e5 Add spin_wait function
Simple pure rust spin wait
2016-06-23 00:46:23 -07:00
greg
ad61d53c8f Add printstr functionality 2015-11-27 16:35:05 -08:00
greg
02ffdd55bd Add multiboot2 rust lib
c.f. os.phil-opp.com/allocating-frames.html
2015-11-27 15:02:29 -08:00
greg
6c127273b3 Some more text drawing logic 2015-11-25 21:56:39 -08:00
greg
db8995b15f Utility function for low, high bits 2015-11-25 02:06:39 -08:00
greg
aa9e74299c Add cursor-moving functionality 2015-11-25 02:02:03 -08:00
greg
ed76893b65 Clean up lib.rs code
Moved functions around, etc.
2015-11-24 01:11:05 -08:00
greg
7cb8affb2d Move PIT config into rust 2015-11-23 23:20:27 -08:00
greg
cf9c7085c6 More moving things around and deleting obsolete code 2015-11-23 22:49:33 -08:00
greg
49c49cb349 Cleaning up code
Moving things around, deleting some callins to asm (namely get_rdtsc)
since I don't need them right yet
2015-11-23 22:37:20 -08:00
greg
fb6d6df087 Fixed PIC initialization in rust
I think I just had the inline assembly wrong, so outb wasn't working
properly
2015-11-23 22:10:45 -08:00
greg
362f616660 Add double-fault handler
and macro-ize some interrupt handler boilerplate
2015-11-23 04:12:13 -08:00
greg
b5e78209e6 Move PIC offsets
Can't make this work from within rust for some reason, use asm
2015-11-23 02:17:45 -08:00
greg
9f3c1f8f29 Modularize PIC-rust stuff 2015-11-18 22:06:01 -08:00
greg
eaefb7b799 Kill a spinloop in the 32-bit boot
Boot is taking too much time
2015-11-18 02:37:11 -08:00
greg
53357fb096 remove assembly setup PIC 2015-11-18 02:12:52 -08:00
greg
cb4d718af1 Macro-ify asm IDT entry loading 2015-11-18 02:11:09 -08:00
greg
8106038690 Move PIC logic to rust 2015-11-17 04:06:55 -08:00
greg
d133c198a4 Implement changing PIT frequency
ticks are now 1000.15 or so Hz
2015-11-17 03:30:43 -08:00
greg
a209559319 Flash things onto screen
also make the keyboard interrupt try to work?
2015-11-16 21:27:19 -08:00
greg
636e540355 Make timer interrupt display things on screen 2015-11-15 23:16:30 -08:00