0a75d3e5d8
kernel: Support listening sockets in poll()
2023-08-21 14:06:48 +02:00
7cca3d092a
kernel: Fix negative movement in the PS/2 mouse driver
2023-08-21 14:06:47 +02:00
95a33c484e
kernel+libc: Add a memstat() syscall
...
We can finally show memory usage in userspace.
This could have been done using sysfs, but I'm lazy and don't want to implement that. Maybe in the next release?
2023-08-17 20:15:32 +02:00
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
54cc80f649
kernel/ATA: Replace a manually allocated buffer with Buffer
...
This also lets us keep it empty unless it is used, in which case we resize it (if it wasn't already resized).
2023-08-16 09:15:00 +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
a98df9e743
kernel: Return EACCES when trying to apply execpromises to a setuid program
...
Closes #41 .
2023-08-14 09:50:52 +02:00
e2a77bb3da
kernel+libc: Add pledge support
continuous-integration/drone/push Build is failing
2023-08-12 21:38:25 +02:00
52064e0317
libc+kernel: Add alarm() and getpagesize()
2023-08-11 18:09:12 +02:00
ed8b210639
kernel: Detect some other cases of non-DMA support
continuous-integration/drone/push Build is passing
2023-08-08 18:23:13 +02:00
bfb76b5625
kernel: Properly expose block device sizes with the new metadata API
2023-08-08 15:17:08 +02:00
37e9b25b62
apps: Add touch
continuous-integration/drone/push Build is passing
2023-08-08 14:34:58 +02:00
a92077d311
kernel+libc: Add all variants of utime
continuous-integration/drone/push Build is passing
2023-08-08 14:14:35 +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
917203ef11
kernel: Run the init function in a separate block to free everything before kernel_exit is called
continuous-integration/drone/push Build is passing
2023-08-08 10:44:18 +02:00
826be882a9
kernel: Interrupt syscalls before exiting because of a signal
...
Closes #40 .
2023-08-08 10:41:46 +02:00
7c254e5e15
kernel: Properly check memory bounds in strdup_from_user()
...
continuous-integration/drone/push Build is passing
Missed this one in 097353e779
.
2023-08-08 10:27:19 +02:00
097353e779
kernel: Properly check memory bounds while touching user memory
...
Before this patch, one byte of each page was being accessed without checking the page's permissions.
2023-08-07 22:49:00 +02:00
10c892d606
kernel: Allow null envp in execve()
...
As far as I know, this is not standard, but I'm doing this as a convenience for programs using exec() right after clearenv().
2023-08-07 22:48:21 +02:00
f45734c61d
kernel/ATA: Stop storing ATA::Drive in a separate shared pointer
continuous-integration/drone/push Build is passing
2023-08-07 19:22:57 +02:00
bc20e1a31b
kernel: Store FD_CLOEXEC in the file descriptor itself
...
continuous-integration/drone/push Build is passing
Closes #39 .
2023-08-03 17:47:18 +02:00
5aa042a5f2
kernel: Add constructors to SharedMemory
2023-08-03 10:31:58 +02:00
f150425222
kernel: Create a new shared memory object if the old one was lost
2023-08-03 10:31:29 +02:00
842b212685
kernel: Set a SharedMemory object's prot value
2023-08-03 10:30:43 +02:00
641b65da0f
kernel: Take devices into account in SharedMemory::free()
2023-08-03 09:33:10 +02:00
b5d146b492
kernel/mmap: Fix some parameters
2023-08-03 09:26:21 +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
c5e24e478f
kernel+libc: Add truncate and ftruncate
continuous-integration/drone/push Build is passing
2023-08-03 08:47:37 +02:00
84c1ac4cee
kernel: Add msync
continuous-integration/drone/push Build is passing
2023-08-02 22:39:07 +02:00
2572695c8d
kernel: Support mapping shared memory using mmap()
2023-08-02 22:20:05 +02:00
9443551d71
kernel: Add shared memory
2023-08-02 22:20:05 +02:00
b4527786d4
kernel/MMU: Don't copy pages on clone and allow manipulating other page directories
2023-08-02 22:17:32 +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
df4227eab8
kernel: Make the poll() system call actually work
2023-08-02 17:18:38 +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
207d901de8
kernel+libc: Add the poll() syscall
continuous-integration/drone/push Build is passing
2023-08-02 14:48:20 +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
4c87d72b44
kernel/binfmt: Add documentation + support script interpreters being scripts themselves
continuous-integration/drone/push Build is passing
2023-07-31 20:41:18 +02:00
3638d3da46
kernel: Add binary format for shebang scripts
2023-07-30 18:46:19 +02:00