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