Jeremy Soller
e4e55103ad
Remove old aarch64 asm code
2024-10-29 07:59:12 -06:00
Arthur Paulino
ea0356b26a
Address minor warts
...
* Mention the need to have `nasm` available on the PATH in the README
* Replace the deprecated `hide_parse_errors` by `show_parse_errors` in `rustfmt.toml`
* Mark unused variables in `src/scheme/proc.rs`
2024-10-27 18:14:12 -03:00
Andrey Turkin
8dcf850919
Update rmm
2024-10-23 04:06:26 +03:00
Andrey Turkin
505425bec9
Expose riscv64/aarch64 legacy irqs (requiring remapping) to the irq scheme
2024-10-22 20:26:40 +03:00
Andrey Turkin
cba02a26fa
Rework irqchip to support risc-v irqs, and add risc-v irq chips handling
2024-10-22 19:16:21 +03:00
Andrey Turkin
906259c024
Pull irqchip from aarch64 code into more generic place
2024-10-21 19:56:32 +03:00
Jeremy Soller
6a731d0c84
Delete syscall directory
2024-10-20 07:31:35 -06:00
Andrey Turkin
1921c6814b
Initial RISC-V implementation
...
Has no IRQ handling yet
2024-10-20 16:24:21 +03:00
Andrey Turkin
db32f5f7a3
Move some conditionally compiled code from common files into arch-gated files
2024-10-19 21:59:14 +03:00
Andrey Turkin
55041e2eeb
Use a custom config flag to conditionally compile DTB-specific areas
...
Would be great if we could use a feature instead, but Cargo can't do target-specific defaults features
2024-10-19 21:03:43 +03:00
Andrey Turkin
0a6a90415a
Refactor initial memory paging
2024-10-19 08:44:46 +03:00
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
0965c1e22b
Allow aarch64 test to fail.
2024-10-07 10:20:51 +02:00
4lDO2
8d4ee26ff1
Fix profiling && + toggle support via debug scheme.
2024-10-07 10:20:51 +02:00
Dmitry Mottl
dc1ba28f91
Updates .helix config to the new file format
2024-10-01 14:36:11 +00: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
32e114885b
Update RMM.
2024-09-24 19:33:27 +02:00
4lDO2
0a3ce63d40
Update syscall
2024-09-24 19:18:23 +02: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
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