|
4a654bf093
|
kernel: Handle OOMs better and without deadlocking
Use a separate task to do it.
Also fix a bug where the init thread would get no kernel stack ever since 5f698b477 .
|
2023-08-17 20:14:33 +02:00 |
|
|
d43590e68c
|
kernel: Improve Your Disk IO performance by 500% with this One Trick!
continuous-integration/drone/push Build is failing
The trick being caching lol.
|
2023-08-16 14:54:13 +02:00 |
|
|
7b88b9cea3
|
kernel/ext2: Replace a manually allocated buffer with Buffer
continuous-integration/drone/push Build is failing
|
2023-08-16 09:15:29 +02:00 |
|
|
b8f81502b8
|
kernel: Fix some debug messages that are not shown by default
|
2023-08-16 09:03:25 +02:00 |
|
|
e8e05159c1
|
libluna+kernel: Make CRC32 a class
|
2023-08-15 19:27:09 +02:00 |
|
|
706752d6b9
|
kernel: Return SIGPIPE/EPIPE when writing to a pipe with no more readers
|
2023-08-15 19:08:37 +02:00 |
|
|
e2a77bb3da
|
kernel+libc: Add pledge support
continuous-integration/drone/push Build is failing
|
2023-08-12 21:38:25 +02:00 |
|
|
bfb76b5625
|
kernel: Properly expose block device sizes with the new metadata API
|
2023-08-08 15:17:08 +02:00 |
|
|
1481a4736a
|
tmpfs: Update mtime on writes
continuous-integration/drone/push Build is passing
|
2023-08-08 13:36:25 +02:00 |
|
|
4195e7f206
|
kernel+libc+stat: Add support for file times
continuous-integration/drone/push Build is passing
The modification time is not updated though.
|
2023-08-08 13:33:40 +02:00 |
|
|
b63a8ff245
|
libluna: Move get_blocks_from_size to a new header and call it ceil_div instead
continuous-integration/drone/push Build is passing
|
2023-08-08 11:58:33 +02:00 |
|
|
f150425222
|
kernel: Create a new shared memory object if the old one was lost
|
2023-08-03 10:31:29 +02:00 |
|
|
b447c1a261
|
kernel: Set the shmem->inode field in query_shared_memory
|
2023-08-03 09:25:56 +02:00 |
|
|
f8e86b3b01
|
fix
|
2023-08-03 09:25:38 +02:00 |
|
|
d8f6af99b8
|
kernel: Let devices use shared memory
|
2023-08-03 09:25:23 +02:00 |
|
|
9443551d71
|
kernel: Add shared memory
|
2023-08-02 22:20:05 +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
continuous-integration/drone/push Build is passing
|
2023-08-02 15:16:10 +02:00 |
|
|
df77fc8de8
|
libluna: Remove make_array() and destroy_array()
Placement new on arrays is a bit unreliable and could cause out-of-bounds data accesses.
|
2023-08-02 14:47:58 +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
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()
continuous-integration/drone/pr Build is passing
|
2023-07-30 11:41:53 +02:00 |
|
|
fb08594a18
|
kernel: Separate FileDescriptors and OpenFileDescription
Also, add a did_close() callback for OpenFileDescriptions losing all their references.
|
2023-07-30 11:33:06 +02:00 |
|
|
c4e30c3029
|
kernel: Add functionality to allow external inodes (such as sockets) to acquire an inode number from a file system
This is only implemented in tmpfs.
|
2023-07-30 11:33:06 +02:00 |
|
|
c1d08b904e
|
kernel+libluna: Add Buffer::dequeue_data()
|
2023-07-30 11:33:05 +02:00 |
|
|
200bb6c240
|
kernel+libc+libos: Add inode type for sockets
|
2023-07-30 11:33:05 +02:00 |
|
|
4ed7ec5e93
|
libluna: Store SharedPtr's ref count in the object itself
continuous-integration/drone/push Build is passing
|
2023-07-30 11:32:46 +02:00 |
|
|
11df5a2ec3
|
kernel: Use pid_t internally for process IDs
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
continuous-integration/drone/push Build is failing
|
2023-07-21 14:09:37 +02:00 |
|
|
0d41e1f7b6
|
kernel/ext2: Change outdated FIXME
continuous-integration/drone/push Build is passing
|
2023-07-15 13:17:58 +02:00 |
|
|
de6fe7f7c2
|
kernel+libc+sh: Make the TTY device actually follow termios rules
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
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
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
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()
continuous-integration/drone/push Build is failing
|
2023-07-11 12:05:09 +02:00 |
|
|
56f3d26969
|
kernel+libluna: Fix the CRC32 algorithm and use it to verify the GPT header
continuous-integration/drone/push Build is passing
|
2023-07-10 14:54:55 +02:00 |
|
|
a1b92fcc3f
|
kernel: Add the MOUNT_DEBUG flag
|
2023-07-10 13:04:34 +02:00 |
|
|
3b1219ecf2
|
kernel/ext2: Make the inner extended superblock struct packed as well
continuous-integration/drone/push Build is passing
|
2023-07-02 19:50:27 +02:00 |
|
|
d363d5e915
|
kernel/ext2: Make sure we don't crash when accessing the last inode
continuous-integration/drone/push Build is passing
|
2023-07-02 17:30:14 +02:00 |
|
|
da689dd1a7
|
kernel/ext2: Allow reading up to 4 MB of data from files
This is done by scanning the singly indirect pointer of the inode.
|
2023-06-25 20:35:39 +02:00 |
|
|
41f578aa18
|
kernel/ext2: Add support for symbolic links
|
2023-06-25 20:35:38 +02:00 |
|
|
34e1ef36b1
|
kernel: Make pivot_root() reset the parent entry of the new root directory
Otherwise it would just be pointing to the old parent fs, and we don't want that.
|
2023-06-25 20:35:38 +02:00 |
|
|
a62265b504
|
kernel/ext2: Implement directory traversal
|
2023-06-25 20:35:37 +02:00 |
|
|
4fe6c506ec
|
kernel/ext2: Implement Inode::read()
|
2023-06-25 20:35:37 +02:00 |
|
|
77686b26f8
|
kernel/Ext2: Read the root inode metadata from the disk
|
2023-06-25 20:35:36 +02:00 |
|
|
a9460469d9
|
kernel+libc+apps: Add a source parameter to the mount() system call
|
2023-06-25 20:35:35 +02:00 |
|
|
707f64acb5
|
kernel: Add an Ext2 filesystem skeleton
|
2023-06-25 20:35:35 +02:00 |
|
|
3b6f5b28fc
|
kernel: Make the configurable filename restrictions actually compile
continuous-integration/drone/push Build is passing
|
2023-06-22 20:24:33 +02:00 |
|
|
fdf2bb2501
|
kernel: Make the filename restrictions configurable
continuous-integration/drone/push Build is passing
|
2023-06-22 20:22:43 +02:00 |
|