84 Commits

Author SHA1 Message Date
3a5924be64
kernel: Set the initial foreground process group when acquiring a controlling terminal 2023-11-25 12:18:04 +01:00
cea1b030ff
kernel: Add locking to BinaryFormat and DeviceRegistry
All checks were successful
continuous-integration/drone/push Build is passing
2023-10-23 22:48:04 +02:00
c323a812a5
kernel+libc+terminal+wind: Add support for POSIX sessions
All checks were successful
continuous-integration/drone/push Build is passing
Fixes #42.
2023-10-14 20:41:34 +02:00
5f0830cd41
kernel: Add /dev/tty
All checks were successful
continuous-integration/drone/push Build is passing
2023-10-14 19:00:10 +02:00
7ff5096083
kernel: Avoid page faults when reading from a slave pseudoterminal after the master is destroyed
All checks were successful
continuous-integration/drone/push Build is passing
2023-09-23 12:57:03 +02:00
ffdcc843eb
kernel+terminal: Move pseudoterminal input processing to kernel-space
All checks were successful
continuous-integration/drone/push Build is passing
2023-09-22 22:45:35 +02:00
36fad85396
kernel+init+preinit+wind: Remove the kernel TTY and support only userspace terminals
All checks were successful
continuous-integration/drone/push Build is passing
Still allow printing text to the console, but without text input or ANSI escape fancy stuff.
2023-09-21 19:31:54 +02:00
14f0c93175
kernel: Allow mapping the framebuffer even if its size is not page-aligned
All checks were successful
continuous-integration/drone/push Build is passing
2023-09-20 22:41:48 +02:00
a93626fc41
kernel: Add pseudoterminals and a /dev/pts filesystem 2023-09-20 07:05:59 +02:00
0002c2314c
kernel: Handle tab properly in the terminal 2023-09-04 13:12:08 +02:00
27eacac19c
kernel: Add a blinking cursor to the terminal
All checks were successful
continuous-integration/drone/push Build is passing
2023-09-04 11:44:35 +02:00
a35ca0b367
libluna+kernel: Add Bitset and use it for signals
All checks were successful
continuous-integration/drone/push Build is passing
2023-08-23 10:51:02 +02:00
746834e2d9
kernel: Silently ignore TTY writes in graphical mode
All checks were successful
continuous-integration/drone/push Build is passing
2023-08-22 13:31:31 +02:00
d43590e68c
kernel: Improve Your Disk IO performance by 500% with this One Trick!
Some checks failed
continuous-integration/drone/push Build is failing
The trick being caching lol.
2023-08-16 14:54:13 +02:00
e2a77bb3da
kernel+libc: Add pledge support
Some checks failed
continuous-integration/drone/push Build is failing
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
All checks were successful
continuous-integration/drone/push Build is passing
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
All checks were successful
continuous-integration/drone/push Build is passing
2023-08-01 17:20:28 +02:00
187f0ff83e
kernel: Rename Inode::blocking() to Inode::will_block_if_read()
All checks were successful
continuous-integration/drone/pr Build is passing
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
All checks were successful
continuous-integration/drone/push Build is passing
2023-07-30 11:32:46 +02:00
11df5a2ec3
kernel: Use pid_t internally for process IDs
All checks were successful
continuous-integration/drone/push Build is passing
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
Some checks failed
continuous-integration/drone/push Build is failing
2023-07-21 14:09:37 +02:00
de6fe7f7c2
kernel+libc+sh: Make the TTY device actually follow termios rules
All checks were successful
continuous-integration/drone/push Build is passing
Like, so much more termios compatibility!
2023-07-13 20:33:20 +02:00
efd5bae7a5
kernel: Implement querying the terminal window size
Some checks failed
continuous-integration/drone/push Build is failing
2023-07-12 22:09:28 +02:00
546d900454
libc+apps: Start implementing POSIX-compliant termios.h wrappers around tty ioctls
All checks were successful
continuous-integration/drone/push Build is passing
2023-07-12 19:23:06 +02:00
81e1fdf81e
kernel+libc+login+sh+su: Implement foreground and background process groups in the default console
All checks were successful
continuous-integration/drone/push Build is passing
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()
Some checks failed
continuous-integration/drone/push Build is failing
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
All checks were successful
continuous-integration/drone/push Build is passing
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
All checks were successful
continuous-integration/drone/pr Build is passing
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
All checks were successful
continuous-integration/drone/push Build is passing
2023-06-02 21:45:31 +02:00
a98e9e8009
kernel: Add /dev/full
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-27 10:42:45 +02:00
cba0a23db9
kernel: Make the framebuffer a block device
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-26 20:36:35 +02:00
62e14e7580
kernel+libos+apps: Support block devices and disallow seeking character devices or pipes
Some checks failed
continuous-integration/drone/push Build is failing
2023-05-26 20:27:47 +02:00
1094042a7d
kernel: Implement st_dev and st_rdev
Some checks failed
continuous-integration/drone/push Build is failing
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
All checks were successful
continuous-integration/drone/push Build is passing
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
All checks were successful
continuous-integration/drone/push Build is passing
2023-04-21 18:25:53 +02:00
841fc25137
kernel+init: Add a framebuffer special device file
All checks were successful
continuous-integration/drone/push Build is passing
2023-04-21 18:18:15 +02:00
df95126ccd
kernel: Remove unneeded debug logs & random cleanups
All checks were successful
continuous-integration/drone/push Build is passing
2023-04-14 21:10:38 +02:00