James
3fbd52a212
Made a change in context to the way arrays are resized. Slight change to the logic but resize_with should be slightly more efficient
2024-10-15 21:24:32 +11:00
Ron Williams
865122e92f
Fix serial console login
2024-10-10 18:45:14 +00:00
4lDO2
8d4ee26ff1
Fix profiling && + toggle support via debug scheme.
2024-10-07 10:20:51 +02:00
4lDO2
ad16b747ea
Restrict auto-fcntl to non-v2 schemes.
2024-09-27 21:36:22 +02:00
IncompententPirate
fc5d246b30
remove wrapper functions
2024-09-26 22:34:55 +00:00
Andrey Turkin
14eb140f7a
Refactor panic stack walking
2024-09-26 19:22:21 +03:00
Andrey Turkin
755694494b
Factor KernelMapper out of arch
...
Same implementation on all the platforms. Also remove mutable Deref as it allowed circumventing RO check
2024-09-25 21:51:39 +03:00
4lDO2
539dc5a24e
Remove SYS_UMASK.
2024-09-25 19:55:39 +02:00
Andrey Turkin
d08861e586
Upgrade fdt library to the very latest
...
The new helpers remove a lot of boilerplace. Unfortunately some rough edges still remain (in particular issue gh#12 which renders interrupts() helper useless)
2024-09-25 06:51:02 +03:00
4lDO2
71538efc06
Allow thread exit to optionally deallocate stack.
2024-09-24 19:18:23 +02:00
4lDO2
9a0192fc94
Prevent duplicate idempotent signals.
2024-09-24 19:18:23 +02:00
4lDO2
fcb2e2be3a
Pass si_uid and si_pid to kill signals.
2024-09-24 19:18:23 +02:00
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
960e79b107
Treat broken pipes as IO-capable in fevent.
2024-09-19 10:41:40 +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
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
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
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
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