Wildan M
14349d1649
Propagate ordered lock of event trigger
2026-02-25 11:42:31 +07:00
Wildan M
3c2b1a11c5
Add ordered lock for time offset mutex
2026-02-25 11:42:17 +07:00
auronandace
7770a9452c
avoid direct indexing futexes
2026-02-23 11:57:28 +00:00
auronandace
aeb75d577f
add assert to ensure both arrays are equal length
2026-02-21 20:37:08 +00:00
auronandace
8689e31674
remove an instance of direct indexing
2026-02-21 15:28:55 +00:00
auronandace
df469ddcb3
apply is_multiple_of lint
2026-02-21 08:39:26 +00:00
Jeremy Soller
934162f35a
Implement stdfscall
2026-02-11 12:12:49 -07:00
bjorn3
e14a20aae2
Mark two functions as private
2026-02-07 12:59:24 +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
Jeremy Soller
2055a205f1
Remove legacy path message
2026-01-29 10:12:04 -07:00
Ibuki Omatsu
5ac00f5533
Remove namespace management from the kernel.
2026-01-20 20:43:34 -07:00
Anhad Singh
a245e49e75
fix(syscalls/futex): premature timeout
...
Previously, if a futex with a timeout was woken up (even via
`futex_wake`), it was treated as though the timeout had expired. When
the timeout expires, the scheduler sets `wake` to `None` and unblocks
the process. Hence if `wake` is `None` and if a timeout was given to
futex, it has expired. Otherwise the process was woken up by
`futex_wake`.
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2026-01-07 14:45:01 +11:00
Ibuki Omatsu
e30ed9ab6a
Introduce syscall6. Add unlinkat and remove unlink and rmdir.
2025-12-17 18:31:04 -07:00
bjorn3
c089667ade
Remove support for the legacy packet user schemes
2025-12-13 15:52:30 +01:00
bjorn3
3bf880e008
Correctly handle MAP_FIXED with a zero address
2025-12-09 23:09:19 +01:00
Jeremy Soller
91ba44e2fa
Implement F_DUPFD_CLOEXEC
2025-11-17 17:40:39 -07:00
Jeremy Soller
64ea4251ee
Debug SYS_MREMAP
2025-11-13 15:55:02 -07:00
Jeremy Soller
e6edef2d8e
Downgrade addrspace outside futex loop
2025-11-12 10:34:18 -07:00
Jeremy Soller
7834392dba
Use hashmap for futex
2025-11-12 08:03:24 -07:00
Jeremy Soller
c3437ab6eb
Ignore any opens with event: or time:
2025-11-06 09:15:52 -07:00
Jeremy Soller
aa50069e15
Remove unnecessary log
2025-11-01 20:49:06 -06:00
Jeremy Soller
91b835d29f
Reduce logging significantly
2025-11-01 20:24:11 -06:00
Speedy_Lex
0931a7f49f
Resolve a huge portion of the clippy lints
2025-10-06 06:30:23 -06:00
bjorn3
4c85131e36
Always take syscall_head/tail into account during the integrity check
...
Previously it wouldn't be taken into account if currently used by the
kernel.
2025-09-26 23:28:01 +02:00
Jeremy Soller
5dc6f7c3ba
lock ordering
2025-09-22 07:48:48 -06:00
bjorn3
4884d749af
Make PercpuBlock const constructable
2025-09-15 19:00:03 +02: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
fe1c2f460e
Fix a bunch of errors and warnings after moving to the 2024 edition
2025-09-10 16:44:36 +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
bjorn3
48f3592bf3
Mostly use cfg!() rather than #[cfg] for controlling syscall_debug
...
This only adds 40 bytes overhead per cpu core in the PerCpuBlock struct.
2025-09-07 12:38:57 +02:00
Wildan Mubarok
1ff46c8482
Fix Linter CI
2025-08-04 06:34:31 -06: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
Darley Barreto
66ea2b46ee
Adding openat syscall
2025-07-13 06:43:20 -06:00
bjorn3
2a2139c46e
Fix a couple of warnings
2025-06-28 19:37:56 +02:00
Jeremy Soller
5b88d1a845
Debug using pid
2025-06-13 20:26:35 -06:00
Jeremy Soller
d712ff5158
Add flink
2025-05-03 12:25:46 -06: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
ab11e6b346
Support stopping contexts, by procmgr.
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
cb1a838f05
Start moving kill to procmgr.
2025-04-19 16:30:47 +02:00
4lDO2
d0e09d9e87
Remove SYS_IOPL and SYS_VIRTTOPHYS debug.
2025-04-19 16:30:47 +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
db5931504d
Remove nonexisted import.
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
8883818501
Make kernel compile.
2025-04-19 16:30:45 +02:00