bjorn3
a5aeea9cfc
rmm: Remove PageMapper::{map,unmap}
...
There is already (un)map_phys.
2026-03-29 14:16:53 +02:00
bjorn3
a876d66648
rmm: Reduce visibility of PageTable methods
...
This disallows direct manipulation of the page tables. Only manipulation
through PageMapper is allowed.
2026-03-29 14:16:53 +02:00
bjorn3
abf710b4a2
Move handling of kernel page table entry copying to RMM
...
This way it can ensure those page table entries never get unmapped,
ensuring they are kept in sync between all processes.
2026-03-29 14:16:53 +02:00
bjorn3
604e1729cb
Rustfmt
2026-03-29 14:16:53 +02:00
bjorn3
882007f827
Remove unused UserSlice::read_u64
...
This fixes a warning. It can always be re-introduced if we ever need it.
2026-03-29 14:16:36 +02:00
bjorn3
f5aff74fc9
Explicitly ignore field of PageQueueEntry::Other
...
This fixes a warning
2026-03-29 14:16:35 +02:00
bjorn3
b5603422be
Check at compile time that KernelMapper is writable if necessary
2026-03-28 23:22:19 +01:00
bjorn3
f8d93023dd
Fix a couple of warnings
2026-03-28 17:07:33 +01:00
Philipp Bartsch
5865ec0790
/scheme/sys/cpu: Add aarch64 feature detection
...
This only lists features from ID_AA64ISAR0_EL1 and ID_AA64ISAR1_EL1.
For other features one would have to evaluate more registers.
2026-03-26 22:15:03 +01:00
Philipp Bartsch
2d5e2b39f5
Drop extra debug print
2026-03-26 00:49:33 +01:00
Philipp Bartsch
a60cc25015
Update aarch64 implementers list
...
Two vendors were missing compared to ARM's official list.
https://developer.arm.com/documentation/ddi0601/2025-12/AArch64-Registers/MIDR-EL1--Main-ID-Register
2026-03-26 00:49:11 +01:00
Ron Williams
fde164b2a0
Revert "Deficit based Weighted Round Robin Scheduler"
...
This reverts commit b7dabfc3c2 .
2026-03-22 18:44:41 +00:00
Akshit Gaur
b7dabfc3c2
Deficit based Weighted Round Robin Scheduler
2026-03-22 07:00:31 -06:00
Wildan M
d317f84cd4
Change uname to kernel commit, Fix CI build
2026-03-17 17:51:29 +07:00
Connor-GH
d81ba0645b
/scheme/sys/uname: use commit hash instead of time for reproducibility
2026-03-15 17:21:46 -05:00
Connor-GH
ea47151757
/scheme/sys/uname: include the "version" info
...
With this change, we use the recently-added `COOKBOOK_TIME_IDENT`
environment variable at compile time to get the "version" info for the
uname scheme. This field is unspecified by POSIX what it should have,
but most kernels (including Linux, XNU, NetBSD, etc.) put the build
time here.
2026-03-15 15:53:02 -05:00
Wildan M
44b6a58032
Add more context to deadlock debug messages
2026-03-14 08:49:40 -06:00
Ibuki.O
3934ea454d
feat: Implement translation of std_fs_call to each function
2026-03-14 11:37:07 +09:00
Connor-GH
8f468ec106
syscall: remove comment about test vs bt x86 instructions
...
According to Agner Fog's documentation
(https://agner.org/optimize/instruction_tables.pdf ), the following information
is true:
These instructions have identical latency and throughput, except for Zen
5, which lists `test` as having reciprocal throughput of 0.25 cycles,
and `bt` having reciprocal throughput of 0.33 cycles. This rules out the
`bt` instruction for being the ideal instruction.
The other `test` instructions were removed as candidates because,
regardless of the size of the memory fetched at the address, at least 64
bytes will need to be fetched because it will be stored in the cache
line. The WORD and DWORD cases can be ruled out because we cannot assume
that `rsp + 16` or `rsp + 17` will not be on a 64-byte alignment
boundary, which would cause two cachelines to be essentially filled with
garbage we don't care about. The best case scenario is that we only need
to fill one cache line with garbage, which is what the BYTE version does
every time.
2026-03-12 09:41:29 -05:00
Wildan M
84754dfc5d
Solve borrow checking by downgrading waitqueue lock
2026-03-11 09:42:06 +07:00
Wildan M
f07725682f
Add ordered lock for WaitQueue mutex without solving borrow check
2026-03-11 09:24:45 +07:00
Wildan M
60573e24f3
Solve borrow checking by downgrading condition.wait lock
2026-03-11 09:07:52 +07:00
Wildan M
046c8ced0d
Add lock token to pipe queue without solving borrow checker
2026-03-11 08:12:07 +07:00
Wildan M
7ebb5f2a3d
Solve borrow checking by downgrading locks
2026-03-11 08:00:48 +07:00
Wildan M
44f2214971
Partially solve borrow checking with WaitQueue
2026-03-11 07:27:21 +07:00
Wildan M
771ebdb39f
Partially solve borrow checking with PreemptGuard L1
2026-03-11 06:34:37 +07:00
Wildan M
73c2df9e33
Add lock token to user states, without solving borrow check
2026-03-10 23:56:15 +07:00
Wildan M
eeb03bdcb1
Revert "Add ordered lock for WaitQueue mutex"
...
This reverts commit 735c68ec30 .
2026-03-10 12:11:09 +07:00
Wildan M
d5ed9d8007
Optimize context spawn and init
2026-03-10 05:59:35 +07:00
Wildan M
c4e86bfffd
Change time offset to RwLock
2026-03-10 05:58:26 +07:00
Wildan M
7fa253cf6a
Add deadlock detection
2026-03-09 16:32:11 +07:00
Wildan M
6307446ede
Solve borrow rules to LockedFdTbl
2026-03-09 15:57:38 +07:00
Wildan M
8412321568
Add lock token to FdTbl without borrow check
2026-03-09 13:12:19 +07:00
Wildan M
206f82709a
Demote LockedFileDescription to solve borrow rules
2026-03-09 12:29:24 +07:00
Wildan M
8f270795da
Partialy solve borrow checking
2026-03-09 11:47:07 +07:00
Wildan M
f40b84a5cc
Add lock token to FileDescription, without borrow check
2026-03-09 11:23:51 +07:00
bjorn3
6085c8935c
Remove unused WaitQueue::receive method
2026-03-07 21:44:29 +01:00
bjorn3
6a10af6f77
Fully remove the broken support for unmounting schemes
...
It has been broken since we moved namespaces into userspace. Fixing it
can be done entirely inside userspace. Either by introducing a SYS_CALL
for the root capability or by treating closing the last fd as unmount.
2026-03-07 21:42:46 +01:00
Wildan M
fd9c651410
Do not allocate on unneeded Vec
2026-03-07 09:15:20 -07:00
Wildan M
547722767a
Optimize sys/stat a bit
2026-03-07 20:42:25 +07:00
Wildan M
a5adc0cc69
Avoid heap allocation on event
2026-03-07 06:33:52 -07:00
bjorn3
4ccc521156
Show grant flags in the debugger
2026-03-07 12:19:40 +01:00
bjorn3
ea847f428f
Fix compilation with the debugger feature enabled
2026-03-07 12:19:24 +01:00
auronandace
4c734e461a
prefer saturating methods over direct arithetic
2026-03-05 10:58:45 +00:00
auronandace
fc6ffd59ff
avoid direct indexing in MemoryMap register function
2026-03-03 17:22:44 +00:00
auronandace
14b8c2b0c1
enforce two lints and collapse some ifs
2026-03-03 14:51:32 +00:00
auronandace
f0f158e5d6
eliminate 2 unwraps in syscall fs
2026-03-02 17:11:51 -07:00
auronandace
f7b0f5ec37
eliminate an unwrap in gdt for x86_shared
2026-03-02 10:56:28 +00:00
Ibuki Omatsu
4faa1bad45
feat: Implment std_fs_call kfstatvfs handling to memory scheme
2026-02-28 08:06:47 -07:00
Marsman
507d899587
fix: validate timespec in nanosleep
2026-02-28 07:02:30 +00:00