Commit Graph

1519 Commits

Author SHA1 Message Date
4lDO2 fa6dee36da Report all being_sigkilled contexts as Dead. 2025-04-19 16:30:47 +02:00
4lDO2 5df7031eb1 Add Interrupt ContextVerb. 2025-04-19 16:30:47 +02:00
4lDO2 ab11e6b346 Support stopping contexts, by procmgr. 2025-04-19 16:30:47 +02:00
4lDO2 2f977bbc52 Support getting intra-page off and mapping sig [tp]ctl. 2025-04-19 16:30:47 +02:00
4lDO2 e002d0be33 Remove commented-out syscalls and SigState.rtqs 2025-04-19 16:30:47 +02:00
4lDO2 cb1a838f05 Start moving kill to procmgr. 2025-04-19 16:30:47 +02:00
4lDO2 d0e09d9e87 Remove SYS_IOPL and SYS_VIRTTOPHYS debug. 2025-04-19 16:30:47 +02:00
4lDO2 ef78ac57b0 Add fd-based virttophys replacement. 2025-04-19 16:30:47 +02:00
4lDO2 b4b2ac312b Add interface for setting iopl. 2025-04-19 16:30:46 +02:00
4lDO2 2815800164 Support reading context status. 2025-04-19 16:30:46 +02:00
4lDO2 7b06ca16b1 Make thread kill API async. 2025-04-19 16:30:46 +02:00
4lDO2 f40ec48b3e Send event on thread death. 2025-04-19 16:30:46 +02:00
4lDO2 db5931504d Remove nonexisted import. 2025-04-19 16:30:46 +02:00
4lDO2 ce77a018ec Reach init again, with proc mgr. 2025-04-19 16:30:46 +02:00
4lDO2 a9fb2dcb93 Simplify proc scheme security. 2025-04-19 16:30:46 +02:00
4lDO2 a78d36f7f2 Reach init in userspace. 2025-04-19 16:30:46 +02:00
4lDO2 6d1a3e9a4c Convert Handle::Context -> Handle. 2025-04-19 16:30:45 +02:00
4lDO2 2a5bd36899 Reimplement context creation. 2025-04-19 16:30:45 +02:00
4lDO2 8883818501 Make kernel compile. 2025-04-19 16:30:45 +02:00
4lDO2 1d5f8fd46d Move proc code to userspace. 2025-04-19 16:30:42 +02:00
Andrey Turkin 1b9fcbf593 riscv: Remove SBI logger
SBI needs a physical address; it used to work before because of the buggy code by sheer chance.
Rather than trying to fix it the right way (find a mapping from virtual to physical both before
and after RMM) let's just throw it away. Serial logger works just fine for the early init logging.
2025-04-19 10:03:35 +03:00
4lDO2 5d41cd7c53 Remove unimplemented itimer scheme. 2025-04-13 18:13:00 +02:00
bjorn3 f5f877ca22 Fix saving and restoring of float registers on arm64 2025-04-12 17:11:04 +02:00
Jeremy Soller a926baefaf aarch64 fp_load/fp_save do not need to be naked
There is a bug with LLVM and Rust causing naked functions to not support
target_enable directives.

https://github.com/rust-lang/rust/issues/136280
2025-04-12 08:14:38 -06:00
Jeremy Soller 0140e2a382 Fix compilation of emergency_stop on x86 2025-04-11 20:55:56 -06:00
4lDO2 f4d643e87c Fixes for netstack cancellation to work. 2025-04-10 19:32:41 +00:00
bjorn3 8f589f7b88 Disable graphical debug only once writing to the fd
This allows obtaining an fd for this before calling setrens while doing
the actual disabling after calling it.
2025-04-06 17:13:26 +02:00
4lDO2 81374e6f7b Add support for CallFlags::CONSUME. 2025-04-06 15:50:32 +02:00
4lDO2 ef5de94150 Use sys scheme for kstop rather than signals. 2025-03-31 14:59:00 +02:00
4lDO2 92fcb4472b Use more reliable triple fault for emerg..._reset. 2025-03-31 14:58:05 +02:00
4lDO2 3ae117b812 Outsource x86 RTC handling to rtcd. 2025-03-30 15:28:25 +02:00
bjorn3 23fd308745 Reduce verbosity of debug logs during booting
A bunch of things are now printed a bit more compactly or without
interleaving of logs on a single line. Also a bunch of not that useful
logs are no longer printed by default at all.
2025-03-15 20:52:06 +01:00
bjorn3 81210b9ed0 Update and re-enable the legacy scheme deprecation warnings
I've tested booting, several cosmic apps and netsurf as not causing any
warning with the new set of exclusions and all my recent MR's merged.
2025-03-13 18:51:37 +01:00
Jacob Lorentzon 4607576006 Implement bidirectional SYS_CALL support 2025-03-03 23:21:56 +00:00
Ron Williams ba613ce628 Nanosleep: Return time remaining after interrupt 2025-02-26 21:00:23 +00:00
Majoneza 06f2c93140 chore: validate_region return PageSpan
Changed validate_region function to return PageSpan instead of a tuple. All the code
using validate_region function was updated to use PageSpan as well.
2025-02-25 23:38:38 +01:00
Vincent Berthier 2da88c18c0 Add the sys:stat scheme 2025-02-22 14:27:10 +00:00
4lDO2 84632ab708 Disable warning when opening "old" schemes. 2025-02-21 16:56:53 +01:00
4lDO2 ef0758b9cc Always use close message when available. 2025-02-21 16:50:16 +01:00
4lDO2 7295777985 Add one-way close message for schemes. 2025-02-21 15:56:05 +01:00
4lDO2 f044ffb03b Remove stable #![feature] and most x86_64 static mut. 2025-02-21 14:16:58 +01:00
4lDO2 09eaf12201 Add optional fdstat sys scheme statistic. 2025-02-19 11:55:18 +01:00
Anhad Singh 79de74bf3a fix(scheme/itimer): wrong chunk size
Chunk size of the scheme (`size_of::<ITimerScheme>() == 0`) was being
provided instead of `size_of::<ITimerSpec>()`. This resulted in a kernel
panic (division by zero) when kread was called for this scheme.

Signed-off-by: Anhad Singh <andypython@protonmail.com>
2025-01-16 03:10:01 +00:00
Jeremy Soller 668a123b9a Switch to naked_asm 2025-01-14 15:59:07 -07:00
Andrey Turkin 7db6667e6b Better parsing of IRQ specifications in DTB
Fixes Raspberry 3B+ DTB parsing (as generated by Qemu)
2024-12-18 21:11:46 +03:00
Andrey Turkin 7f38f51b20 dtb: Apply bus mappings 2024-12-18 21:11:46 +03:00
Zhouqi Jiang 52763e7e70 arch: riscv64: use sbi-rt crate to process SBI calls, save code sizes 2024-12-18 14:06:08 +00:00
Anhad Singh af36ae12b0 fix(mremap): fix referencing
Before it was first add_ref'ed by `borrow_frame_enforce_rw_allocated`,
manually and then by `allocated_shared_one_page`.

Now it is only done by `borrow_frame_enforce_rw_allocated` and does not
get unref-ed as take() is called on the returned `RaiiFrame`.

Now the page is manually mapped and an `Allocated` type grant is
constructed (synonymous to `MAP_PRIVATE`). Before by using `allocated_shared_one_page`
an `AllocatedShared` provided grant was constructed (synonymous to
`MAP_SHARED`), which was wrong as the TCB would've not got CoW-ed
after fork(), making the Tcb malformed.

Signed-off-by: Anhad Singh <andypython@protonmail.com>
2024-12-11 16:37:01 +11:00
Anhad Singh 08231eb4df feat(mremap): KEEP_OLD
Signed-off-by: Anhad Singh <andypython@protonmail.com>
Co-authored-by: @4lDO2
2024-12-11 16:08:08 +11:00
Andrey Turkin 7af6dd1f88 Restore riscv,plic0 compatible check 2024-11-07 05:09:24 +03:00