EnderIce2
19f2a78d35
linux: Move everything to ./subsystem/linux/*
2024-11-20 03:49:15 +02:00
EnderIce2
a96086c432
exec: Correctly align memory using .p_align
2024-11-19 05:10:38 +02:00
EnderIce2
7b054050c7
tasking: Do not free tty
...
It took only 2 months to figure it out that this was causing unexpected crashes... lol
2024-11-19 05:05:41 +02:00
EnderIce2
4d192732cc
tasking: Check for null pointer first
2024-11-19 04:33:47 +02:00
EnderIce2
3709683af8
linux: Add stub madvise() syscall
2024-11-18 04:10:27 +02:00
EnderIce2
3a68b28c13
memory: Add more debug messages for CoW related functions
2024-11-18 04:07:08 +02:00
EnderIce2
9f34bd0192
linux: Fix debug messages for syscalls
2024-11-18 04:06:41 +02:00
EnderIce2
4012a5d9e5
memory: Remove annoying and useless messages in Unmap()
2024-11-18 04:06:03 +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
4bc4e9b76f
stl: Implement coroutines
2024-11-15 01:54:21 +02:00
EnderIce2
1ab4ace23c
stl: Update headers
...
type_traits: Add is_integral
optional: Add stub optional class
iterator: Add default_sentinel_t & default_sentinel
concepts: Add concepts header + integral concept
2024-11-15 01:34:34 +02:00
EnderIce2
ef1c5bb39e
panic: Add stub code for UHCI, EHCI & XHCI controllers
2024-11-10 16:30:43 +02:00
EnderIce2
a211280891
chore: Update vscode debug configurations
2024-11-08 02:31:36 +02:00
EnderIce2
393c8ba4cb
chore: Update vscode boilerplates
2024-11-08 02:30:57 +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
99292467ed
task: Remove redundant code
...
NewLock(SchedulerLock);
2024-10-26 03:54:46 +03:00
EnderIce2
29896bb0a4
memory: Refactor SwapPT class
2024-10-26 03:25:36 +03:00
EnderIce2
b6006e379d
panic: Refactor PS/2 keyboard initialization code
2024-10-26 03:24:29 +03:00
EnderIce2
462907828d
linux: Remove redundant SwapPT in linux_getrandom()
2024-10-25 01:00:58 +03:00
EnderIce2
c0df0291eb
kshell: Check for absolute path
2024-10-22 05:27:43 +03:00
EnderIce2
032b8acca0
kshell: Fix search for binaries in /usr/bin/
2024-10-21 02:59:55 +03:00
EnderIce2
8b442d14e3
linux: Implement vfork() syscall
2024-10-20 03:02:09 +03:00
EnderIce2
0edd84c8a8
linux: Disable stack protector for __LinuxForkReturn()
2024-10-20 03:01:30 +03:00
EnderIce2
f57ad7fc81
task: Implement new process state
...
Added "Frozen" for vfork implementation.
2024-10-20 03:00:34 +03:00
EnderIce2
53360c10e2
linux: Fix code style in linux_execve() function
2024-10-19 01:52:25 +03:00
EnderIce2
d9517a5cab
api: Add documentation to RingBuffer class
2024-10-19 01:44:48 +03:00
EnderIce2
88c87172ba
vt: Fix incorrect buffer read size in VirtualTerminal
...
Resolved an issue in VirtualTerminal::Read where the size of the report buffer was incorrectly set to sizeof(report), causing multiple unintended reads.
2024-10-19 01:31:42 +03:00
EnderIce2
6657a90739
core: Simplified interrupt event check logic in MainInterruptHandler
2024-10-19 01:29:27 +03:00
EnderIce2
5054243bc6
linux: Implement sched_setaffinity() and sched_getaffinity() syscalls
2024-10-16 16:50:15 +03:00
EnderIce2
8dc6edac4a
linux: Implement getdents64() syscall
2024-10-16 02:12:15 +03:00
EnderIce2
547ae94f80
linux: Add more debug messages for newfstatat syscall
2024-10-16 02:11:36 +03:00
EnderIce2
acabadaaab
linux: Correct struct linux_dirent64 variables
2024-10-16 02:10:34 +03:00
EnderIce2
f624339dff
fs: Fix ustar ReadDir() wrong d_type
2024-10-16 01:50:49 +03:00
EnderIce2
fa31ade889
linux: Fix newfstatat() syscall
2024-10-16 00:12:24 +03:00
EnderIce2
beca151fa6
std: Remove pragma "STDC FENV_ACCESS"
...
This pragma was ignored anyway
2024-10-15 04:05:07 +03:00
EnderIce2
d23ab8f476
kshell: Add more debug messages
2024-10-15 04:02:36 +03:00
EnderIce2
b13fe4a28f
std: Fix potential Use-After-Free vulnerability in std::string
2024-10-15 03:59:26 +03:00
EnderIce2
b31d49be15
std: Fix std::string push_back()
...
Allocate 2 bytes if cap == 0, not 1.
2024-10-15 03:58:17 +03:00
EnderIce2
ccb2cdde55
linux: Implement fchdir() syscall
2024-10-13 15:48:57 +03:00
EnderIce2
ea9aa8c674
kshell: Update error messages
2024-10-13 15:15:32 +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
f48032658f
vfs: Fix GetRoot(), CacheRecursiveSearch() and root identifier
2024-10-13 02:33:46 +03:00
EnderIce2
850b8ec490
std: Add TIOCGSID macro
2024-10-13 02:30:38 +03:00
EnderIce2
7cf35ec984
api: Add "KernelData" variable inside Inode structure
2024-10-13 02:30:13 +03:00