4lDO2
5abbcd8e34
Send SIGCHLD to parent after child stop/exit.
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
87046b77c7
Compile on aarch64.
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
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
2663873d45
Fix Dtb scheme reads
2024-07-09 09:52:16 +03: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
Jacob Lorentzon
bf0fc66ac1
Improved scheme protocol.
2024-06-14 11:31:51 +00:00
4lDO2
161a92c9c2
Forbid strong fdtbl refs after setting context's.
...
This fixes a possible file table leak if a filetable contains an fd
referring (strongly) to the filetable itself. Now, it will automatically
be downgraded to a weak reference after it becomes a context's active
file table.
TODO: maybe support consuming a context's filetable to get a strong
reference back, provided it's exclusively owned.
2024-04-10 21:49:43 +02:00
4lDO2
68e072aac9
Return correct fevent flags in PipeScheme.
...
This fixes a Cargo deadlock.
2024-04-02 15:04:39 +02:00
4lDO2
12282439b6
Reduce dead code, fix aarch64.
2024-03-23 23:51:12 +01:00
4lDO2
1b3e024f7d
Fix profiling code.
2024-03-23 15:52:18 +01:00
4lDO2
66eb3361d3
Use saved regs instead of costly context.syscall.
2024-03-19 11:33:55 +01:00
4lDO2
4a3dc2dadd
Fix the SIGKILL fd leak bug.
2024-03-16 17:49:32 +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
13bc46a30b
WIP: Implement scheme call cancelation.
2024-03-16 17:49:31 +01:00
4lDO2
6d1e436d29
Remove some dead code.
2024-03-16 17:49:30 +01:00
4lDO2
5ac0be7ec1
Start with full procmask, fix signal delivery.
2024-03-16 17:49:30 +01:00
4lDO2
5336cbd9e5
Improve signal interfaces and implementation.
2024-03-16 17:49:30 +01:00
4lDO2
10256b331c
Ensure only the kernel can return EINTR.
2024-03-16 17:49:26 +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
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
4lDO2
0c6c857012
Improve LogicalCpu{Id,Set}, make set atomic.
...
Technically there should be an atomic and nonatomic set type, but perf
should be the same, as the nonatomic one would only be used when setting
the sched_affinity.
2024-03-04 19:02:56 +01:00
Jeremy Soller
8390277eb2
Fix affinity alignment
2024-02-28 12:10:06 -07:00
bjorn3
96f1a14115
Remove some dead code
2024-02-25 20:06:22 +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
Jeremy Soller
45f1c4e29e
Add rustfmt from relibc and apply it with cargo fmt
2024-01-17 13:52:01 -07:00
Jeremy Soller
73897bd83d
scheme/pipe: allow removing fevent
2024-01-08 16:59:48 -07:00
Jeremy Soller
d18c316012
Add session ID
2024-01-08 14:43:11 -07:00
4lDO2
529c491fa0
Allow disabling profiling at compile time.
2023-12-17 00:49:28 +01:00
4lDO2
fac0e783ef
Refactor profiling code.
2023-12-17 00:49:28 +01:00
4lDO2
99ad6a0a2c
Support toggling profiling.
2023-12-17 00:49:28 +01:00
4lDO2
0f27d55c0a
Advance profiling buffer correctly.
2023-12-17 00:49:28 +01:00
4lDO2
f973bc4128
Profiling
2023-12-17 00:49:24 +01:00
4lDO2
a42e406569
Fix contiguous mmap.
2023-12-15 15:14:40 +01:00
4lDO2
cd19831ffb
Improved options for memory: files.
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
Ivan Tan
ebf96fa843
aarch64: fix dtb scheme
2023-12-14 03:34:37 +00:00
bjorn3
2d065083df
Use HashMap instead of BTreeMap where possible
...
This shrinks the kernel from 905840 bytes to 862408 bytes.
2023-12-13 19:55:20 +01:00
4lDO2
78beae5c92
Fix aarch64
2023-12-13 11:08:12 +01:00
4lDO2
d531c6f1bf
Context switch correctly in UserInner::call.
2023-12-13 11:08:12 +01:00