4lDO2
f91b90445d
Force userspace to do post-syscall EINTR check.
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
35aa24800b
Implement correct context sig unblocking behavior.
2024-07-15 17:20:55 +02:00
4lDO2
d6e0eef065
Implement signal delivery code (untested).
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
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
7f409d46bf
Fix futex wakeup when CoW has occurred.
2024-04-28 15:17:32 +02:00
Jacob Lorentzon
cd3f937861
Make futex timeout absolute, and properly return ETIMEDOUT
2024-04-05 20:31:03 +00:00
4lDO2
ed075474b0
Fix syscall_debug feature.
2024-03-31 14:40:57 +02:00
4lDO2
12282439b6
Reduce dead code, fix aarch64.
2024-03-23 23:51:12 +01:00
4lDO2
66eb3361d3
Use saved regs instead of costly context.syscall.
2024-03-19 11:33:55 +01:00
4lDO2
4862977fa5
Optimize syscall fast path without tracing.
2024-03-18 20:38:11 +01:00
4lDO2
d62aada7ad
Replace iopl with either empty or full PIO bitmap.
2024-03-18 10:27:51 +01:00
4lDO2
4a3dc2dadd
Fix the SIGKILL fd leak bug.
2024-03-16 17:49:32 +01:00
4lDO2
8e19da338b
Fix kstop and kreset.
2024-03-16 17:49:31 +01:00
4lDO2
57c3119a83
Fix i686 triple fault by always initializing int stack.
2024-03-16 17:49:31 +01:00
4lDO2
776a140212
Fix rax being overwritten, and compile on i686.
2024-03-16 17:49:31 +01:00
4lDO2
239bd317e9
Fix signal ordering wrt syscall return.
2024-03-16 17:49:31 +01:00
4lDO2
6d1e436d29
Remove some dead code.
2024-03-16 17:49:30 +01:00
4lDO2
0cf2ce632a
Only call sig handler in switch, not after EINTR.
2024-03-16 17:49:30 +01:00
4lDO2
5336cbd9e5
Improve signal interfaces and implementation.
2024-03-16 17:49:30 +01:00
bjorn3
ecbc2b7e8d
Directly read the bootstrap entry point from the initfs header
2024-03-11 14:26:08 +01:00
bjorn3
fb66a8628f
Use PAGE_SIZE instead of hard coded constant
2024-03-10 21:39:55 +01:00
bjorn3
616c7d4398
Load the bootstrap blob at 4096 instead of 0
...
This way the NULL page can stay unmapped and the bootstrap code can
avoid UB when reading the initfs header (which is at the start of the
bootstrap code.
2024-03-10 21:14:46 +01:00
4lDO2
1f8d7bc67c
Always check shootdown reqs when locking addrsp.
2024-03-04 19:03:01 +01:00
4lDO2
3a915c7fd5
Fix lock/guard mismatch, move r#move to wrapper.
2024-03-04 19:03:00 +01:00
4lDO2
79381249a2
Implement a TLB shootdown draft.
2024-03-04 19:03:00 +01:00
4lDO2
6bf90f9eee
Build the foundation for TLB shootdown.
2024-03-04 19:03:00 +01:00
4lDO2
156017a25d
Refactor: wrap RwLock<AddrSpace>.
2024-03-04 19:03:00 +01:00
4lDO2
749df4c869
Fail successfully with todo!
2024-03-04 19:03:00 +01:00
Jeremy Soller
15cbb40802
Format
2024-02-28 12:10:17 -07:00
bjorn3
e08eadf64a
Don't pass CallerCtx in file_op_generic
...
It isn't used by any of the callers.
2024-02-25 21:05:21 +01:00
bjorn3
782ec87f27
Fix UB in the locking code of context switching
...
The spin crate considers it UB to call force_write_unlock while there is
a threads trying to obtain a read lock on the same rwlock.
This also switches to the spinning_lot crate for the context rwlock as
it has support for a write guard keeping a reference to the rwlock using
an Arc instead of a reference.
2024-02-25 17:07:41 +01:00
bjorn3
449abb8925
Share bootstrap_mem between all archs
2024-02-25 15:53:04 +01:00
Ron Williams
9331452bdb
Use RedoxPath::as_parts. redox-path from crates.io
2024-02-09 15:05:45 +00:00
Ron Williams
eeee40ae0c
update unlink for new path format
2024-02-01 00:50:33 -08:00
bjorn3
e5c93ae334
Fix some UB and debug assertions
...
The UB has been found by rustc's new UB checks with debug assertions
enabled.
2024-01-24 13:51:20 +01:00
Jeremy Soller
87ee68998c
Handle new path format
2024-01-18 12:35:32 -07:00
Jeremy Soller
45f1c4e29e
Add rustfmt from relibc and apply it with cargo fmt
2024-01-17 13:52:01 -07:00
4lDO2
ee3aafa1d9
Remove PhysBorrowed hacks.
2023-12-15 15:14:40 +01:00
4lDO2
52df9dd1bc
Remove the AddrSpace ref when exiting, not reaping.
2023-12-15 15:14:40 +01:00
4lDO2
eda462fd11
Remove SYS_PHYSMAP.
2023-12-15 15:14:40 +01:00
4lDO2
875a130843
Remove SYS_PHYSALLOC* and SYS_PHYSFREE.
2023-12-15 15:14:40 +01:00
4lDO2
77400f63ee
Add a memory: file for phys-contiguous mmaps.
2023-12-15 15:14:36 +01:00