4lDO2
7def7ce6e3
Extend size of sig{en,de}queue payload.
2024-09-24 19:18:22 +02:00
4lDO2
54b1fbe453
Implement queued signals.
...
This currently needs to be done in the kernel for synchronization
reasons, but it's possible all delivery parts can later be moved to
userspace.
2024-09-24 19:18:22 +02:00
4lDO2
6d9cf30445
WIP: realtime signals
2024-09-24 19:18:20 +02:00
Andrey Turkin
dbbbfcf48a
Update RMM
2024-09-24 19:23:08 +03:00
4lDO2
b485b1b3ea
Update RMM.
2024-09-22 15:22:01 +02:00
4lDO2
960e79b107
Treat broken pipes as IO-capable in fevent.
2024-09-19 10:41:40 +02:00
4lDO2
ce9f699f8f
Add unit tests to CI.
2024-09-17 23:10:36 +02:00
4lDO2
d498eefb2f
Disable userspace feature in redox-syscall.
...
This prevents the kernel from being able to accidentally call itself
using the syscall instruction.
2024-09-17 19:24:26 +02:00
4lDO2
ef499f81fc
Support compiling for host, allowing unit tests.
2024-09-17 19:24:23 +02:00
4lDO2
a0d0eac8aa
Optimally divide responsibility for borrow free.
...
This appears to slightly improve performance.
2024-09-14 10:49:40 +02:00
4lDO2
031fdea089
Discard empty names in root scheme getdents.
2024-09-13 15:26:24 +02:00
4lDO2
97ea7ea6ec
Disable syscall debug
2024-09-12 10:29:11 +02:00
4lDO2
e3e05ebca8
Fix root scheme order by using indexmap (tmp).
2024-09-11 22:09:29 +02:00
4lDO2
97f60de4ef
WIP: Add getdents opaque_id
2024-09-11 22:09:29 +02:00
4lDO2
339271b4d7
Add getdents syscall, and switch schemes to it.
2024-09-11 22:09:26 +02:00
Kamil Koczurek
548fd63264
tsc: calculate elapsed ticks using saturating_sub
...
RDTSC readouts might not actually be monotonically increasing due to
desynchronization between CPU cores, so checked_sub was causing a kernel
panic.
2024-09-10 14:16:38 +02:00
4lDO2
652cdc7ef2
Replace repr(packed) with repr(C, packed).
2024-09-08 20:56:50 +02:00
4lDO2
815ac3da4a
Revert "Fix possible UB in rmm::init."
...
This reverts commit 4626c74b78 .
2024-09-08 20:22:46 +02:00
4lDO2
9673fa26b6
Expand Cargo features to separate lines.
...
This is much more diff- and by extension rebase-friendly.
2024-09-08 00:09:49 +02:00
4lDO2
4626c74b78
Fix possible UB in rmm::init.
...
I tested compiling the kernel with a more recent rustc, and this
triggered UB. Don't know for sure why there was an invalid entry passed
to the kernel, but it did.
2024-09-07 23:14:55 +02:00
Jeremy Soller
0c99e1bd0a
Set xcr0 in all cases
2024-09-06 20:08:40 -06:00
Jeremy Soller
1c00450127
Use 64-bit versions of xsave and xrstor
2024-09-04 21:22:10 -06:00
4lDO2
09e7e66e00
Move scheme borrow unmap to cqe write.
2024-09-04 19:23:21 +02:00
4lDO2
181df19b24
Update rmm
2024-09-04 19:23:19 +02:00
Andrey Turkin
a558860e88
Fix BSS sanity check
...
mark the canaries mutable so they go into data and bss and not in rodata
2024-09-04 10:55:20 +03:00
Andrey Turkin
7a9a5f024f
Validate bootstrap memory allocation
2024-09-04 10:55:16 +03:00
Andrey Turkin
ba154c0387
Fix a debug-build assertion
...
A range of usable memory could be small enough not to have any MAX_ORDER sized frames.
2024-09-04 10:55:11 +03:00
Andrey Turkin
d2ebc7ff05
Wholesale fix of warnings
...
Pretty straightforward changes. This commit tries to avoid making any non-trivial fixes.
2024-09-04 10:55:01 +03:00
Jacob Lorentzon
643d7400db
Implement paravirtualized KVM TSC support
2024-09-03 21:20:06 +00:00
bjorn3
d43eb74da3
Use softfloat abi in the target spec for aarch64
...
This allows removing the -Csoft-float argument when building.
2024-09-03 14:30:11 +00:00
4lDO2
441385ddb2
Always map the kernel itself using global pages.
...
This avoids TLB stalls after context switching, that are very visible
from flamegraphs.
2024-08-31 10:44:54 +02:00
Ron Williams
19cd3ad287
Fix APIC reference in profiling.rs
2024-08-26 21:06:47 -07:00
Ron Williams
12eca4a0f5
Comment out error message for old scheme path
2024-08-26 11:51:01 -07:00
Ron Williams
47799a896d
Don't warn about path for COSMIC apps
2024-08-24 11:49:49 -07:00
bjorn3
0876bed222
Remove a couple of exceptions from the deprecated scheme syntax warning
2024-08-19 19:13:42 +02:00
bjorn3
d4b979fb21
Log a deprecation message for usage of the legacy scheme syntax
2024-08-18 22:05:51 +02:00
Jeremy Soller
5cb6af6b8c
Fix aarch64 build
2024-08-01 13:00:59 -06:00
bjorn3
f55da93b33
Fix building for AArch64
...
I broke this in !321
2024-08-01 20:45:59 +02:00
bjorn3
8f186a692f
Allow writing messages to debug: without preserving them in sys:log
...
This would allow logd to write all received log messages to debug:
without causing an infinite loop when it at the same time reads all
messages in sys:log.
2024-07-25 12:49:43 +02:00
4lDO2
4158d899b5
Probably fix TLB shootdown "diagonal" livelock.
...
Diagonal as in
Thread A Thread B
Send to B Send to A
Wait for B Wait for A.
I haven't reproduced this bug, but this should fix it, since the wait
steps now checks the local percpu block for pending TLB shootdowns onto
itself.
2024-07-24 22:48:56 +02:00
4lDO2
49b94047a8
Fix significant memory leak.
2024-07-24 22:48:56 +02:00
bjorn3
e7a46c3422
Let userspace control when graphical_debug gets disabled
...
Rather than disabling it right before entering userspace. This allows
showing debug messages while the graphics subsystem hasn't initialized
yet.
2024-07-24 20:59:40 +02:00
bjorn3
34cab9edba
Fix typos and call graphical_debug::init_heap on arm64
2024-07-24 18:48:27 +02:00
bjorn3
98c28a3d60
Store a raw pointer in Display for the framebuffer
2024-07-24 17:45:31 +02:00
bjorn3
befd5175bb
Limit visibilities
2024-07-24 17:10:35 +02:00
bjorn3
ebc4aeac85
Enable graphical_debug for aarch64
...
This doesn't give any issues both for UEFI boot (with framebuffer
present) and U-Boot boot (without framebuffer present).
2024-07-24 17:03:29 +02:00
bjorn3
e0855d0cb6
Fix typo
2024-07-22 16:47:35 +02:00
bjorn3
d3ccba0943
Avoid int2ptr cast in DebugDisplay
2024-07-22 14:26:44 +02:00
bjorn3
a89f93ff00
Move all drawing code from Display to DebugDisplay
2024-07-22 14:22:15 +02:00
bjorn3
dc36d18812
Remove unnecessary discard of return value in debug::Writer
2024-07-22 14:15:20 +02:00