Commit Graph

1974 Commits

Author SHA1 Message Date
9bb3fed611
libluna: Use the right unsigned integer type for wcscmp()'s return type 2023-07-25 17:23:27 +02:00
105ed79f8f
kernel: Reenable userspace stack tracing, but hidden behind a config flag
All checks were successful
continuous-integration/drone/push Build is passing
Sometimes this is needed for userspace program debugging (such as ports),
but sometimes it can crash, so we leave it off by default.
2023-07-25 17:02:09 +02:00
905e71527e
libc: Actually implement sigsetjmp() and siglongjmp() 2023-07-24 19:39:22 +02:00
c6d91c89cd
stat: Change program description
All checks were successful
continuous-integration/drone/push Build is passing
2023-07-24 19:17:36 +02:00
2e2b87b714
ports+tools: Add bc port
All checks were successful
continuous-integration/drone/push Build is passing
It segfaults when writing "about", but oh well...
2023-07-24 19:14:22 +02:00
b12f42cfe2
libc: Add SIGWINCH
Not used for anything at the moment, I guess if a user program wants to send it...

Required by bc.
2023-07-24 19:11:06 +02:00
c70790bf62
ports: Add some defaults for CMake projects as well
All checks were successful
continuous-integration/drone/push Build is passing
2023-07-24 18:50:51 +02:00
a990cc145e
ports: Add initial documentation to the port system
All checks were successful
continuous-integration/drone/push Build is passing
2023-07-24 18:29:44 +02:00
b0d7870ec6
ports: Add minitar (with examples!)
All checks were successful
continuous-integration/drone/push Build is passing
2023-07-24 17:20:54 +02:00
9a00b29304
ports: Basic ports system + nasm port
All checks were successful
continuous-integration/drone/push Build is passing
2023-07-24 17:07:49 +02:00
033aff4f6c
all: Error out on bidirectional characters (CVE-2021-42574)
All checks were successful
continuous-integration/drone/push Build is passing
2023-07-24 15:06:48 +02:00
c5af1bcef9
libc: Fix typo in fopen description
All checks were successful
continuous-integration/drone/push Build is passing
2023-07-24 11:57:47 +02:00
b3c478f19e
init: Make the log stream line-buffered
All checks were successful
continuous-integration/drone/push Build is passing
Looks like log output stopped showing after buffering was implemented, since the log was not flushed properly.
2023-07-24 11:54:49 +02:00
ad3f3bf4db
kernel: Log the release name and build date in the boot log 2023-07-24 11:48:01 +02:00
01359af288
tools: Make the Ext2 partition bigger (32M)
All checks were successful
continuous-integration/drone/push Build is passing
2023-07-22 16:11:34 +02:00
eeb9e16a74
libos: Make os::File a wrapper around stdio's FILE
All checks were successful
continuous-integration/drone/push Build is passing
This way, os::File benefits from the same buffering as stdio.h does.
2023-07-22 12:40:02 +02:00
358493a7bc
kernel: Add a system for release names in uname(), call alpha releases "Mercury"
All checks were successful
continuous-integration/drone/push Build is passing
2023-07-22 12:21:01 +02:00
5110d740b8
all: Update the version number to 0.4.0
All checks were successful
continuous-integration/drone/push Build is passing
2023-07-22 12:11:02 +02:00
759fb4fe0e
tools: Make replace-stdint.sh replace types only if they're followed by a space
All checks were successful
continuous-integration/drone/push Build is passing
Otherwise, size_to_read -> usizeo_read.
2023-07-22 11:59:41 +02:00
098109f16b
tools: Make sure formatting scripts cover all sources 2023-07-22 11:59:02 +02:00
9ef09cfc88
libc+libluna: Add case-insensitive string comparison functions 2023-07-22 11:58:28 +02:00
c17e1a5802
Update README.md
All checks were successful
continuous-integration/drone/push Build is passing
2023-07-22 11:45:35 +02:00
085d2895e8
libc: Implement setbuf(), setbuffer(), and setlinebuf()
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
These are all simple wrappers around setvbuf().
2023-07-22 11:36:20 +02:00
77022abafd
libc: Implement ungetc
All checks were successful
continuous-integration/drone/pr Build is passing
2023-07-22 11:25:20 +02:00
19b4aa9f81
libc: Flush buffers before dealing with file positions 2023-07-22 11:19:48 +02:00
420270ebd4
libc: Implement read buffering =D 2023-07-22 11:17:51 +02:00
d60ad184f1
libc: A bit of nice refactoring 2023-07-22 10:58:34 +02:00
a3ed950be8
libc: Basic write buffers
All checks were successful
continuous-integration/drone/pr Build is passing
2023-07-22 00:04:27 +02:00
cfb0ead2d9
libc: Flush all open streams on exit
This does nothing for now, but prepares for buffering.
2023-07-21 22:56:03 +02:00
5458286309
libos: Add Process::exit()
All checks were successful
continuous-integration/drone/push Build is passing
2023-07-21 21:21:08 +02:00
c72c6312d4
sh: Use input_file instead of hardcoding stdin everywhere in tcsetpgrp()
All checks were successful
continuous-integration/drone/push Build is passing
2023-07-21 21:08:27 +02:00
7a4d3ba495
sh: Add a few more shell builtins
All checks were successful
continuous-integration/drone/push Build is passing
2023-07-21 21:06:10 +02:00
16b385fc7b
libluna: Some fixes so that HashTable collisions work properly 2023-07-21 21:04:25 +02:00
4439ef8ec6
sh: Add a system to easily add flexible shell builtins
All checks were successful
continuous-integration/drone/push Build is passing
2023-07-21 20:44:01 +02:00
ff9e01641e
apps: Add a Game of Life implementation
All checks were successful
continuous-integration/drone/push Build is passing
2023-07-21 15:51:21 +02:00
36a74fd8d6
kernel/x86_64: Provide an alternate kernel stack for exceptions
All checks were successful
continuous-integration/drone/push Build is passing
This avoids stack-related triple faults, hopefully.

Closes #33.
2023-07-21 15:14:52 +02:00
310b325af8
kernel: Avoid some more -Wconversion errors in TextConsole 2023-07-21 15:14:05 +02:00
0d924f89d3
tools: Avoid making the tests interfere with the main build directory
All checks were successful
continuous-integration/drone/push Build is passing
2023-07-21 14:49:59 +02:00
de7e58c274
StringView: Fix equality operator
All checks were successful
continuous-integration/drone/push Build is passing
2023-07-21 14:26:54 +02:00
c24a261233
tools: Do not use KVM when it's not supported
All checks were successful
continuous-integration/drone/push Build is passing
2023-07-21 14:17:14 +02:00
edeb420d0d
Update drone.yml
Some checks failed
continuous-integration/drone/push Build is failing
2023-07-21 14:11:44 +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
bcfee628cb
kernel: Remove outdated FIXME
All checks were successful
continuous-integration/drone/push Build is passing
2023-07-15 13:19:47 +02:00
0d41e1f7b6
kernel/ext2: Change outdated FIXME
All checks were successful
continuous-integration/drone/push Build is passing
2023-07-15 13:17:58 +02:00
f9003d7a58
kernel: Mask away unsafe bits in rflags when restoring state after a signal
All checks were successful
continuous-integration/drone/push Build is passing
2023-07-15 11:54:48 +02:00
89786d8be2
kernel: Save/restore the SSE/FPU state when executing signal handlers 2023-07-15 11:53:50 +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
78ea5dc352
base: Rename selene-home.sh to mount-home.sh
All checks were successful
continuous-integration/drone/push Build is passing
This makes its purpose clearer.
2023-07-12 19:47:45 +02:00
6c3ab3b27d
init+base: Allow 'Description' fields in service files 2023-07-12 19:46:53 +02:00