Commit Graph

112 Commits

Author SHA1 Message Date
0c65bd9891 Rewrite ps2kbproc, rbuf (kernel ring buffer) and pipe read/write, Change to -O0 in kernel code 2025-09-20 16:50:40 +02:00
222e846881 tb Allow the user to kill current process in interactive mode (Ctrl+S) 2025-09-20 12:41:54 +02:00
a24b1fc677 diagdummy Simple dummy app for diagnostics and debugging 2025-09-20 12:25:02 +02:00
a8005917eb ulib Add quit() utility 2025-09-20 12:20:26 +02:00
97bc0aa05b tb Use % for builtin cmd prefix 2025-09-20 11:38:54 +02:00
6cd4c73438 tb Allow for only one consequent alias expansion 2025-09-20 11:13:48 +02:00
9694d1a5a0 Use unified header file ulib.h 2025-09-20 10:54:31 +02:00
e245ecca3c ulib Remove machine/limits.h std/limits.h std/stdlib.h 2025-09-20 10:47:04 +02:00
3f0231be3f tb Don't schedrelease() when reading in-pipe 2025-09-20 10:38:36 +02:00
a1b3d4efa4 TODO figure out why schedrelease() messes with terminal proc's ring buffer 2025-09-20 01:19:20 +02:00
8269e097d6 spinlock only restore RFLAGS IF flag 2025-09-20 00:55:18 +02:00
dcc68154b2 Make syscalls accept their interrupt frame, remove useless intr_eoi() param 2025-09-20 00:28:28 +02:00
81dc694a23 schedrelease() don't schedule if current interrupt frame is NULL 2025-09-19 23:48:30 +02:00
5b6408b06b tb fix call to schedrelease() 2025-09-19 23:47:55 +02:00
b7ad1e0633 tb Spin efficiently with new schedrelease() syscall 2025-09-19 23:41:24 +02:00
1b5701a659 schedrelease() syscall for more efficient spinning 2025-09-19 23:38:08 +02:00
e01d8d5e1a pctl ls List procs by PID 2025-09-19 23:06:37 +02:00
44b5aa305c ulib Add ARG_INT type to argument parser 2025-09-19 23:06:08 +02:00
c94ef4d990 pctl List procs by name 2025-09-19 22:50:34 +02:00
2c0d50a401 pctl Display memory usage and process state 2025-09-19 22:38:39 +02:00
1af0d1f5bc Use uint8_t for keyboard chars 2025-09-19 21:00:33 +02:00
504bdbd4ba pctl More compact output of ls subcmd 2025-09-19 20:45:49 +02:00
c364dca5e5 Change terminal font and colors 2025-09-19 20:40:17 +02:00
8d0f80f821 tb Clear screen shortcut 2025-09-19 20:07:17 +02:00
4cedfda19b Fix some keyboard keypressed still being missed 2025-09-19 20:03:36 +02:00
40b7dcedf8 tb Command aliases, preloading scripts 2025-09-19 19:55:35 +02:00
24a90b24e8 tb Handle keyboard inside of the shell interactive mode 2025-09-19 19:09:54 +02:00
d7153bf0b6 pctl display bad subcommand 2025-09-19 18:24:48 +02:00
ad56890ee9 Adopt pipe handle inheritance 2025-09-19 18:12:36 +02:00
2d7ceb4b43 Make subprocess inherit parent's pipe handles 2025-09-18 23:31:16 +02:00
4c17f26915 add PCTL_DELETE for removing pipes 2025-09-18 22:43:24 +02:00
024a5b2e21 ps2kb intr fix missed key presses by sending early EOI 2025-09-18 11:45:56 +02:00
9e9d2c5190 pctl format output as a table 2025-09-18 11:22:09 +02:00
e5e707eb54 tb running cmds in interactive mode 2025-09-18 00:57:24 +02:00
b3894f1600 Return an error code when a pipe is already present in a slot 2025-09-18 00:54:53 +02:00
b0e543177b PS2KB driver fix right shift key 2025-09-18 00:48:31 +02:00
ba1c0eedbd tb implement command logging 2025-09-17 22:07:58 +02:00
ac1cc172f7 ulib parse boolean arguments 2025-09-17 22:07:42 +02:00
6a8af7727e PCTL ignore build artifacts 2025-09-17 21:49:04 +02:00
91e65bb35a Resolve hisenbugs regarding GCC and -Os 2025-09-17 21:48:16 +02:00
0a5523f234 WIP 2025-09-15 22:35:15 +02:00
ce63020b34 ulib dlmalloc, more eco friendly sbrk() 2025-09-15 00:33:46 +02:00
40ccb7d476 TB print hello world 2025-09-14 23:31:14 +02:00
062e98d714 Fix poor VMM locking leading to subtle race conditions 2025-09-14 23:11:24 +02:00
69e23a9ca3 ioctl() IOCTL_STAT command 2025-09-14 19:30:20 +02:00
26ff717b50 Fix dlmalloc horror bug - mman_map overwrites application code 2025-09-14 19:07:00 +02:00
e6891b39cc Parsing commandline arguments 2025-09-13 15:43:31 +02:00
dc3d80d707 Handle process arguments 2025-09-10 23:25:03 +02:00
2f9f4d9397 Userspace dlmalloc port, supporting syscalls mman_map()/mman_unmap() 2025-09-10 21:52:01 +02:00
91c493c818 processctl() PCTL_SPAWN cmd, scheduler embryo state, redirected pipes 2025-09-10 01:11:22 +02:00