Commit graph

43 commits

Author SHA1 Message Date
0330ab168e start forth shell 2026-01-06 13:04:05 -05:00
7ec40a1d7e custom linker script for user apps to guarantee that sections are page-aligned 2026-01-05 15:14:35 -05:00
225ea67c64 disable bump allocator in flanterm 2026-01-02 23:13:16 -05:00
c6dac5c489 tweak logging, get rid of old test in init 2026-01-02 23:02:48 -05:00
085ae6ba53 add guard pages to stack; dynamically allocate user stacks; zero non-preserved registers before returning from syscalls 2026-01-02 22:39:57 -05:00
5821f51f02 refactor some kernel stuff, start terminal 2026-01-02 18:00:08 -05:00
8d1785fb06 update readme to reflect debug/release builds 2026-01-01 00:09:28 -05:00
a69dbc3c7a rename src/kernel/panic to src/kernel/debug, add serial logging 2026-01-01 00:05:11 -05:00
527498a491 debug and release modes in make-build.sh 2025-12-31 22:10:26 -05:00
42fe995724 keep kernel panics on failed assertion with NDEBUG 2025-12-31 22:06:18 -05:00
a3575b8997 give each thread a syscall stack instead of the silliness from before 2025-12-31 20:02:59 -05:00
6d9c3f7794 get ide controllers from pci instead of assuming compatibility mode; name pata drives based on order discovered instead of controller 2025-12-31 18:16:05 -05:00
7d90ac7d3d environment variables for processes 2025-12-29 18:27:34 -05:00
285da1dc46 readme: remove tar mention since it is no longer used 2025-12-29 17:49:57 -05:00
4f9bf8afef ipc and thread spawning 2025-12-29 16:55:53 -05:00
02e855c066 kernel: add timers via pit 2025-12-28 22:30:37 -05:00
e698cfdfd1 kernel: fix race condition in input component 2025-12-28 20:27:00 -05:00
e2188aa407 kernel: utility: change memcpy back to rep movsb 2025-12-28 20:15:07 -05:00
35725e0cd0 build: make xorriso and limine quiet(er) 2025-12-28 17:20:29 -05:00
aa54761c77 process: track ownership of pages in a more flexible way 2025-12-28 17:02:25 -05:00
f5ccce54a4 use relative addressing in all assembly files 2025-12-28 14:48:36 -05:00
b539b6302c more user space stuff, including files and mouse packets 2025-12-28 14:08:55 -05:00
32524106e8 process/scheduler: make interface a little cleaner, don't leak continuation info 2025-12-27 22:21:46 -05:00
bb10b27152 ps2: only read one byte per interrupt 2025-12-27 21:10:14 -05:00
2eafff563e move framebuffer_info struct into include/kernel-public 2025-12-27 20:53:45 -05:00
645cc90b4d reading files from cd!! 2025-12-27 18:39:05 -05:00
fc79e09922 identify patapi drives 2025-12-27 13:07:01 -05:00
f409903f55 put entry point in calcite library 2025-12-26 18:04:17 -05:00
0b4fdb5384 don't mark framebuffer as free when destroying process 2025-12-26 14:02:12 -05:00
8e0c51ae5e ring 3, reorganization 2025-12-26 03:52:11 -05:00
9fec34806e better mouse demo 2025-12-25 16:51:25 -05:00
0bc7429173 start ps/2 mouse driver 2025-12-25 16:08:54 -05:00
d37fa101f4 more interrupt work 2025-12-20 16:20:17 -05:00
45c4c1d1e1 change -Og to -O0 in readme.txt 2025-12-20 15:45:32 -05:00
cb91c25253 assertions, interrupts 2025-12-20 15:37:24 -05:00
e04a9b82cf check if we have initfs instead of assuming first module exists and is initfs 2025-12-19 12:30:57 -05:00
ce37be750d switch build system to generated ninja file 2025-07-05 20:11:15 -04:00
c7ed7a2508 don't talk about software needed to build and test as dependencies; mention that tar is needed to build 2025-07-05 15:26:40 -04:00
125707d5bc simple tar initfs 2025-07-05 15:23:49 -04:00
9a4c59ecfd add info in readme about changing optimization when debugging 2025-07-05 13:07:56 -04:00
746218052e start on paging system; make our own page tables and switch to them 2025-07-05 13:05:06 -04:00
c7c65593d3 mark debug as phony in makefile 2025-07-05 09:17:10 -04:00
3f39ddfb16 first commit 2025-07-04 21:33:28 -04:00