https://github.com/dstechenko/myos
:computer: my systems experiments
https://github.com/dstechenko/myos
asm c operating-systems
Last synced: over 1 year ago
JSON representation
:computer: my systems experiments
- Host: GitHub
- URL: https://github.com/dstechenko/myos
- Owner: dstechenko
- Created: 2023-07-22T16:40:53.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-09-14T12:23:52.000Z (over 1 year ago)
- Last Synced: 2025-01-08T18:15:58.948Z (over 1 year ago)
- Topics: asm, c, operating-systems
- Language: C
- Homepage:
- Size: 40.2 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# myos
Current:
- Make SMP setup optional
- Build armstubs/config out of the project files
Next:
- Add atomic flag shortcut
- Add spinlock dmb barrier
- Add wfe/sev for spinlock yield loops
- Make kernel fail on NULL access
- Add SMP capability to task module (locks, per cpu queues)
- Add irq handlers on each core using local timers
- Make MMU setup optional
- Add memory allocator
- Speed up page allocator
- Add task sleep and yield
- Add mutex/semaphore
- Make code/data pages separation
- Add UART irqs to handle inputs
- Add stack protector
- Migrate to GIC
- Implement IPIs to halt other cores
- Make crash reporter (using IPIs)
- Dump kernel crash state into a carved out section for reading
- Add user binary loading format
- Add lookup tables (idr, bit-mapped arrays)
Notes:
- UART pinout gpio#3 gnd, gpio#4 txd, gpio#5 rxd
- DTech usb-2-serial red 5v, green txd, white rxd, black gnd