Commit Graph

21 Commits

Author SHA1 Message Date
bjorn3 cdede58055 Couple of minor scheme related cleanups 2026-04-16 18:44:07 +02:00
bjorn3 317a0178b6 Introduce scheme-utils crate and HandleMap type
HandleMap deduplicates the id assignment for handles and unlike most
existing implementations handles overflow just fine.
2026-04-13 22:19:07 +02:00
bjorn3 159a09a663 logd: Synchronously log to the kernel debug log
This should not block and ensures that logs will still show up on the
serial port even if one of the log sinks blocks because for example the
graphics driver crashed, taking fbbootlogd with it. In the future we
might want to have a dedicated worker per log sink, but for now this
helps a log with debugging the graphics subsystem in a VM.
2026-03-14 22:38:39 +01:00
Ibuki Omatsu 2738f69224 feat: Implement std_fs_call handling to initfs, ramfs, acpi and xhci 2026-02-28 08:15:16 -07:00
bjorn3 7ebeceb41d init: Allow init to register the scheme for a daemon
Unfortunately the scheme still has to be created by the daemon due to a
kernel bug, but once that is fixed, it would allow delayed spawning of
scheme daemons.
2026-02-18 22:40:09 +01:00
Ibuki Omatsu 334928f151 feat: Introduce userspace namespace manager and adapt all schemes. 2026-01-20 20:56:58 -07:00
bjorn3 96c4775c6c logd: Update to redox-scheme 0.8 2025-12-13 13:08:19 +01:00
bjorn3 f1057b6750 daemon: Abort on errors
All users did this anyway. And handling it inside the daemon crate
allows avoiding a panic of the parent process when the child process
panicked.
2025-12-03 21:55:47 +01:00
bjorn3 54d81e7423 Merge redox-daemon into this repo 2025-12-03 21:07:13 +01:00
Jeremy Soller c560376d24 logd: do not log when ready 2025-11-01 20:33:48 -06:00
bjorn3 8c8aa29468 logd: Avoid echoing back kernel logs to the kernel debug scheme 2025-07-12 17:14:12 +02:00
bjorn3 8f319d4081 logd: Improve implementation of kernel log copying
I hadn't meant to upstream it yet. I accidentally added it in a commit
touching the netstack. In any case this commit integrates the kernel log
copying directly into LogScheme.

The kernel log copying is meant to show the kernel log on the fbbootlogd
rendered bootlog. Even once the kernel graphical debug has been disabled
or if it never got enabled due to the bootloader not presenting a
framebuffer.
2025-07-12 17:14:12 +02:00
bjorn3 afa109c088 logd: Implement backfilling of logs when adding a new sink 2025-07-12 17:14:12 +02:00
bjorn3 a567d87842 logd: Open kernel log inside LogScheme::new.
This allows a future commit to skip writing to the kernel log when
necessary.
2025-07-12 17:13:17 +02:00
bjorn3 2f51590d9f netstack: Merge the redox_netstack lib into smolnetd 2025-06-28 16:18:34 +02:00
bjorn3 fb99ff5fa5 log: Add fixme about backfilling 2025-04-06 20:15:37 +02:00
bjorn3 034d76ffd5 logd: Add api to add new sink sources at runtime
This will allow logd to be started before fbbootlogd.
2025-04-06 19:42:02 +02:00
bjorn3 d20dd30ccf Move logd to redox-scheme 0.5 2025-04-06 19:10:49 +02:00
bjorn3 8286249ff7 Remove unreachable dup impls
Dup calls with an empty path never reach scheme implementations
2025-03-30 17:51:07 +02:00
bjorn3 400371eaf9 logd: Don't block receiving log messages on writing previous ones
This avoid a deadlock when the process logging things is directly or
indirectly involved in receiving them too. Currently there is a
workaround for a part of this problem in fbbootlogd, but doing it
directly in logd is a lot simpler and catches more cases.
2025-03-15 16:23:51 +01:00
bjorn3 daa4622b38 Add 'logd/' from commit 'db36d01782a6b9cc7ec995f884f8c1259d79903e'
git-subtree-dir: logd
git-subtree-mainline: 38c917a56b
git-subtree-split: db36d01782
2025-02-18 21:31:45 +01:00