Commit Graph

345 Commits

Author SHA1 Message Date
Red Bear OS c739f32aa2 common/logger: quiet console output to Warn (keep Info in files)
Daemons log via OutputBuilder::stderr() at output_level, which shares the
interactive console/login VT. At Info they spam routine chatter (cpufreqd,
thermald, i2c-hidd, ...) over the login prompt as boot continues in
parallel with getty. Drop the console filter to Warn; full Info logs are
still written to per-daemon log files (file_level), and a bootloader env
var can raise it for debugging.
2026-07-18 08:54:57 +09:00
Red Bear OS e9342b78e9 feat(fbcond): bidirectional serial console mirror for headless login
fbcond now mirrors all framebuffer-console output to the kernel debug (serial)
scheme AND feeds serial input back into the active VT's input queue. Previously,
once fbcond took over the console after display handoff the serial line went
silent (headless operators saw the boot stop at 'Performing handoff' and never
saw the getty login prompt, which draws only to the framebuffer VT). Now the
same console — boot log, login prompt, and shell — is fully usable over serial,
reusing the working framebuffer getty for both surfaces.
2026-07-18 07:23:22 +09:00
Red Bear OS 0120017484 fix(net): silence benign no-network warnings; add e1000e (82574) support
- smolnetd: an empty ip_router (DHCP-managed or deliberately network-less like
  the bare target) is a valid 'no default gateway' state, not a malformed config
  -> no warning.
- router: a limited/directed IPv4 broadcast (DHCP DISCOVER to 255.255.255.255
  before any lease/route exists) legitimately has no routing-table entry; don't
  warn 'No route found' for broadcast destinations.
- e1000d: add the 82574L (0x10d3, QEMU '-device e1000e') to the E1000 match
  list; it keeps the legacy descriptor/register interface this driver uses.
  I219 is intentionally excluded (integrated MDIO PHY, different init).
2026-07-18 00:49:44 +09:00
Red Bear OS 1769b083ab fix(boot): clean up bare/mini boot warnings and errors
- init: add condition_path_exists so optional-daemon units (dbus, seatd,
  thermald, evdevd) are silently skipped when their binary is absent in a
  minimal image, instead of emitting [FAILED] 'No such file or directory' on
  the bare target. Boot-critical units omit the field and still hard-fail.
- ahcid: an empty ATAPI/optical drive (QEMU's default DVD-ROM, most bare-metal
  optical bays) failed READ CAPACITY and logged 4 ERROR lines every boot;
  register it with a zero block count as a normal no-media state and drop the
  HBA register dump to debug level.
- netstack: a machine with no NIC (bare, or an unsupported NIC) logged an ERROR
  and exited non-zero; treat 'no network adapter' as a normal idle state
  (info + clean exit).
- dhcpd: cut the socket timeout 30s -> 8s so the network stage fails fast when
  no DHCP server answers instead of stalling boot.
2026-07-18 00:29:43 +09:00
Red Bear OS 324172abaf fbcond: restore console scrollback (lost P4-fbcond-scrollback)
Re-adds the archived-but-unapplied scrollback support: a 1000-line ring
buffer in TextScreen capturing all output (incl. pre-handoff boot log), a
Handle::Scrollback variant opened via /scheme/fbcon/<vt>/scrollback, and a
read path returning the retained buffer. Adapted to the current single-step
openat scheme protocol.
2026-07-16 21:59:18 +09:00
Red Bear OS aa372cf5c1 hwd(acpi): gate per-LNK routing enumeration to debug
The ACPI _LNK object enumeration logged 50+ INFO lines per boot on QEMU
(one per _UID/_CRS/_STA/_DIS/_SRS/_HID method), flooding the console and
slowing serial boot. This is PCI interrupt-routing detail, not needed at
INFO on every boot; move it to debug.
2026-07-16 11:16:01 +09:00
Red Bear OS 1fb3b7c243 inputd: fix producer-write regression — let producer event writes fall through to distribution (was EINVAL, crashing ps2d and killing all input) 2026-07-16 08:27:50 +09:00
Red Bear OS 2b48b9e966 pcid: log PCIe->I/O-port fallback at info; fbcond: transient no-display at debug 2026-07-16 06:39:43 +09:00
Red Bear OS 85574c22f1 daemon: drop cmd before readiness wait so early child exit yields EOF (fix hwd/acpid spawn deadlock) 2026-07-15 23:27:40 +09:00
Red Bear OS 8c657b3645 hwd: only spawn acpid when acpi scheme not already registered (fix boot hang) 2026-07-15 23:13:09 +09:00
Red Bear OS d69afbc732 acpid: exit cleanly when acpi scheme already registered (hwd double-spawn) 2026-07-15 22:56:00 +09:00
Red Bear OS 1ed140e018 fix: move ACPI S3/battery methods from impl Drop to impl AcpiContext
The suspend_to_ram, read_battery_status, and read_battery_info methods
were incorrectly placed inside 'impl Drop for PhysmapGuard'. They
reference fields (aml_symbols, fadt) that only exist on AcpiContext.
Move them to impl AcpiContext and fix field access (self.fadt.as_ref()
instead of self.fadt()).
2026-07-12 04:14:34 +03:00
Red Bear OS 3fe7b12434 fix: add try_map_bar, try_pci_allocate_interrupt_vector, fix try_mem return type
- try_mem now returns Result (matching caller expectations)
- try_map_bar: non-panicking BAR mapping on PciFunctionHandle
- try_pci_allocate_interrupt_vector: non-panicking IRQ allocation
- virtio-core: reverted .ok_or() back to .map_err() for Result type
2026-07-12 02:48:16 +03:00
Red Bear OS 4932cb4d62 fix: add try_port() to PciBar and try_irq_handle() to LegacyInterruptLine
Non-panicking variants needed by ac97d, vboxd, and other drivers that
prefer error handling over panics.
2026-07-12 02:39:59 +03:00
Red Bear OS bf9989b7c0 fix: add try_mem() to PciBar, fix virtio-core caller
Added try_mem() returning Option<(usize, usize)> for non-panicking
memory BAR access. Fixed virtio-core/probe.rs to use .ok_or() instead
of .map_err() to match the Option return type.
2026-07-12 02:34:09 +03:00
Red Bear OS 00b799d512 absorb: 41 orphaned base patches re-applied (Phase 1.0A)
Per local/docs/PATCH-PRESERVATION-AUDIT-2026-07-12.md the base
fork was carrying only 38 of 100 patches in local/patches/base/.
The other 62 patches' content was silently missing from the fork
working tree, even though their .patch files were preserved.

This commit re-applies 41 patches that genuinely still apply
cleanly + 17 hunks that partially applied. Recovery covers:

- D-Bus initfs service wiring (P4-initfs-dbus-services)
- USB service wiring (P4-initfs-usb-drm-services)
- netcfg/dhcp/dhcpv6 driver fixes
- acpid shutdown/PM/quirk fixes
- inputd/ps2d hard-fail logging
- pcid driver interface refinements (server cmd channel)
- virtio-core for VirtualBox support
- ixgbed/rtl8139/rtl8168 net drivers
- ahcid NCQ + per-function interrupt coalescing
- logd persistent logging
- bootstrap procmgr race-condition fixes
- cargo version pin to +rb0.3.0 (synchronized release branch)

58 files changed, +1444/-318 lines.

Untracked mnt/ tree and *.orig / *.rej files cleaned up after
patch application (leftover from absolute-path patch headers).
2026-07-12 01:29:08 +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
Wildan M eb48b04b54 redoxerd: Proper pty init 2026-07-10 11:22:55 +07:00
Wildan M 572561035b raspi: Fix bcm driver init 2026-07-05 11:08:50 +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
bjorn3 31793e7c0c drivers/graphics/driver-graphics: Implement cursor planes 2026-07-02 19:33:53 +02:00
bjorn3 4411f8cfb6 drivers/graphics/driver-graphics: Implement DRM_IOCTL_MODE_CLOSEFB 2026-07-01 21:49:11 +02:00
Ibuki Omatsu 372b200f26 refactor: Adapt to userspace fd allocation 2026-07-01 08:20:05 -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 76385adca3 xhcid: do not read interface names and add more debugging 2026-06-25 13:03:19 -06: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
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
auronandace c3789b4ed3 only perform a single write and assert the amount written 2026-06-17 14:09:47 +01:00
auronandace 05a8954e0a add and apply unused_io_amount clippy lint 2026-06-17 13:40:16 +01:00
Wildan M e8f1b1a888 Do not send TextInputEvent for control characters 2026-06-09 04:15:22 +07:00
4lDO2 9dd6901d59 acpid: setrens before ready(), fixing deadlock.
Otherwise, an open call to /scheme/acpi/tables will result in nsmgr
blocking on an `openat(acpi_root, "tables")` call, which will never
occur if acpid is itself blocking on a `ForkNs` call to nsmgr before it
can serve any scheme requests.
2026-06-05 11:03:32 +02:00
Connor-GH ddd6c4f3ac ptyd: implement TIOCGPTN and TIOC{S,G}PTLCK
This functionality is needed according to POSIX. Additionally, some
logic had to be changed in order for the ptsname to be correct for the
manager terminal (ptmx). If you want to obtain a pty, you must go
through the `posix_openpt`-`grantpt`-`unlockpt`-`ptsname`-`open`
process. Alternatively, relibc as a function called `openpty`.

This is part of my ptyd series. This can be safely merged once the MRs
for relibc/ and userutils/ are merged at the same time.
2026-06-03 19:33:09 -05:00
4lDO2 2272746215 Run rustfmt. 2026-06-03 10:38:36 +02:00
4lDO2 4a34c3251e Use simplified kernel ACPI interface. 2026-06-02 15:40:28 +02:00
bjorn3 24fb66e144 Fix warnings for updated rustc
And move away from an internal feature now that there is a proper
(unstable) function for it.
2026-05-27 21:11:53 +02:00
bjorn3 5701459db4 drivers/graphics/console-draw: Use font height rather than width where necessary
This fixes major corruption of the drawn text.
2026-05-24 20:36:18 +02:00
bjorn3 54b2697a6d drivers/graphics/console-draw: Missed change 2026-05-24 20:31:51 +02:00
bjorn3 5e800afd1b drivers/graphics: Couple of misc fbcond/fbbootlogd cleanups 2026-05-24 20:23:05 +02:00
Wildan M b70f565ec5 fbbootlogd: Fix build 2026-05-16 15:26:38 +07:00
Jeremy Soller a0e34b92e5 Merge branch 'console-font-support' into 'main'
Implement font support

See merge request redox-os/base!261
2026-05-15 17:21:18 -06:00
Migue Magic ae77a4f0ad Implement font support 2026-05-15 17:21:18 -06:00
bjorn3 fc2d098f70 drivers/graphics/driver-graphics: Move property ioctls to a separate module 2026-05-14 18:37:55 +02:00