Wildan M
c72e0a67f9
Prevent drop on AddrSpace
2026-02-27 10:47:45 +07:00
auronandace
df469ddcb3
apply is_multiple_of lint
2026-02-21 08:39:26 +00:00
bjorn3
f334e760bb
Remove ens field from Context
...
It is no longer used due to the capability rework.
2026-02-06 22:00:18 +01:00
bjorn3
7ff1898765
Fix a couple of warnings
2026-02-06 20:54:42 +01:00
bjorn3
6ddd0a9098
Replace scheme::schemes() with scheme::get_scheme()
...
We never need to iterate over all schemes. We only ever need to access
individual schemes.
2026-02-06 20:54:42 +01:00
Ibuki Omatsu
5ac00f5533
Remove namespace management from the kernel.
2026-01-20 20:43:34 -07:00
Ibuki Omatsu
e30ed9ab6a
Introduce syscall6. Add unlinkat and remove unlink and rmdir.
2025-12-17 18:31:04 -07:00
bjorn3
3bf880e008
Correctly handle MAP_FIXED with a zero address
2025-12-09 23:09:19 +01:00
bjorn3
5a11067f10
Support non-fixed and anonymous remote mmap
2025-12-09 20:55:19 +01:00
bjorn3
58a362844a
Add a binary variant for the filetable read operation
...
This is a lot easier to parse in no_alloc scenarios than the current
textual format. This would help with moving the cloexec handling from
relibc to redox-rt.
2025-12-08 21:55:03 +01:00
Jeremy Soller
2d9f2015d0
Add upper table fds to kernel.proc filetable
2025-11-14 15:06:37 -07:00
Jeremy Soller
cbea1aca3d
Implement kfpath on more schemes
2025-11-14 11:36:49 -07:00
bjorn3
65273ea898
Replace all Arc::try_new with Arc::new
...
The global allocator panics when out of memory rather than returning an
errors. In addition there are plenty of other places where we don't
handle allocation failure anyway. At some point in the future we should
systematically handle out of memory conditions, but until then let's not
pretend we do and get rid of the usage of the unstable allocator_api
feature that is unlikely to get stabilized any time soon.
2025-10-26 12:44:52 -06:00
Speedy_Lex
0931a7f49f
Resolve a huge portion of the clippy lints
2025-10-06 06:30:23 -06:00
bjorn3
db5e6184af
Remove unnecessary add_ref in ProcScheme::kfmap
...
Grant::allocated_shared_one_page already adds a reference. This fixes a
memory leak
2025-09-27 19:44:26 +02:00
bjorn3
cd761ee679
Handle all cases in foreach_addrsp
2025-09-26 23:28:01 +02:00
Jeremy Soller
5dc6f7c3ba
lock ordering
2025-09-22 07:48:48 -06:00
Elle Rhumsaa
8255e74ffd
fixup: scheme: remove unnecessary braces
...
Removes unnecessary braces to fix compilation error.
Signed-off-by: Elle Rhumsaa <elle@weathered-steel.dev >
2025-09-19 06:43:19 -06:00
bjorn3
5a6117b5ae
Replace the log crate with a custom logging system
...
This avoids the need to explicitly set a logger early during boot, which
reduces the amount of moving parts that could go wrong slightly. And it
cuts the kernel image size by 13kb.
2025-09-13 18:55:16 +02:00
Jeremy Soller
8a2aa411e2
Explicitly scope all locks, fixing multi_core hangs. Allow contexts on any CPU
2025-09-13 10:10:07 -06:00
bjorn3
da6f7adb42
Use HashMap rather than BTreeMap for scheme handles
...
According to the comments this previously wasn't done due to hashbrown
not having a const constructor. While it is true that HashMap::new() is
not const, HashMap::with_hasher() is const. HashMap::new() becoming
const is likely blocked on const traits.
This shrinks the kernel image by about 35kb.
2025-09-13 12:00:37 +02:00
bjorn3
cea93f7647
cargo fix --edition & rustfmt
...
Or to be precise:
RUST_TARGET_PATH=$(pwd)/targets cargo fix --edition \
--target targets/x86_64-unknown-kernel.json \
--target targets/i686-unknown-kernel.json \
--target targets/aarch64-unknown-kernel.json \
--target targets/riscv64-unknown-kernel.json \
-Zbuild-std=core,alloc --allow-dirty --bin kernel
cargo fmt
2025-09-10 16:44:36 +02:00
4lDO2
dd366f01c4
Make ForceKilled meaningful, += Dead && SIGKILL.
2025-09-10 13:22:29 +02:00
Ibuki Omatsu
e3d8ae1b79
feat: Introduce FdTbl and make Context.files use it for separate file tables.
2025-07-30 15:33:06 -06:00
bjorn3
2a2139c46e
Fix a couple of warnings
2025-06-28 19:37:56 +02:00
4lDO2
9be617132a
Fix 'sys:exe' as required by libstd.
2025-04-20 14:09:31 +02:00
4lDO2
1e3e961b78
Simplify context debug names.
2025-04-19 16:30:49 +02:00
4lDO2
2e6122bc7e
Allow procmgr to recognize unhandled exceptions.
2025-04-19 16:30:48 +02:00
4lDO2
f3af1be69f
Never return from ForceKill caller.
2025-04-19 16:30:48 +02:00
4lDO2
3a17f50ea8
Remove ContextHandle::Signal.
2025-04-19 16:30:47 +02:00
4lDO2
fa6dee36da
Report all being_sigkilled contexts as Dead.
2025-04-19 16:30:47 +02:00
4lDO2
5df7031eb1
Add Interrupt ContextVerb.
2025-04-19 16:30:47 +02:00
4lDO2
ab11e6b346
Support stopping contexts, by procmgr.
2025-04-19 16:30:47 +02:00
4lDO2
2f977bbc52
Support getting intra-page off and mapping sig [tp]ctl.
2025-04-19 16:30:47 +02:00
4lDO2
e002d0be33
Remove commented-out syscalls and SigState.rtqs
2025-04-19 16:30:47 +02:00
4lDO2
b4b2ac312b
Add interface for setting iopl.
2025-04-19 16:30:46 +02:00
4lDO2
2815800164
Support reading context status.
2025-04-19 16:30:46 +02:00
4lDO2
7b06ca16b1
Make thread kill API async.
2025-04-19 16:30:46 +02:00
4lDO2
f40ec48b3e
Send event on thread death.
2025-04-19 16:30:46 +02:00
4lDO2
ce77a018ec
Reach init again, with proc mgr.
2025-04-19 16:30:46 +02:00
4lDO2
a9fb2dcb93
Simplify proc scheme security.
2025-04-19 16:30:46 +02:00
4lDO2
a78d36f7f2
Reach init in userspace.
2025-04-19 16:30:46 +02:00
4lDO2
6d1a3e9a4c
Convert Handle::Context -> Handle.
2025-04-19 16:30:45 +02:00
4lDO2
2a5bd36899
Reimplement context creation.
2025-04-19 16:30:45 +02:00
4lDO2
8883818501
Make kernel compile.
2025-04-19 16:30:45 +02:00
4lDO2
1d5f8fd46d
Move proc code to userspace.
2025-04-19 16:30:42 +02:00
Majoneza
06f2c93140
chore: validate_region return PageSpan
...
Changed validate_region function to return PageSpan instead of a tuple. All the code
using validate_region function was updated to use PageSpan as well.
2025-02-25 23:38:38 +01:00
Arthur Paulino
ea0356b26a
Address minor warts
...
* Mention the need to have `nasm` available on the PATH in the README
* Replace the deprecated `hide_parse_errors` by `show_parse_errors` in `rustfmt.toml`
* Mark unused variables in `src/scheme/proc.rs`
2024-10-27 18:14:12 -03:00
Andrey Turkin
db32f5f7a3
Move some conditionally compiled code from common files into arch-gated files
2024-10-19 21:59:14 +03:00
Andrey Turkin
55041e2eeb
Use a custom config flag to conditionally compile DTB-specific areas
...
Would be great if we could use a feature instead, but Cargo can't do target-specific defaults features
2024-10-19 21:03:43 +03:00