4lDO2
8f234edf69
Fix riscv64 fork asm.
2025-04-19 19:27:04 +02:00
4lDO2
2fe8dc8f6e
Add (untested) riscv64 sighandler SYS_CALL asm.
2025-04-19 19:27:03 +02:00
4lDO2
aa034fccc8
Compile on riscv64gc.
2025-04-19 19:27:03 +02:00
4lDO2
0083043736
Write and fix waitpid_multiple test.
2025-04-19 19:27:02 +02:00
4lDO2
a293b02992
Fix aarch64 signal test.
2025-04-19 19:27:02 +02:00
4lDO2
403beeb9f6
Fix sigqueue test for aarch64.
2025-04-19 19:27:02 +02:00
4lDO2
d559450d69
Use abort() rather than unreachable! when exit fails.
2025-04-19 19:27:02 +02:00
4lDO2
1c6b3ad78b
Fix aarch64 child_hook.
2025-04-19 19:27:01 +02:00
4lDO2
fb8e3cd751
Fix sigqueue on i686.
2025-04-19 19:27:01 +02:00
4lDO2
05481b36a6
Fix IPC size on i686.
2025-04-19 19:27:01 +02:00
4lDO2
2fbbdcc1c9
Aarch64 fix, make i686 compile.
2025-04-19 19:27:01 +02:00
4lDO2
0213ac2d15
Probably fix aarch.
...
Bootloader is currently panicking so a bit hard to test.
2025-04-19 19:27:01 +02:00
4lDO2
c773544906
Fix sigentry for realtime sigs, fixing sigqueue test.
2025-04-19 19:27:01 +02:00
4lDO2
f813f5a222
Fix sigtimedwait realtime signals, almost handler too.
2025-04-19 19:27:01 +02:00
4lDO2
ac7e0755f1
Fix SyncSigPctl invocation.
2025-04-19 19:26:59 +02:00
4lDO2
ad5efd0f11
Reach init fork
2025-04-19 19:26:57 +02:00
4lDO2
26399569de
Reach init w/proc manager.
2025-04-19 19:26:57 +02:00
4lDO2
b851422214
WIP: use proc manager in non-init fork.
2025-04-19 19:26:57 +02:00
bjorn3
facc643e18
Couple of misc improvements
...
Fix a bunch of warnings and clarify that execve will never return Ok by
using Infallible
2025-03-30 20:18:01 +02:00
Andrey Turkin
a4122753e6
Initial RISC-V64 support
2024-10-11 06:44:54 +03:00
4lDO2
79e1550215
Use only sig & 63 when checking SA_ONSTACK.
2024-09-24 19:34:53 +02:00
4lDO2
21d23092cd
Mostly fix i686.
2024-09-24 19:34:52 +02:00
4lDO2
e82ced6e4e
Fix non-edge-case signal handling on aarch64.
2024-09-24 19:34:52 +02:00
4lDO2
d6396cb4e8
Probably complete aarch64 asm.
...
It contains all signal logic x86_64 already has, although statistically
it will certainly have a few errors.
2024-09-24 19:34:52 +02:00
4lDO2
9a7cfaeaf1
Simplify aarch64 asm slightly.
2024-09-24 19:34:52 +02:00
4lDO2
e860a19e8f
WIP: Update i686 signal asm.
2024-09-24 19:34:52 +02:00
4lDO2
09108634cf
Set uc_stack properly.
...
POSIX does not appear to explicitly mention that this should be the
sigaltstack, but other Linux appears to treat it as the sigaltstack.
2024-09-24 19:34:52 +02:00
4lDO2
30caf55429
Set siginfo_t.si_{pid,uid} from kill signals too.
2024-09-24 19:34:51 +02:00
4lDO2
e5136e66c1
Draft of updated aarch64 signal trampoline.
2024-09-24 19:34:51 +02:00
4lDO2
d0db6a1ce0
Fix i686.
2024-09-24 19:34:51 +02:00
4lDO2
f6761407e5
Pass si_pid to all realtime signals.
2024-09-24 19:34:51 +02:00
4lDO2
6fe7c264f6
Pass si_code to siginfo_t struct.
2024-09-24 19:34:51 +02:00
4lDO2
cce268afbf
Pass old stack pointer in uc_stack.
2024-09-24 19:34:51 +02:00
4lDO2
cdae79c129
Fix i686 compilation.
2024-09-24 19:34:51 +02:00
4lDO2
abc2ec7bb5
Add prototype ucontext_t support.
2024-09-24 19:34:51 +02:00
4lDO2
b48da5622d
Add rtsig to i686 trampoline too.
2024-09-24 19:34:50 +02:00
4lDO2
13e7b77643
Implement basic support for (kernel) rt signals.
2024-09-24 19:34:50 +02:00
4lDO2
933b447c7a
redox-rt: fix i686 pctl pending offset
2024-08-29 14:11:52 +02:00
4lDO2
5f62c30539
Update aarch64's child_hook.
2024-07-20 22:18:25 +02:00
4lDO2
f7d9f4e21e
Fix infinite loop & spurious signals for i686.
2024-07-20 19:41:04 +02:00
4lDO2
b71c34dd2d
Fix i686 fork.
2024-07-20 14:42:51 +02:00
4lDO2
35c9485701
WIP: Implement process signals for i686 trampoline.
2024-07-20 13:01:30 +02:00
4lDO2
232f6e9ade
Fix hardcoding of SUPPORTS_AVX.
2024-07-19 18:44:21 +02:00
4lDO2
44ec1676ae
Activate new threads' TCBs early.
2024-07-18 23:59:48 +02:00
4lDO2
6dd9332af2
WIP: Handle spurious signals properly.
...
These can occur in the following scenario:
- thread 1 has blocked signal A
- thread 2 has not blocked signal A
- signal A is sent to a process with thread 1 and thread 2
- thread 1 is simultaneously unblocking signal A, and thus jumps to the
trampoline
- thread 2 is awoken, but thread 1 won the "fetch_andn" to clear the
signal bit.
If the signal asm is jumped to automatically after each timer interrupt,
this scenario will also be relatively common due to that.
2024-07-18 23:59:48 +02:00
4lDO2
ff7eace6a7
Obtain offset of sig pctl more sanely.
2024-07-18 23:59:48 +02:00
4lDO2
4354bc94e8
Fix process-targeted signals.
2024-07-18 23:59:47 +02:00
4lDO2
15cdc4e0aa
Fix (modified) audiod.
2024-07-18 23:59:47 +02:00
4lDO2
d00ec085e1
WIP: Support receiving process-targeted signals.
2024-07-18 23:59:47 +02:00
4lDO2
c286dd6d33
Use new-thread proc API
2024-07-18 23:59:47 +02:00