Commit Graph

1970 Commits

Author SHA1 Message Date
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
4lDO2 3c540efb00 Support sending signals to individual threads. 2024-07-16 22:06:21 +02:00
4lDO2 8de850e7e9 Ensure all threads stop in exit(). 2024-07-16 20:33:37 +02:00
4lDO2 79bbf79656 Fix some proc scheme FIXMEs. 2024-07-16 20:28:17 +02:00
4lDO2 cc465c008b Remove rustc hack. 2024-07-16 19:52:18 +02:00