4lDO2
0da2fce64a
Separate context and process IDs.
2024-07-15 18:08:41 +02:00
4lDO2
74b824f40f
Add rustfmt to CI.
2024-07-15 17:54:27 +02:00
4lDO2
d94baa2712
Run rustfmt.
2024-07-15 17:50:18 +02:00
4lDO2
f3532f4549
Fix static mut ref warnings.
2024-07-15 17:48:46 +02:00
4lDO2
5e7db80285
Fix a bunch of warnings.
2024-07-15 17:48:45 +02:00
4lDO2
c86f107344
Switch back to upstream syscall submodule.
2024-07-15 17:20:58 +02:00
4lDO2
9259a36f5e
Run more of sigchld test correctly.
2024-07-15 17:20:58 +02:00
4lDO2
5abbcd8e34
Send SIGCHLD to parent after child stop/exit.
2024-07-15 17:20:57 +02:00
4lDO2
d70ad544e6
Fix SIGKILL and allow SYS_EXIT to pass 16 bits.
2024-07-15 17:20:57 +02:00
4lDO2
8f3e40a99e
Fix aarch64 compilation.
2024-07-15 17:20:57 +02:00
4lDO2
465128da26
Don't block nanosleep/futex <= signals are pending.
2024-07-15 17:20:57 +02:00
4lDO2
9198ee7e52
Reimplement shutdown and restart.
2024-07-15 17:20:57 +02:00
4lDO2
4dba818c83
Check pending unblocked signals before blocking.
...
This is not a perfect solution, since the kernel technically already has
all the information it needs to synchronize this between the kill()
invocation and the time WaitCondition::wait is called, but it should not
have any noticeable performance impact.
2024-07-15 17:20:57 +02:00
4lDO2
e9de24c097
Only return EINTR in kill() if self was killed.
2024-07-15 17:20:57 +02:00
4lDO2
965f5879b7
Never clear sig pending bits in the kernel.
2024-07-15 17:20:57 +02:00
4lDO2
ae8e13525f
Remove is_pending flag, read word directly instead.
2024-07-15 17:20:57 +02:00
4lDO2
f91b90445d
Force userspace to do post-syscall EINTR check.
2024-07-15 17:20:56 +02:00
4lDO2
e8060b259d
Only save ip and 'archdep' regs when signalling.
2024-07-15 17:20:56 +02:00
4lDO2
12cfcfc6f2
TMP: change syscall gitmodule to fork
2024-07-15 17:20:56 +02:00
4lDO2
93a3401df4
Fix bug causing raise() to not deliver any signals.
2024-07-15 17:20:56 +02:00
4lDO2
13720f59d5
Make signals masked when clear rather than set.
2024-07-15 17:20:56 +02:00
4lDO2
87046b77c7
Compile on aarch64.
2024-07-15 17:20:56 +02:00
4lDO2
c1ce1d76f9
Compile on i686.
2024-07-15 17:20:56 +02:00
4lDO2
5b25e2cda7
Fix excp_handler deadlock.
2024-07-15 17:20:56 +02:00
4lDO2
b94904a660
Use correct addrsp when setting sighandler.
2024-07-15 17:20:56 +02:00
4lDO2
cc406804c0
Don't double-clear is_pending flag.
2024-07-15 17:20:55 +02:00
4lDO2
35aa24800b
Implement correct context sig unblocking behavior.
2024-07-15 17:20:55 +02:00
4lDO2
93f0573b5d
Use improved signal control struct defs.
2024-07-15 17:20:55 +02:00
4lDO2
d6e0eef065
Implement signal delivery code (untested).
2024-07-15 17:20:55 +02:00
4lDO2
9b68d4de80
Fix add_ref(Shared) refcounting bug.
2024-07-15 17:20:55 +02:00
4lDO2
7d5b2e6c21
Prevent infinite userspace crash loops.
2024-07-15 17:20:55 +02:00
4lDO2
55fe58adf6
WIP: implement kill syscall prototype
2024-07-15 17:20:55 +02:00
4lDO2
639ba74a7e
Fix kernel compilation.
2024-07-15 17:20:55 +02:00
4lDO2
295cc820e6
WIP: userspace signal handling
2024-07-15 17:20:55 +02:00
Andrey Turkin
198151a355
Make sure aarch64 kernel doesn't use any FP registers
2024-07-13 12:06:50 +00:00
Andrey Turkin
9c639af217
Fix debug assertion bug
2024-07-12 23:15:33 +03:00
Andrey Turkin
2663873d45
Fix Dtb scheme reads
2024-07-09 09:52:16 +03:00
4lDO2
a80dc4dc9c
Try fixing CI.
2024-06-25 12:58:53 +02:00
4lDO2
c73e2ffecf
Add Makefile.
...
This will both improve CI, and decouple the kernel build script from
cookbook.
2024-06-25 12:46:02 +02:00
Jeremy Soller
15c7e10d52
Implement kreadoff for dtb scheme
2024-06-24 11:57:20 -06:00
4lDO2
d4997150d8
Temporarily suppress some cases of EINVAL for unknown SKMSGs.
2024-06-15 15:12:04 +02:00
4lDO2
6aa5ed020e
Add missing fevent impl for RootScheme.
2024-06-15 12:29:05 +02:00
4lDO2
10714a4659
Make explicit flags optional for SYS_{READ,WRITE}2.
2024-06-14 13:58:10 +02:00
4lDO2
dd8661bcb3
Add debug print for SYS_READ2/SYS_WRITE2.
2024-06-14 13:57:56 +02:00
Jacob Lorentzon
bf0fc66ac1
Improved scheme protocol.
2024-06-14 11:31:51 +00:00
4lDO2
e9ba024aaa
Remove redundant .cargo/config
...
All options are already set by ../recipe.toml, and removing this file
will make Cargo stop complaining about missing -Zbuild-std when for
example compiling RMM for the host arch.
2024-06-10 11:52:59 +02:00
Jeremy Soller
81e6fc70d2
Enable use of MmapMode::Cow
2024-06-05 12:56:29 -06:00
Jeremy Soller
593959a7c3
Allow fp-armv8 in order to compile for aarch64 on new nightly
2024-05-11 14:45:44 -06:00
Jeremy Soller
c9698b5d2d
Update to new nightly
2024-05-11 14:13:41 -06:00
Jeremy Soller
e7d00a8e05
Add driver for arm,gic-v3
2024-05-08 11:24:46 -06:00