|
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 |
|
|
3aaf1c5d84
|
apps: Rename mouse to input, read keyboard packets as well
continuous-integration/drone/push Build is passing
|
2023-08-02 17:20:26 +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 |
|
|
6593f9241b
|
libc: Add wrapper for poll()
|
2023-08-02 17:19:16 +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 |
|
|
b1fb6dee8a
|
login: Create a new process group to log in
|
2023-08-02 14:47:13 +02:00 |
|
|
aac8280e8a
|
libc+libos: Properly propagate errors through fgetc() and File::getchar()
This restores proper ^C behavior in the shell.
|
2023-08-02 14:46:47 +02:00 |
|
|
d0ceec6952
|
mouse: Show textual description of buttons
continuous-integration/drone/push Build is passing
|
2023-08-02 13:58:17 +02:00 |
|
|
7983d63b8e
|
libos: Add documentation for os::File::BufferingMode
continuous-integration/drone/push Build is passing
|
2023-08-02 13:15:51 +02:00 |
|
|
2198dedb96
|
apps: Add mouse
continuous-integration/drone/push Build is passing
A simple mouse packet reader.
|
2023-08-02 11:56:12 +02:00 |
|
|
cd9219df52
|
tools: Install kernel API headers into /usr/include/moon
|
2023-08-02 11:56:00 +02:00 |
|
|
e8f3dd4cf9
|
kernel: Add a PS/2 mouse driver
|
2023-08-02 11:55:45 +02:00 |
|
|
6c26236167
|
libluna: Add CircularQueue::is_empty()
|
2023-08-02 11:55:08 +02:00 |
|
|
b17793134e
|
libos: Let users change the buffering mode of a File
|
2023-08-02 11:54:47 +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 |
|
|
d01087362e
|
libc: Set the close-on-exec flag for directories opened using opendir()
This is apparently mandated by POSIX.
|
2023-07-31 10:58:06 +02:00 |
|
|
3598dacbed
|
init: Remove support for 'Script' parameters
continuous-integration/drone/push Build is passing
This can now be changed to good old 'Command', putting a shebang into the script,
thanks to the new shebang support in the kernel.
|
2023-07-30 18:47:38 +02:00 |
|
|
3638d3da46
|
kernel: Add binary format for shebang scripts
|
2023-07-30 18:46:19 +02:00 |
|
|
1c76675e40
|
kernel: Add a framework to add more executable formats, possibly from userspace
This lets us implement shebangs and possibly an interface similar to Linux's binfmt_misc.
|
2023-07-30 18:25:44 +02:00 |
|
|
6e269c6bc4
|
preinit: Search for init in several directories
continuous-integration/drone/push Build is passing
|
2023-07-30 13:08:53 +02:00 |
|
|
43fa128e29
|
Update README.md
continuous-integration/drone/push Build is passing
|
2023-07-30 11:55:20 +02:00 |
|
|
8475a3aad9
|
socket-client: Send a user-provided message to the server
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
|
2023-07-30 11:46:53 +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 |
|
|
0c873923e8
|
kernel: Make OpenFileDescription shareable
continuous-integration/drone/pr Build is passing
|
2023-07-30 11:33:46 +02:00 |
|
|
63745565db
|
apps: Add socket client
continuous-integration/drone/pr Build is failing
|
2023-07-30 11:33:06 +02:00 |
|
|
7b24a4d1c6
|
libc: Add wrappers for listen(), connect(), and accept()
|
2023-07-30 11:33:06 +02:00 |
|
|
8d3b3aaf05
|
libluna: Add a few more network-related errno codes
|
2023-07-30 11:33:06 +02:00 |
|
|
bb3127c212
|
kernel: Implement listen(), connect() and accept()
|
2023-07-30 11:33:06 +02:00 |
|
|
cca806f088
|
libluna: Add a variant of CircularQueue that dynamically allocates its buffer at runtime
This is needed to implement the backlog queue for listening sockets.
|
2023-07-30 11:33:06 +02:00 |
|
|
7a7ae086f5
|
kernel: Use a did_close callback for UnixSockets
|
2023-07-30 11:33:06 +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 |
|
|
9303c44269
|
apps: Add socket-test
|
2023-07-30 11:33:06 +02:00 |
|
|
a12b018b03
|
kernel+libc: Add basic Unix sockets (creation and binding)
|
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 |
|
|
6b0bc66fd2
|
libluna: Add new socket-related errno codes
|
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 |
|
|
28cc4b2306
|
kernel: Add default action for SIGWINCH
continuous-integration/drone/push Build is passing
|
2023-07-27 14:00:30 +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 |
|
|
5aad7d3154
|
kernel/x86_64: Fail on invalid interrupts instead of calling FIXME_UNHANDLED_INTERRUPT
continuous-integration/drone/push Build is passing
A FIXME is something that should be changed later,
this is a check for something that should never happen.
|
2023-07-25 18:23:33 +02:00 |
|
|
58fa297068
|
libluna: Wrap around when iterating through a HashTable's buckets array
continuous-integration/drone/push Build is passing
Why am I so dumb?
|
2023-07-25 18:19:45 +02:00 |
|
|
28dd8194af
|
kernel: Include waited-for grandchildren in RUSAGE_CHILDREN's times
continuous-integration/drone/push Build is passing
|
2023-07-25 17:50:15 +02:00 |
|