-
38e26a9c12
Implement argument_ptr () syscall for handling process arguments
master
kamkow1
2026-01-30 14:05:47 +01:00
-
124aa12f5b
Redesign scheduling points
kamkow1
2026-01-30 02:36:27 +01:00
-
d2f5c032d9
Fix TLS alignment issues, works on BOCHS now too!
kamkow1
2026-01-29 18:18:24 +01:00
-
73e42588fb
Fix BOCHS clock
kamkow1
2026-01-29 15:04:06 +01:00
-
e78bfb9984
Move suspension q code into proc/suspension_q.c
kamkow1
2026-01-29 01:52:18 +01:00
-
d2a88b3641
Move suspension q's cleanup to proc/suspension_q.c
kamkow1
2026-01-29 01:43:01 +01:00
-
fdda2e2df8
Unlock mutexes on process death
kamkow1
2026-01-29 01:38:44 +01:00
-
388418a718
Nice wrappers around process management
kamkow1
2026-01-29 00:08:54 +01:00
-
1c64d608bd
Rename make/libc.mk -> make/libmsl.mk
kamkow1
2026-01-28 23:57:28 +01:00
-
3d23187acf
Implement userspace TLS, remove RW Locks
kamkow1
2026-01-28 23:52:48 +01:00
-
a3b62ebd3d
Clean up AMD64 memory management code, remove dependency on pd.lock
kamkow1
2026-01-27 19:03:03 +01:00
-
8bda300f6a
Fix sys_clone () wrong argument bug
kamkow1
2026-01-27 18:05:02 +01:00
-
cf51600c6a
Cleanup syscalls
kamkow1
2026-01-27 17:34:43 +01:00
-
b388b30b24
Redesign userspace memory management
kamkow1
2026-01-27 17:04:08 +01:00
-
600886a7ee
Organize resources into process groups
kamkow1
2026-01-27 14:18:05 +01:00
-
67b66f2b39
Implement proper mutex cleanup
kamkow1
2026-01-25 23:10:12 +01:00
-
18f791222e
Remove dead process from it's suspension queues
kamkow1
2026-01-25 22:39:29 +01:00
-
5e16bb647c
Multiple process suspension queues
kamkow1
2026-01-25 22:10:04 +01:00
-
a68373e4ee
Dynamically assign cpu upon mutex unlock
kamkow1
2026-01-25 20:39:51 +01:00
-
8650010992
Fix user CPU context saving
kamkow1
2026-01-25 17:39:34 +01:00
-
95f590fb3b
multi-cpu scheduling WIP
kamkow1
2026-01-25 15:54:00 +01:00
-
7bb3b77ede
Disable kernel preemption, fix requesting rescheduling
kamkow1
2026-01-22 19:32:15 +01:00
-
c26fd3cb2b
Fix scheduler locking hierarchy
kamkow1
2026-01-22 15:59:29 +01:00
-
fea0999726
Fix scheduler starvation, use lists for scheduling
kamkow1
2026-01-22 11:54:52 +01:00
-
7eceecf6e3
Add mutex syscalls
kamkow1
2026-01-20 22:18:43 +01:00
-
fff51321bc
Redesign syscalls
kamkow1
2026-01-20 20:46:34 +01:00
-
a29233f853
Rename proc_spawn_thread to proc_clone
kamkow1
2026-01-19 22:01:44 +01:00
-
38a43b59b0
Resolve strange IRQ issues which cause the scheduler to behave weirdly (IRQ mapping)
kamkow1
2026-01-19 01:51:34 +01:00
-
ddafc4eb19
Rewrite resource subsystem
kamkow1
2026-01-18 20:50:45 +01:00
-
4f7077d458
Move mutex and mem create/cleanup functions into mutex.c and mem.c respectively
kamkow1
2026-01-16 22:13:17 +01:00
-
9a7dbf0594
Properly implement liballoc_free ()
kamkow1
2026-01-16 22:09:16 +01:00
-
ab8093cc6c
CI install pymdown-extensions from pip
kamkow1
2026-01-16 20:28:26 +01:00
-
ddbb66b5e4
Docs processes overview
kamkow1
2026-01-16 20:26:23 +01:00
-
11a1eb52aa
Move status codes into a separate header
kamkow1
2026-01-16 19:07:32 +01:00
-
a054257336
Port liballoc to userspace
kamkow1
2026-01-16 18:50:40 +01:00
-
9fc8521e63
sys_proc_mutex_unlock () automatically reschedule at the end
kamkow1
2026-01-16 00:28:46 +01:00
-
711da8aeab
Implement proc_spawn_thread syscall, fix proc_resume and proc_suspend
kamkow1
2026-01-16 00:26:37 +01:00
-
ebd9f0cac6
Let the user application decide upon the resource ID (RID)
kamkow1
2026-01-14 23:19:39 +01:00
-
7cd5623d36
Use reference counting to track filetime of process PD
kamkow1
2026-01-14 23:11:06 +01:00
-
270ff507d4
Implement lock IRQ nesting via stack variables/contexts
kamkow1
2026-01-14 22:11:56 +01:00
-
55166f9d5f
syscall doesn't need RPL 3 bits on kernel code
kamkow1
2026-01-14 21:21:20 +01:00
-
e5cc3a64d3
Fix syscall return value - preserve RAX register
kamkow1
2026-01-14 20:58:00 +01:00
-
2ab308d678
Drop m_ prefix from libmsl
kamkow1
2026-01-14 20:56:09 +01:00
-
d1d772cb42
Fix user apps randomly crashing (APIC, GDT layout, syscall entry)
kamkow1
2026-01-14 19:51:18 +01:00
-
0d8f9e565f
Fix missing CPU_REQUEST_SCHED IDT entry
kamkow1
2026-01-11 12:07:17 +01:00
-
f80a26e5eb
Load kernel CR3
kamkow1
2026-01-11 03:45:32 +01:00
-
5bf10c1218
Extra compiler flags for AMD64
kamkow1
2026-01-11 03:42:15 +01:00
-
41a458b925
Implement Mutexes and supporting syscalls, cleanup/optimize scheduler
kamkow1
2026-01-10 00:12:42 +01:00
-
6a474c21a0
Use RW spin locks
kamkow1
2026-01-09 19:53:08 +01:00
-
a5283283f6
Hold proc->lock while killing the process
kamkow1
2026-01-09 00:00:18 +01:00
-
79768d94e6
Preserve syscall return value in RAX
kamkow1
2026-01-08 23:06:32 +01:00
-
0555ddd041
Clean up IOAPIC and LAPIC implementations
kamkow1
2026-01-08 22:05:11 +01:00
-
ebb026b807
proc_cleanup_resources () drop instead of immediate removal
kamkow1
2026-01-07 23:09:13 +01:00
-
d7b734306f
Introduce concept of Process Resources (PR_MEM), implement necessary syscalls
kamkow1
2026-01-07 22:47:30 +01:00
-
28aef30f77
Implement proc_map () and proc_unmap () syscalls
kamkow1
2026-01-06 23:32:11 +01:00
-
9f107a1a5e
Implement proc_unmap ()
kamkow1
2026-01-06 17:47:21 +01:00
-
e50f8940a9
Redesign linked list
kamkow1
2026-01-06 16:38:42 +01:00
-
d09e4d97ad
Fix missing headers, generate compile db with bear
kamkow1
2026-01-06 03:08:13 +01:00
-
7915986902
Remove Doxygen-style comments, change formatting to wrap comments
kamkow1
2026-01-06 02:04:32 +01:00
-
902682ac11
Remove doxygen infra
kamkow1
2026-01-06 01:41:07 +01:00
-
7747e5e0aa
Docs update theme
kamkow1
2026-01-06 01:37:51 +01:00
-
a8423fe657
Better proc_kill () and process cleanup
kamkow1
2026-01-06 01:19:11 +01:00
-
6538fd8023
Generate new PIDs for processes
kamkow1
2026-01-05 20:24:26 +01:00
-
fcd5658a80
Use red-black trees to store process run queue and process list
kamkow1
2026-01-05 18:30:58 +01:00
-
b1579e4ac1
Implement automatic paging table deallocation
kamkow1
2026-01-04 21:26:11 +01:00
-
bba36ef057
Remove sign warning in comparison
kamkow1
2026-01-04 01:45:56 +01:00
-
b5353cb600
Auxilary scripts for formatting all components
kamkow1
2026-01-04 01:44:02 +01:00
-
e077d322f4
Rewrite init app in C, introduce MSL (MOP3 System Library)
kamkow1
2026-01-04 01:11:31 +01:00
-
2c954a9ca9
Fix return syscall result
kamkow1
2026-01-03 15:06:36 +01:00
-
cf04e3db18
proc_quit () and proc_test () syscalls
kamkow1
2026-01-03 12:21:56 +01:00
-
124a7f7215
Docs add kernel build instructions
kamkow1
2026-01-03 02:19:40 +01:00
-
e52268cd8e
First Hello world syscall
kamkow1
2026-01-03 02:04:09 +01:00
-
1341dc00d9
make -B format_kernel
kamkow1
2026-01-01 20:17:29 +01:00
-
99bab4ceee
Use generic spin () instead of amd64_spin ()
kamkow1
2026-01-01 20:16:40 +01:00
-
121fb3b33c
Move platform-specific code for process loading/init for AMD64 to amd64/
kamkow1
2026-01-01 20:08:37 +01:00
-
5e6bdcc52d
Handle swapgs in interrupts and scheduling
kamkow1
2026-01-01 18:42:53 +01:00
-
3bcbdb5ec4
Fix proc_kill () race, improve scheduler locking
kamkow1
2026-01-01 16:59:04 +01:00
-
7f53ede2ab
CI docs use $REMOTE_IP
kamkow1
2025-12-31 22:50:53 +01:00
-
f1e34b78cd
CI docs chmod 777 on site build dir
kamkow1
2025-12-31 22:40:28 +01:00
-
97ad0b338c
Fix CI docs build, install rsync
kamkow1
2025-12-31 21:25:33 +01:00
-
74c782d653
mkdir docs/kernel/doxygen
kamkow1
2025-12-31 21:21:02 +01:00
-
949f9c5293
Add docs gitea workflow
kamkow1
2025-12-31 20:57:09 +01:00
-
a6c3f4cf87
Move kernel doxygen stuff to kernel/
kamkow1
2025-12-30 17:04:05 +01:00
-
34f1e0ba30
Document amd64 platform-specific code
kamkow1
2025-12-30 16:50:15 +01:00
-
4f4f5c3d2f
Move doxygen-awesome-darkmode-toggle.js to doxytheme/
kamkow1
2025-12-30 01:52:45 +01:00
-
d861ab56c4
Remove pre-SMP TSS code
kamkow1
2025-12-30 01:50:47 +01:00
-
b279774bd6
Generated docs using doxygen and mkdocs
kamkow1
2025-12-30 01:47:29 +01:00
-
fa7998c323
Run first app from ramdisk!
kamkow1
2025-12-29 23:54:21 +01:00
-
c16170e4c2
SMP and timer interrupts
kamkow1
2025-12-23 19:50:37 +01:00
-
259aa732c8
Use separate IST stack for IRQs and cpu exceptions
kamkow1
2025-12-22 22:19:01 +01:00
-
1fd6f4890d
Generic sleep_micro() function
kamkow1
2025-12-22 21:14:58 +01:00
-
849df9c27d
Fix HPET unaligned read/writes on bochs
kamkow1
2025-12-22 21:06:48 +01:00
-
69feceaaae
clang-format set column width to 100 chars
kamkow1
2025-12-22 19:38:32 +01:00
-
7b33d0757a
APIC, HPET, virtual memory
kamkow1
2025-12-22 19:36:43 +01:00
-
741d0fb9b0
clang-format alignment rules
kamkow1
2025-12-21 23:10:21 +01:00
-
c85cbd0c01
Use prettier #defines for attributes
kamkow1
2025-12-21 23:03:56 +01:00
-
b2d8294b12
Use clang-format
kamkow1
2025-12-21 22:53:25 +01:00
-
8794a61073
Integrate uACPI
kamkow1
2025-12-21 22:24:23 +01:00
-
c3123192d8
Interrupt handling/cpu exceptions
kamkow1
2025-12-21 11:55:49 +01:00
-
84c600b903
Add limine as raw source
kamkow1
2025-12-17 22:45:17 +01:00