73 Commits

Author SHA1 Message Date
a35ca0b367
libluna+kernel: Add Bitset and use it for signals 2023-08-23 10:51:02 +02:00
746834e2d9
kernel: Silently ignore TTY writes in graphical mode 2023-08-22 13:31:31 +02:00
d43590e68c
kernel: Improve Your Disk IO performance by 500% with this One Trick!
The trick being caching lol.
2023-08-16 14:54:13 +02:00
e2a77bb3da
kernel+libc: Add pledge support 2023-08-12 21:38:25 +02:00
f150425222
kernel: Create a new shared memory object if the old one was lost 2023-08-03 10:31:29 +02:00
d8f6af99b8
kernel: Let devices use shared memory 2023-08-03 09:25:23 +02:00
4794d0dfef
kernel: Add a keyboard device for graphical session 2023-08-02 17:20:13 +02:00
9c1e275f34
kernel: Make /dev/mouse read-write only for root 2023-08-02 17:19:37 +02:00
f8cb6e03df
kernel: Allow turning off the TTY by setting it to graphical mode 2023-08-02 15:16:10 +02:00
e8f3dd4cf9
kernel: Add a PS/2 mouse driver 2023-08-02 11:55:45 +02:00
dc35c42371
kernel/VFS: Rework the metadata system so that there is a single metadata struct 2023-08-01 17:20:28 +02:00
187f0ff83e
kernel: Rename Inode::blocking() to Inode::will_block_if_read() 2023-07-30 11:41:53 +02:00
c1d08b904e
kernel+libluna: Add Buffer::dequeue_data() 2023-07-30 11:33:05 +02:00
4ed7ec5e93
libluna: Store SharedPtr's ref count in the object itself 2023-07-30 11:32:46 +02:00
11df5a2ec3
kernel: Use pid_t internally for process IDs
This removes a bunch of casts between pid_t and u64, and makes more sense since pid_t is literally the data type for process IDs.
2023-07-26 21:32:00 +02:00
cd6bf745a7
tests+kernel+init: Run tests automatically in a headless way 2023-07-21 14:09:37 +02:00
de6fe7f7c2
kernel+libc+sh: Make the TTY device actually follow termios rules
Like, so much more termios compatibility!
2023-07-13 20:33:20 +02:00
efd5bae7a5
kernel: Implement querying the terminal window size 2023-07-12 22:09:28 +02:00
546d900454
libc+apps: Start implementing POSIX-compliant termios.h wrappers around tty ioctls 2023-07-12 19:23:06 +02:00
81e1fdf81e
kernel+libc+login+sh+su: Implement foreground and background process groups in the default console
Also, the console sends SIGINT to the foreground process group when ^C is pressed!
2023-07-12 13:49:37 +02:00
69f9701097
kernel+libc: Implement isatty() 2023-07-11 12:05:09 +02:00
b7bdec9ece
kernel: Add a bunch more config definitions and hide debug messages behind them 2023-06-18 20:18:00 +02:00
7cace9a0d7
kernel: Provide more meaningful panic messages for critical failures 2023-06-17 19:43:25 +02:00
32d2e0e6b7
kernel: Remove register_special_device()'s name parameter
This is now duplicate information that can be queried using device->device_path().
2023-06-16 21:46:51 +02:00
738b218a49
kernel/ATA+MBR: Dynamically generate device names + create devices for MBR partitions 2023-06-16 21:30:50 +02:00
a0fa1f2cfd
kernel+init: Create a device node in /dev to access the CDROM from userspace!
Still using PIO, though.
2023-06-16 21:10:33 +02:00
ff952cfe16
kernel+init: Let userspace control devfs mountpoints 2023-06-02 21:45:31 +02:00
a98e9e8009
kernel: Add /dev/full 2023-05-27 10:42:45 +02:00
cba0a23db9
kernel: Make the framebuffer a block device 2023-05-26 20:36:35 +02:00
62e14e7580
kernel+libos+apps: Support block devices and disallow seeking character devices or pipes 2023-05-26 20:27:47 +02:00
1094042a7d
kernel: Implement st_dev and st_rdev 2023-05-23 20:45:24 +02:00
29174ca228
kernel/VFS: Add a way to unmount file systems 2023-05-17 19:52:26 +02:00
e7d482e78a
kernel+init: Add a VFS mount system and auto-populate the devfs 2023-05-17 19:40:37 +02:00
4753e80583
kernel: Make DeviceRegistry store the created devices instead of creating them when requested 2023-05-09 18:31:27 +02:00
3a1c22bb93
kernel: Add keyboard combinations for debug information dumps
Ctrl+Alt+E: Dump threads
Ctrl+Alt+M: Dump memory usage
Ctrl+Alt+H: Dump heap state
2023-05-04 23:32:48 +02:00
24f4ce9669
kernel: Only allow Ctrl+D on an empty line 2023-04-26 20:42:26 +02:00
4f6e020196
kernel+libc: Add framebuffer ioctls 2023-04-21 18:25:53 +02:00
841fc25137
kernel+init: Add a framebuffer special device file 2023-04-21 18:18:15 +02:00
df95126ccd
kernel: Remove unneeded debug logs & random cleanups 2023-04-14 21:10:38 +02:00
fee33e7a14
kernel: Add ioctls() for termios stuff to ConsoleDevice
Only handles echoing for now.
2023-04-09 11:23:57 +02:00
76eb8cd129
kernel: Add an ioctl() system call 2023-04-09 11:22:57 +02:00
64bca780a7
kernel: Add /dev/zero 2023-03-30 21:19:16 +02:00
f084b57f39
kernel+sh: Allow using Ctrl+D to send EOF 2023-03-24 17:21:21 +01:00
95e884db97
kernel: Fix compilation 2023-03-23 21:34:09 +01:00
cda036ce70
ConsoleDevice: Use a temporary buffer for backspace handling 2023-03-23 21:22:12 +01:00
d33fccc66f
kernel: Implement reading from /dev/console 2023-03-19 19:15:19 +01:00
41514d9ad2
kernel: Add support for blocking reads 2023-03-19 11:21:50 +01:00
6a6a56a8b4
kernel: Make /dev/console actually respect the length parameter instead of trusting userspace's null terminators 2023-03-18 20:10:00 +01:00
7173c05a22
kernel: Add support for special device files and add a mknod() syscall 2023-03-18 09:10:33 +01:00
cf758fdfdc Initial commit :) 2022-11-13 10:09:09 +01:00