b847d7dfd5
Kernel: MMU::get() is now MMU::kernel
...
MMU is can now be locked with RecursiveSpinLock.
Scheduler now has get_current_tid() that works before the Scheduler
is initialized. This allows RecursiveSpinLock usage early on.
2023-05-28 16:18:18 +03:00
4a4a3bf184
Kernel/LibC: move file offset back to kernel
...
This makes keeping track of offsets easier and more proper
2023-05-26 22:31:21 +03:00
1cf7ef3de6
Kernel: Remove offset from OpenFileDescriptor
...
This is now handled on the libc side. There might be reasons to
have it in kernel side, but for simplicity's sake I'm moving it
to libc for now :)
2023-05-09 20:31:22 +03:00
4e859bedbc
Kernel: TTY input process is now single instance
...
Process sends key events to the active (currently only) tty
2023-04-30 16:11:14 +03:00
f139fc2229
Kernel: namespace and function renames
...
MMU moved to namespace kernel
Kernel::Memory::Heap moved to just Kernel
MMU::map_{page,range} renamed to identity_map_{page,range}
Add MMU::get_page_flags
2023-04-28 14:48:38 +03:00
1406a75a92
Kernel: Cleanup process creation for userspace
2023-04-22 16:51:50 +03:00
d38470c8e2
Kernel: Rename MMU::{un,}allocate... to MMU::{un,}map
...
This is more appropriate name for the behaviour :D
2023-04-19 21:50:30 +03:00
7bd4593748
Kernel: Process is not reference counted any more
...
This was not necessary and it made things needlessly complicated
2023-04-19 00:34:18 +03:00
2614437ba0
Kernel: Reorder boot initialization
...
We now create the TTY as soon as possible so we can show console
output without serial port.
2023-04-18 10:18:15 +03:00
9c0f3dd996
Kernel: Move kmalloc and MMU to Memory directory
2023-04-18 10:18:15 +03:00
f5e676b2b7
Kernel: Fix TTY spinlock usage
2023-04-12 00:20:04 +03:00
7010d8614f
Kernel: kernel doesn't allocate large blocks of data on stack
...
We used to allocate 1 KiB blocks on multiple places on stack. This
is a problem, since kernel stack shouldn't have to be too big
2023-04-11 23:31:58 +03:00
5db4e5b4d5
Kernel: Fix TTY echo and canonical flag behaviour
2023-04-05 11:35:19 +03:00
b00dd8d68d
Kernel: Fix ansi control sequence cursor movement
2023-04-05 03:07:52 +03:00
abbbf7ec15
Kernel: Add tty to process and make termios modifiable
2023-04-05 02:53:28 +03:00
d0b1457f30
Kernel: TTY now supports clearing
2023-04-05 02:04:18 +03:00
a423cd8bb3
Kernel: Add partial support for shell
...
We don't handle arrow keys, and the tty does not know how to clear
the screeen :D
2023-04-05 01:30:58 +03:00
a1100624bf
Kernel: Start work on making tty a file
...
TTY is now a file that you can read from/write to. I still have
to port shell to use this new interface
2023-04-05 00:56:09 +03:00