Commit Graph

3234 Commits

Author SHA1 Message Date
Red Bear OS 75f6cf902d bootstrap: restore upstream exec.rs from commit 372b200f
Our Red Bear patches had reverted the userspace fd allocation refactor
(commit 372b200f) in exec.rs. This caused FD tracking mismatches
between the userspace FILETABLE and the kernel fd table, resulting in
EEXIST errors and fork failures.

Restored the upstream version which correctly uses redox_rt::sys::*
functions (openat, dup, sys_call_ro) that go through the FILETABLE,
and openat_into_upper for pre-init FD allocation. Also includes the
filetable_binary_fd setup and same_process flag in ExtraInfo.
2026-07-11 17:23:29 +03:00
Red Bear OS aedc416f0c bootstrap: fix FD allocation to match upstream userspace fd model
The bootstrap's start.rs used libredox::call::openat which resolved to
the bootstrap's own redox_openat_v1 in initfs.rs, calling syscall::openat
(SYS_OPENAT). This let the kernel allocate POSIX FDs 0,1,2 for
stdin/stdout/stderr, but the userspace FILETABLE was never updated.

Later, exec.rs called auth.dup(b'cur-context') via redox_rt::sys::dup,
which asked the empty FILETABLE for a free slot (returning 0), then
passed it to SYS_DUP_INTO. The kernel rejected it with EEXIST because
posix_fdtbl[0] was already occupied by stdin.

Fix: use syscall::openat_into to directly specify FD slots 0,1,2 in
start.rs, and use syscall::dup_into with a computed FD index for
cur-context in exec.rs. Both bypass the FILETABLE, which is only
populated later by redox_rt::initialize_freestanding.
2026-07-11 17:02:37 +03:00
Red Bear OS f4c7552767 bootstrap: fix refutable pattern for Option<FexecResult> 2026-07-11 14:21:59 +03:00
Red Bear OS 479138d02f bootstrap: adapt to upstream redox-rt API changes
- ExtraInfo now requires filetable_fd and same_process fields
- fexec_impl now returns Option<FexecResult>
2026-07-11 14:13:50 +03:00
Red Bear OS 979b5fa55c base: update Cargo.lock 2026-07-11 12:02:49 +03:00
Red Bear OS bd595851e2 base: apply Red Bear patches on latest upstream/main
251 files: init, acpid, ipcd, netcfg, ihdgd, virtio-gpud, scheme-utils,
inputd, block driver, ptyd, ramfs, randd, initfs bootstrap, path deps,
version +rb0.3.1, author attribution
2026-07-11 11:39:24 +03:00
Jeremy Soller 1b17b3fc24 Merge branch 'pty-redoxer' into 'main'
redoxerd: Proper pty init

See merge request redox-os/base!303
2026-07-10 17:35:02 -06:00
Wildan M eb48b04b54 redoxerd: Proper pty init 2026-07-10 11:22:55 +07:00
Jeremy Soller 9e12870329 Remove unused redox-rt from Cargo.toml, it is defined in bootstrap/Cargo.toml 2026-07-09 13:09:02 -06:00
Jeremy Soller 9a855b3c43 Merge branch 'main' into 'main'
ptyd: add documentation for the `pty' scheme's resources

See merge request redox-os/base!302
2026-07-08 16:30:43 -06:00
Connor-GH 46965493a0 ptyd: add documentation for the `pty' scheme's resources 2026-07-08 13:13:06 -05:00
Jeremy Soller 3e5007b3d8 Merge branch 'main' into 'main'
ptyd: implement tcflush, tcdrain, and tcsendbreak

See merge request redox-os/base!301
2026-07-07 16:55:01 -06:00
Connor-GH cc03dca2c8 ptyd: implement tcflush, tcdrain, and tcsendbreak 2026-07-07 16:43:18 -05:00
Jeremy Soller 2e702052f9 Merge branch 'cwd-boot' into 'main'
init: Change cwd to `/` at boot

See merge request redox-os/base!289
2026-07-06 05:42:20 -06:00
Wildan M f80b51411b init: Change cwd to / at boot 2026-07-06 05:17:35 +07:00
Jeremy Soller ae1538c27e Merge branch 'path-update' into 'main'
Update redox-path to relax canonical path requirement

See merge request redox-os/base!300
2026-07-05 10:54:36 -06:00
Jeremy Soller a2f68597c2 Merge branch 'raspi-fix' into 'main'
randd: Fix ARM hardware seed detection, raspi: Fix bcm driver init

See merge request redox-os/base!299
2026-07-05 05:44:14 -06:00
Wildan M 4692e32455 Update redox-path to relax canonical path requirement 2026-07-05 18:03:54 +07:00
Wildan M 572561035b raspi: Fix bcm driver init 2026-07-05 11:08:50 +07:00
Wildan M d75260e0d8 randd: Fix ARM hardware seed detection 2026-07-05 11:07:37 +07:00
Jeremy Soller 2878a22564 Merge branch 'fix_fbcond_enter' into 'main'
Fix enter key in fbcond

See merge request redox-os/base!297
2026-07-03 06:01:44 -06:00
bjorn3 d1b51888b6 Fix enter key in fbcond 2026-07-02 19:57:52 +02:00
Jeremy Soller 5238db02b0 Merge branch 'gpu_drm45' into 'main'
drivers/graphics/driver-graphics: Implement cursor planes

See merge request redox-os/base!296
2026-07-02 11:55:22 -06:00
bjorn3 31793e7c0c drivers/graphics/driver-graphics: Implement cursor planes 2026-07-02 19:33:53 +02:00
Jeremy Soller ff274f62b8 Merge branch 'gpu_drm44' into 'main'
drivers/graphics/driver-graphics: Implement DRM_IOCTL_MODE_CLOSEFB

See merge request redox-os/base!292
2026-07-01 14:13:58 -06:00
Jeremy Soller 00a3dfb215 Merge branch 'better_panic_message' into 'main'
Improve panic message when manually starting a daemon

See merge request redox-os/base!291
2026-07-01 14:13:23 -06:00
bjorn3 4411f8cfb6 drivers/graphics/driver-graphics: Implement DRM_IOCTL_MODE_CLOSEFB 2026-07-01 21:49:11 +02:00
bjorn3 f74a6f8765 Improve panic message when manually starting a daemon 2026-07-01 21:42:05 +02:00
Jeremy Soller f1c44511ec Merge branch 'less_board_config' into 'main'
Unconditionally compile bcm2835-sdhcid

See merge request redox-os/base!290
2026-07-01 13:35:39 -06:00
bjorn3 ed73d8a36d Rustfmt 2026-07-01 21:11:55 +02:00
bjorn3 f71d388c5b Unconditionally compile bcm2835-sdhcid
This moves us closer towards having a single unified image for all arm64
systems. Only init still has the board compiled in rather than detecting
it from the device tree or ACPI tables.
2026-07-01 21:06:41 +02:00
Jeremy Soller a301f50bca Merge branch 'avoid-blocking-nsmgr' into 'main'
refactor: Adapt to userspace fd allocation

See merge request redox-os/base!283
2026-07-01 08:20:05 -06:00
Ibuki Omatsu 372b200f26 refactor: Adapt to userspace fd allocation 2026-07-01 08:20:05 -06:00
Jeremy Soller 29a1f4f8ec Merge branch 'remove_unnecessary_struct_repr' into 'main'
Remove unnecessary struct reprs

See merge request redox-os/base!288
2026-06-26 06:30:51 -06:00
bjorn3 9c52365339 Remove unnecessary struct reprs 2026-06-26 12:13:28 +02:00
Jeremy Soller 98996d26b0 usbhidd: set xbox 360 LED 2026-06-25 14:23:25 -06:00
Jeremy Soller 74eb45cb26 xhcid: fix endpoint handling issues and use newtype for endpoint number 2026-06-25 14:21:09 -06:00
Jeremy Soller fc487b3ee2 usbhidd: fix set report value word 2026-06-25 13:05:29 -06:00
Jeremy Soller fdff2d29a6 Update Cargo.lock 2026-06-25 13:03:46 -06:00
Jeremy Soller 76385adca3 xhcid: do not read interface names and add more debugging 2026-06-25 13:03:19 -06:00
Jeremy Soller d230839c64 Merge branch 'main' into 'main'
misc(netstack): update `smoltcp` to v0.13.1

See merge request redox-os/base!287
2026-06-25 12:16:28 -06:00
Anhad Singh cdea756569 fix(tcp/write_buf): incorrect return value
On success, the number of bytes written should be returned.

Previously `buf.len()` was always returned. The function `send_slice`
> ... returns the amount of octets actually enqueued, which is limited
> by the amount of free space in the transmit buffer; down to zero.

"down to zero" is okay as that is checked by `can_send`.

Signed-off-by: Anhad Singh <andypython@protonmail.com>
2026-06-25 23:55:00 +10:00
Jeremy Soller e56911dd95 Merge branch 'writeall-instead-of-write' into 'main'
add and apply unused_io_amount clippy lint

See merge request redox-os/base!282
2026-06-25 06:42:23 -06:00
Anhad Singh 7bfca6c5ab misc(netstack): update smoltcp to v0.13.1
Signed-off-by: Anhad Singh <andypython@protonmail.com>
2026-06-24 16:56:05 +10:00
Jeremy Soller 4fc813f3ef Send controller events from usbhidd 2026-06-23 20:21:40 -06:00
Jeremy Soller 759b3cfeec Support triggers and adjust gamepad threshold 2026-06-23 18:12:24 -06:00
Jeremy Soller 7fcc18ec06 Use different mappings for gamepad dpad 2026-06-23 17:50:56 -06:00
Jeremy Soller ff7492949e Initial gamepad support 2026-06-23 17:29:25 -06:00
Ribbon 97dc1d2aa4 Merge branch 'improve-info' into 'main'
Small changes

See merge request redox-os/base!197
2026-06-20 21:24:44 -03:00
Wildan Mubarok 82504a917e Merge branch 'fix-redoxer-pty' into 'main'
ptyd: Revert pty master fpath

See merge request redox-os/base!285
2026-06-20 07:52:56 +00:00