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
4lDO2
51c4be10e0
Allow waitpid to be interrupted.
2024-07-20 23:17:31 +02:00
4lDO2
005635083d
Fix thread cleanup during active file ops.
...
This fixes a bug where the window of `viewer` does not exit, due to a
leaked file descriptor.
2024-07-20 22:14:54 +02:00
4lDO2
29170ccbc7
Fix sigchld test.
2024-07-18 19:38:47 +02:00
4lDO2
05bde858f9
Fix SIGCONT deadlock.
2024-07-18 16:47:16 +02:00
4lDO2
daa11c911f
Fix syscall debug, more success in sigchld test.
2024-07-18 16:14:07 +02:00
4lDO2
c54195f10d
Ensure process signals can also interrupt.
2024-07-17 17:31:05 +02:00
4lDO2
2d50055dfb
WIP: support thread/process-specific kill.
2024-07-17 15:29:05 +02:00