94 Commits

Author SHA1 Message Date
EnderIce2
3a68b28c13
memory: Add more debug messages for CoW related functions 2024-11-18 04:07:08 +02:00
EnderIce2
9c61c71c57
memory: Fix memory mapping in KernelPageTable
The MapFromZero() function didn't actually mapped the entire available memory.
This function now uses memory entries as hints of what and where to map.
2024-11-18 03:49:11 +02:00
EnderIce2
21faaf6ea1
interrupts: Switch page table in MainInterruptHandler() 2024-11-18 03:38:24 +02:00
EnderIce2
23301b8c1b
memory: Kernel threads require more memory for stack
Threads will now use 128 KiB
2024-11-18 03:27:06 +02:00
EnderIce2
86a119ea51
scheduler: Fix page table switch for scheduler
The userspace process may map pages where the kernel has allocated data and cause a crash.

This patch fixes this issue by having a separate IRQ handler which sets the kernel page table at the start of SchedulerInterruptHandler() and restores it in SchedulerHandlerStub() function.
2024-11-17 03:11:20 +02:00
EnderIce2
079055082a
panic: Check if CurrentProcess & CurrentThread are valid before showing info 2024-11-16 04:42:20 +02:00
EnderIce2
ef1c5bb39e
panic: Add stub code for UHCI, EHCI & XHCI controllers 2024-11-10 16:30:43 +02:00
EnderIce2
6dc734bb0b
interrupts: Update MainInterruptHandler 2024-10-30 03:07:47 +02:00
EnderIce2
ab6529f6e6
memory: Add kernel stack manager 2024-10-30 02:28:49 +02:00
EnderIce2
b6006e379d
panic: Refactor PS/2 keyboard initialization code 2024-10-26 03:24:29 +03:00
EnderIce2
f57ad7fc81
task: Implement new process state
Added "Frozen" for vfork implementation.
2024-10-20 03:00:34 +03:00
EnderIce2
6657a90739
core: Simplified interrupt event check logic in MainInterruptHandler 2024-10-19 01:29:27 +03:00
EnderIce2
a2e9747ee8
driver: Check if process has an associated terminal
Return ENOTTY if thisProcess->tty is null for any operation.
2024-10-13 14:58:29 +03:00
EnderIce2
396ad681ba
tty: Fix kcon & tty implementation; Add stub ptmx 2024-10-13 13:00:22 +03:00
EnderIce2
9a6008a07c
driver: Fix wrong file type in RegisterBlockDevice()
S_IFCHR -> S_IFBLK
2024-10-13 02:28:50 +03:00
EnderIce2
bd0c8d9ad8
Fix readdir inside /dev 2024-09-24 22:30:08 +03:00
EnderIce2
18d00a4bf3
Fix missing offset for /dev files 2024-09-24 22:29:39 +03:00
EnderIce2
7d7fc4d018
Fix the order of variables Cols and Rows
typo
2024-09-24 01:32:29 +03:00
EnderIce2
85b6fdef80
Implement Virtual Terminal and fix /dev/kcon 2024-09-22 13:17:19 +03:00
EnderIce2
31dca2e9a6
Remove unused SmartHeap class 2024-08-13 07:37:20 +03:00
EnderIce2
51ea074b60
Fix driver implementation 2024-07-07 03:14:54 +03:00
EnderIce2
aef28c9aff
Reset cursor position after print 2024-06-08 04:35:18 +03:00
EnderIce2
6801475243
Refactor filesystem & stl code 2024-05-18 07:42:01 +03:00
EnderIce2
77a291d08b
Implement operator delete with alignment support 2024-05-01 05:15:40 +03:00
EnderIce2
72d29a138d
Fix RDSEEDFlag assignment 2024-05-01 05:14:44 +03:00
EnderIce2
6cedac03f5
Refactor RNG code 2024-04-26 18:33:43 +03:00
EnderIce2
fd292305f6
Refactor lock related code 2024-04-10 06:25:55 +03:00
EnderIce2
e09d93e2bb
Refactor panic handler and assertion failed display functions 2024-04-01 21:04:45 +03:00
EnderIce2
a49e5e9913
Remove redundant file operation functions 2024-04-01 04:36:11 +03:00
EnderIce2
45406209d8
Refactor debug print statements in user.cpp 2024-04-01 01:21:36 +03:00
EnderIce2
08c4bcc4a3
Fix RawKeyQueue empty check 2024-03-31 02:26:07 +02:00
EnderIce2
5a00e91011
Fix signals from exception handler 2024-03-28 03:15:05 +02:00
EnderIce2
eb3020bde7
Fix key event handling 2024-03-27 22:29:19 +02:00
EnderIce2
3dc1981820
Implement VirtualAllocation class 2024-03-27 19:51:15 +02:00
EnderIce2
b8355ec455
Update Xalloc configuration 2024-03-27 16:43:40 +02:00
EnderIce2
3d1ecc3db0
Rework signal handling code 2024-03-25 23:21:27 +02:00
EnderIce2
49ef1dc454
Refactor stack expansion and stack fork implementation 2024-03-21 02:09:48 +02:00
EnderIce2
70cbbea3c0
Clear CR2 if the page fault is handled 2024-03-21 02:08:18 +02:00
EnderIce2
bd24471748
Fix before panic framebuffer 2024-03-21 01:57:11 +02:00
EnderIce2
4293d2a9ac
Update logging 2024-03-19 20:57:14 +02:00
EnderIce2
b35045e7ca
Refactor memory allocation implementation and add KernelReserve flag to memory mappings 2024-03-19 03:57:30 +02:00
EnderIce2
464022a61d
Check Display class in InitFont() 2024-03-19 02:20:58 +02:00
EnderIce2
9722a44dc2
Fix typo in help command 2024-03-18 21:33:06 +02:00
EnderIce2
c197383a74
Update page table in __stack_chk_fail and __chk_fail functions 2024-03-14 04:44:19 +02:00
EnderIce2
56e47f5cef
Refactor MainInterruptHandler 2024-03-14 04:42:06 +02:00
EnderIce2
6f76e13c6d
Rename TPL to TPR in used.cpp 2024-03-13 18:46:59 +02:00
EnderIce2
2d5bb5193d
Refactor BaseBufferStackError function 2024-03-13 18:45:07 +02:00
EnderIce2
0d2036139c
Update DisplayDetailsScreen to include CopyOnWrite flag in page table entry 2024-03-11 23:29:47 +02:00
EnderIce2
0270192eec
Add more page fault details 2024-03-10 22:51:09 +02:00
EnderIce2
196aacda84
Update DisplayProcessScreen function to include executable name 2024-03-05 01:07:09 +02:00