Commit Graph

2793 Commits

Author SHA1 Message Date
vasilito 0a6f11b719 fix(gcc-native): link generators against host libstdc++; build C++23 modules
redbear-ci / check (push) Has been cancelled
Three defects. gcc-native now cooks and publishes both packages.

1. Generator links failed with `undefined reference to __letf2@GCC_4.3.0`
   (+ __gttf2 __eqtf2 __getf2 __unordtf2). The Redox libgcc_s.so.1 sits in
   build/gcc/, and the host g++ resolves its libstdc++'s ld script
   "GROUP ( libgcc_s.so.1 -lgcc )" against the cwd first, binding the REDOX
   libgcc, which carries no GCC_4.3.0 soft-float symbols.

   The recipe already defined _rb_linker_for_build for exactly this and never
   passed it to make -- dead code. BUILD_LDFLAGS and BUILD_CPPFLAGS do not
   exist in the TOP-LEVEL Makefile (they are gcc/Makefile variables), so a
   top-level `make BUILD_LDFLAGS=...` never reaches the gcc sub-make.
   CXX_FOR_BUILD does: the top level defines it and forwards it to every
   sub-make, and gcc/Makefile.in:870 sets LINKER_FOR_BUILD = $(CXX_FOR_BUILD).
   Confirmed with `make -n all-gcc` before changing anything.

   The in-recipe note claiming LINKER_FOR_BUILD was tried and did not reach is
   superseded: it reaches from inside build/gcc; the problem was propagation
   from the top level.

   Sequencing all-gcc first does NOT remove the cause, contrary to the older
   comment -- it only holds for a clean build. This failure hit during all-gcc
   before any target library was rebuilt, because a previous run had already
   left libgcc_s.so.1 behind. Recipes must rebuild correctly on a dirty
   target/, so the flag is the fix; sequencing stays as defence in depth.

2. Both C++23 modules were silently dropped. src/c++23/Makefile retries with an
   EMPTIED std.cc when the compile fails, so the build exited 0 having shipped
   no std.gcm or std.compat.gcm, with 41 'fenv_t has not been declared' errors
   in the log.

   #include_next <fenv.h> from the new libstdc++ wrapper resolved to the PREFIX
   toolchain's installed copy of the same wrapper, guarded by the same
   _GLIBCXX_FENV_H the new one had already defined -- so its body was skipped,
   relibc's <fenv.h> was never reached, and every `using ::` below failed.
   relibc is not at fault: the header compiles cleanly in C and C++ on its own.

   Stock GCC builds target libraries with the in-tree compiler, which carries
   -nostdinc++. Here CXX is the prefix compiler, so CXX_FOR_TARGET is plain and
   the installed C++ headers stay on the search path. Fixed with
   CXXFLAGS_FOR_TARGET, a top-level variable that reaches std.lo through
   LTCXXCOMPILE, set before configure so the generated Makefiles carry it.

   Verified: 41 errors -> 0, both "Cannot compile ... module" lines gone,
   std.gcm and std.compat.gcm produced, std.cc/std.compat.cc 4502/795 lines
   rather than emptied, libstdc++.modules.json staged.

   Shipping this as an accepted limitation would have been a STUB AND
   WORKAROUND POLICY violation regardless of GCC's Makefile being what empties
   the source.

3. Changing CXX_FOR_BUILD makes autoconf refuse against an existing build dir
   ("`CXX' has changed since the previous run" in build-*/libcpp), since the
   top level exports it as CXX into the build-side configure environment. That
   is autoconf working correctly; documented, with the clean-build requirement.

Also records the subdirectories configure declines to build in this Canadian
cross (libatomic, libgomp, libsanitizer, libbacktrace among them) as an open
capability gap needing an operator decision, rather than leaving it unstated.

Carries earlier uncommitted working-tree changes to this recipe that the build
depends on (the CPPFLAGS sysroot strip, BUILD_CPPFLAGS restatement, static
libstdc++ staging, and the GCC 16 move).
2026-08-05 16:38:17 +03:00
vasilito 23cc9303c0 drivers: add redbear-smbusd (PCI 1022:790b FCH SMBus) and redbear-gpio-amdptd (AMDIF031 GPIO)
redbear-smbusd: PCI-based AMD FCH SMBus driver for the Kerncz/CZ/Ryzen
SMBus controller (1022:790b). Implements piix4 MMIO-mode port selection
(rev >= 0x51), SMBus transaction protocol (Quick/Read Byte/Write Byte),
and registers with i2cd as a provider (scheme:smbus). Driver-manager
match via 30-platform.toml (vendor=0x1022, device=0x790B, class=0x0C,
subclass=0x05). 5 host-runnable tests pass.

redbear-gpio-amdptd: ACPI platform driver for the AMDIF031 Promontory
GPIO controller (24 pins). PT_DIRECTION/INPUT/OUTPUT/CLOCKRATE/SYNC
register model. First consumer of hwd's new ACPI platform driver
spawn path (HID=AMDIF031, _CRS MMIO resource handoff). Exposes
scheme:gpio with per-pin claim/release via PT_SYNC_REG. 6 host-runnable
tests pass.

Both added to redbear-mini.toml [packages] per first-class-citizen
policy (text-only substrate).
2026-08-05 16:35:35 +03:00
vasilito 57169e5c4d gitlink: bump base to 70077c51 (pcid transactional BAR/bridge-window allocator) 2026-08-05 16:27:49 +03:00
vasilito 5a033fefc4 docs(evidence): record task-33 DCN315 surface-list append to AGENTS.md 2026-08-05 16:26:25 +03:00
vasilito 52b9318e64 test(threading): substrate validation suite (+ in-tree fixes only where attribution lands)
Root cause: relibc Cond::wake() lost-wakeup race condition.
Fix: cur.load() instead of prev.load() in cond.rs wake().

The Remlab futex-condvar design assumes the caller holds the mutex when
signalling, but POSIX allows signalling outside the mutex and Rust
Condvar::notify_one does not require it. When signalling outside the
mutex, the waker reads prev before a concurrent waiter stores it,
producing cur=prev+1 that matches the value the waiter waits on:
lost wakeup, permanent hang, std::thread::scope blocks forever.

Guidance flipped from PENDING-EVIDENCE to FIX-APPLIED in
PACKAGE-BUILD-QUIRKS.md with validation matrix. Evidence file
updated with root cause trace and operator verification steps.

Fix commit: submodule/relibc @ c5806663
ISO rebuilt: build/x86_64/redbear-mini.iso (2026-08-05)
Host tests: 24/24 PASS
2026-08-05 15:59:57 +03:00
vasilito c52c88c758 fix(rust): track the 03 patch symlink
redbear-ci / check (push) Has been cancelled
recipes/.gitignore ignores *.patch, so the symlink created alongside
patch 03 was left untracked while 01 and 02 are tracked (force-added
past the same rule). A clean checkout would fetch rust, find
patches = [... "03-generate-copyright-path-deps.patch"] in recipe.toml,
and fail to resolve it.

Force-added to match 01/02.
2026-08-05 15:57:31 +03:00
vasilito a5e774128e chore: bump base submodule (fail-closed PCI resource auditor)
Bump base submodule pointer to include feat(pcid):
fail-closed PCI resource auditor (namespace-wide reservations).
2026-08-05 15:44:53 +03:00
vasilito 8a82feecd4 docs(evidence): task-12 namespace-wide _PRW wake-device enumeration
redbear-ci / check (push) Has been cancelled
2026-08-05 15:43:08 +03:00
vasilito 7f5ef461ec docs(native-toolchain): record findings 5-7 and correct the leak direction
rust-native now builds. Records the three defects found getting there
(host/target header leak, the -fno-hardened cross-flag leak, relibc's
duplicate _POSIX_THREADS) and closes the previously-open "unreachable
'pub' item" item, which deny-warnings = false already resolved.

Corrects the gcc-native diagnosis. It read "the host's libstdc++ headers
are being pulled into a target compile"; the direction is the reverse --
relibc's TARGET headers reach a HOST compile through the redoxer
toolchain's mixed include/ directory, so __GLIBC_PREREQ is undefined
where the host headers expect it. That matters for how gcc-native gets
unblocked: the host: package pattern used for rust-native should apply,
rather than reworking GCC's cross-build header model.

Status flipped DEFERRED -> ACTIVE per the 2026-08-05 operator decision.
2026-08-05 15:41:27 +03:00
vasilito 75a33e0430 fix(rust-native): build host bootstrap stages against a pure host LLVM
rust-native failed with ~200 errors inside the HOST's own glibc and
libstdc++ headers while compiling rustc_llvm's llvm-wrapper/*.cpp for
x86_64-unknown-linux-gnu.

rustc_llvm's build script passes `llvm-config --includedir` straight to
the host c++. The redoxer toolchain's include/ is a MIXED directory,
holding relibc's TARGET headers (stdlib.h, features.h, fenv.h, ...)
beside the llvm/ and clang/ ones, so relibc's features.h shadowed
glibc's, __GLIBC_PREREQ was never defined, and every host header testing
it failed:

    /usr/include/c++/16/x86_64-pc-linux-gnu/bits/os_defines.h:44:19:
    error: missing binary operator before token '('

Reproducible in three lines with no rustc involved:

    printf '#include <cstdlib>\nint main(){}' > t.cpp
    c++ -std=c++17 -I${HOME}/.redoxer/x86_64-unknown-redox/toolchain/include -c t.cpp

This is the same leak recorded as gcc-native's stopping point in
local/docs/NATIVE-TOOLCHAIN-WORKSTREAM.md -- one root cause, both
recipes -- though in the opposite direction to what that note assumed:
target headers reaching a host compile, not the reverse.

Fixed with host:llvm-native (+ .dev/.runtime). Host deps stage into
COOKBOOK_TOOLCHAIN, a tree SEPARATE from the target sysroot, so the
GNU/Linux libLLVM.so.21.1 cannot collide with the Redox one llvm21
stages -- the collision this recipe's llvm21 comment already records.
Its include tree holds only llvm/, llvm-c/, clang/, clang-c/, lld/. An
unset COOKBOOK_TOOLCHAIN is now a hard error rather than a silent
fallback to the polluted path.

Second defect, exposed by the first fix: DYNAMIC_INIT exports
CXXFLAGS=-fno-hardened for the GCC 16 cross compiler, and the unset list
dropped CC/CXX/LDFLAGS but not CFLAGS/CXXFLAGS/CPPFLAGS. cc-rs falls
back to the generic CXXFLAGS when the target-specific one is empty and
handed it to the host c++, which now resolves through
COOKBOOK_TOOLCHAIN/bin to llvm-native's clang++:

    rustc_llvm@0.0.0: c++: error: unknown argument: '-fno-hardened'

A pre-existing leak: the cross recipes/dev/rust carries the same unset
list and never hit it only because nothing puts a clang on its PATH.
llvm-native's own recipe already unsets these three for this reason.

Target-side compilation is unaffected: config.toml pins cc/cxx/ar/linker
for the Redox triple, and the target RUSTFLAGS are captured into
CARGO_TARGET_<ARCH>_UNKNOWN_REDOX_RUSTFLAGS before the unset.

Also carries earlier uncommitted working-tree changes to this recipe
that the build depends on: the explicit relibc dependency, the
llvm-native -> llvm21 switch for the Redox-hosted rustc, and the
COOKBOOK_HOST_SYSROOT assignment, plus deny-warnings = false in
config.toml.

Verified: rustc, cargo, rustdoc, rustfmt, clippy-driver and
librustc_driver-*.so stage as Redox binaries -- ELF interpreter
/lib/ld64.so.1, OS/ABI System V, NEEDED libc.so.6 from relibc.
2026-08-05 15:41:10 +03:00
vasilito 5f7a2f2979 fix(rust): scrape licence notices for path dependencies
generate-copyright builds COPYRIGHT.html by reading each dependency's
licence files out of the bootstrap vendor directory. In-tree crates are
filtered out earlier (reuse covers them), so everything reaching
load_important_files is assumed to have been vendored.

cargo vendor only vendors REGISTRY sources. The libc fork arrives as a
[patch.crates-io] PATH dependency (02-libc-redox-fork.patch) living at
local/sources/libc, outside the rust tree -- neither in-tree nor
vendored. Joining the vendor root produced a directory that does not
exist, and read_dir failed the whole install step with a bare

    Error: I/O Error: Os { code: 2, kind: NotFound }

naming no crate and no path, after the compiler had already built.

A path dependency's licence files live beside its own Cargo.toml, and
for such a crate that directory is the source of truth -- our fork ships
LICENSE-APACHE and LICENSE-MIT there. Falling back to the manifest
directory keeps those notices IN COPYRIGHT.html rather than dropping
them, which matters under the free/libre software policy in
local/AGENTS.md. Suppressing the step would have lost them.

The manifest directory is threaded from get_metadata (which holds the
full cargo_metadata::Package) to load_important_files and dropped again,
so get_metadata_and_notices keeps its existing public return type.

Patch ordering: 03 must follow 02, which introduces the path dependency
that makes it necessary.

Upstream-reportable: any downstream using [patch.crates-io] with a path
source hits this.
2026-08-05 15:40:48 +03:00
vasilito 5c9696e5bd gitlink bumps: kernel (irq gate removal) + base (pcid MSI remap helpers)
kernel: f502fb09 - remove iommu_validate_msi_irq gate
base:   61d19643 - pcid/msi BDF-aware remapped message helpers
2026-08-05 15:34:43 +03:00
vasilito 1de0326398 iommu: AMD-Vi interrupt-remapping structural correction
IVRS parser (acpi.rs):
- Parse IVHD type 0x40 (40-byte header, same layout as 0x11)
- Parse IVMD types 0x20/0x21/0x22 into IvmdInfo struct
- IVMD scope determined by type, exclusion by flags (bit 4 = EXCL_RANGE)
- UNITY read/write flags applied independently
- Fix IVHD header size: 24 bytes for 0x10, 40 for 0x11/0x40

Interrupt remap table (interrupt.rs):
- Remove global 16-byte IRTE assumption
- IRT format selected per-unit from IVHD EFR field (GASup bit)
- Legacy32 (4-byte) vs GA128 (16-byte) IRTE formats
- EFR-driven encode/decode for both formats
- Remapped MSI address and direct-APIC message encoding helpers
- Restructure: lib crate (lib_core.rs) for host-testable pure logic

Build restructure:
- Split into lib (acpi, interrupt) and bin (redox-specific) targets
- Feature-gate redox-driver-sys behind 'redox' feature
- Host-runnable tests: cargo test --lib --no-default-features

Kernel: remove unconditional-true iommu_validate_msi_irq gate
pcid/msi: add remapped_message_address/data helpers for BDF-aware MSI
Self-test: IRTE programming verification on first device use

Tests: 23/23 pass (10 acpi + 13 interrupt)
2026-08-05 15:34:14 +03:00
vasilito a0537c17ab docs(ryzen-x670e): todo 17 MCFG segment handling + base gitlink 2026-08-05 15:26:21 +03:00
vasilito 86ebade09b chore(base): bump submodule/base to feat(acpi): two-pass _OSC negotiation + _REG opregion-connect wiring 2026-08-05 15:20:44 +03:00
vasilito b7cf00a5e2 relibc: bump gitlink for duplicate _POSIX_THREADS fix 2026-08-05 14:55:03 +03:00
vasilito 62e91e7d96 docs(plan): add Ryzen 7000 / X670E host compatibility plan 2026-08-05 14:52:51 +03:00
vasilito 85c84eb6c5 docs(evidence): record task-2 MS-7D70 RED/GREEN tests and check-sweep tail 2026-08-05 14:45:50 +03:00
vasilito dc2fda2a89 feat(quirks): add MS-7D70 (X670E CARBON WIFI) DMI profile 2026-08-05 14:45:39 +03:00
vasilito ec09b7d990 base: bump gitlink for ps2d bounded-read fix + acpid power-resource engine (tasks 8,11); evidence: task-11 new, task-3 capture re-run (AMDIF031 confirmed, Raphael iGPU BIOS-disabled) 2026-08-05 14:45:26 +03:00
vasilito 98bb16cc99 feat(scripts): Rust X670E host evidence capture kit + initial artifacts
- capture-host-evidence: Rust tool (26 tests) collects lspci, iomem, cpuinfo,
  lsusb, firmware, bridge/BAR topology, baselines verification, iGPU instructions,
  MADT analysis. Collectors have root-file fallback for capture-root.sh integration.
- capture-root.sh: sudo helper for acpidump, dmidecode, dmesg, nvme id-ctrl,
  USB debug, full lspci. Raw ACPI binaries → ~/redbear-evidence-raw/ (outside repo).
- madt.rs: full MADT parser (14 tests) with real-parse integration when raw-apic.dat
  is available. Synthetic report when root not yet available.
- redact.rs: auto-redacts serial numbers, MACs, UUIDs. Secret scan zero hits on
  all 8 committed evidence files.
- baselines.toml: F2 immutable diff baselines with operator-specified SHAs.
- Evidence: AMDIF031 CONFIRMED in iomem (address zeroed non-root), Raphael iGPU
  (1002:164e) NOT ENUMERATED (BIOS-disabled, NVIDIA RTX 4080 dGPU present),
  `/sys/class/graphics/fb0` reports nvidia-drmdrmfb.

Plan: .omo/plans/ryzen-7000-x670e-compat.md todo 3
2026-08-05 14:33:58 +03:00
vasilito c603b72e83 docs(matrix): annotate MS-7D70 availability (compile-only baseline) 2026-08-05 14:30:36 +03:00
vasilito cab22e5a4a docs: append REGRESSION + REMEDY record for task-8 ps2d read-to-string regression
Root cause: std::fs::read_to_string loops forever on kernel scheme
/scheme/serio/present (serio kread for HandleKind::Present never
produces EOF). Fix: bounded single-byte read in ps2d main.rs
(commit aeb2df8e on submodule/base branch). 14/14 host tests green.
QEMU gate expected: ps2d startup log BEFORE notify-wait ticks,
no kill line.
2026-08-05 14:22:28 +03:00
vasilito 47a22479bc plan(ryzen-x670e): reconcile completed-todo checkboxes (24 verified), task-5 remedy evidence, boulder state 2026-08-05 14:06:07 +03:00
vasilito 89878addce base: bump gitlink for RSDP contract, GPE dispatch, NVMe HMB, UAS, ps2d (tasks 9,10,18,19,8)
redbear-ci / check (push) Has been cancelled
2026-08-05 12:34:46 +03:00
vasilito 384e221216 kernel: bump gitlink for i8042 verdict + TSC fixes (task 8) 2026-08-05 12:34:45 +03:00
vasilito b51aa9503f policy: upstream scheme compatibility is ABSOLUTE; kernel: bump gitlink
redbear-ci / check (push) Has been cancelled
New SCHEME COMPATIBILITY POLICY: upstream Redox schemes are frozen
contracts (paths, listing formats, semantics, error codes); Red Bear-only
schemes may be introduced but must never collide with upstream namespaces;
the 2026-08-05 cpu-NN regression is recorded as the canonical violation.
Kernel gitlink bump carries the {:02x} listing revert.
2026-08-05 11:32:02 +03:00
vasilito 501a06434f kernel: bump gitlink for irq scheme path-parse fix 2026-08-05 11:14:50 +03:00
vasilito a287fe20b9 toolchain: remove the GCC 13 path; document the GCC 16 transition
redbear-ci / check (push) Has been cancelled
Operator decision 2026-08-05: "we will not have gcc 13." The cross
toolchain has been GCC 16.1.0 since the port landed, but the build system
still defaulted to GCC 13 in three places and nothing recorded the move.

Build system:
- mk/prefix.mk: GCC_RECIPE?=gcc13 -> gcc16.
- mk/prefix.mk: the HOSTED_REDOX package rule derives its names from
  $(GCC_RECIPE) instead of hardcoding gcc13.pkgar / gcc13.cxx.pkgar.
  static.redox-os.org publishes no gcc16 package, so that path now fails
  at download. Deliberate: a loud failure beats a wrong compiler.
- build-redbear.sh: refuse to build on a non-GCC-16 toolchain. This is
  the one that mattered on a Linux host. `make prefix` unpacks upstream's
  gcc-install.tar.gz, which IS GCC 13.2.0, and no make rule replaces it --
  GCC 16 arrives only via install-gcc16-toolchain.sh. A fresh prefix
  therefore put you silently back on GCC 13, surfacing ~40 minutes later
  as a kwin C++23 failure. The guard checks all three locations
  (gcc-install, sysroot, ~/.redoxer/<target>/toolchain -- the last has
  highest priority) and names the two scripts to run.

Docs:
- New local/docs/TOOLCHAIN-GCC16.md: why the move (kwin/plasma-workspace
  need std::ranges::to), build/install/rollback procedure, the three
  locations that must agree, the tree-wide -std=gnu17 and -fno-hardened
  consequences, and the open libstdc++ float16-formatter gap that
  currently blocks the kwin link.
- CHANGELOG, docs/README.md index and state summary, and the stale claim
  in NATIVE-TOOLCHAIN-WORKSTREAM.md that gcc13 "still builds the GCC 13
  cross toolchain".

Also corrects stale references found while auditing:
- AGENTS.md described prefix/ as "Clang/LLVM"; it is GCC 16.1.0 + LLVM + Rust.
- AGENTS.md cited local/reference/linux-7.0/ (tree is linux-7.1).
- AGENTS.md's durable-patching example cited a mesa patch that does not
  exist; replaced with one wired in recipe.toml. (The first replacement
  used patch 03, which the changelog records as orphaned -- it targets a
  file removed from Mesa 26.1.4 upstream.)

native_bootstrap.sh still installs gcc13/gcc13.cxx packages inside a
Redox VM. Left alone: that is the deferred gcc-native workstream and no
gcc16 package is published for Redox to point it at.

Verified: bash -n clean; make -n prefix parses; guard accepts the current
16.1.0 toolchain in all three locations and rejects a stubbed 13.2.0.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-05 10:11:06 +03:00
vasilito fddcc791b5 validate-init-services: anchor scheme extraction off comments; fall back to cmd-path binary check 2026-08-05 10:07:36 +03:00
vasilito 656fa6b88b r8125d: rewrite event loop against the real EventQueue/NetworkScheme API 2026-08-05 09:41:46 +03:00
vasilito f522dc497f r8125d: implement NetworkAdapter trait for the Redox target 2026-08-05 09:33:12 +03:00
vasilito d94fed87c2 r8125d: add redox_event dep; replace panic paths with typed log-and-exit handling 2026-08-05 09:26:05 +03:00
vasilito 4ecf8ab0c0 base: bump gitlink for netstack manifest fix
redbear-ci / check (push) Has been cancelled
2026-08-05 09:11:11 +03:00
vasilito 0182ab84f7 base: bump gitlink for recovered netstack/rtl8168d work; r8125d: fix recipe source path
redbear-ci / check (push) Has been cancelled
2026-08-05 09:03:42 +03:00
vasilito d1e1181baa feat(wifi): MT7922 firmware staging + wifictl backend + driver wiring
redbear-ci / check (push) Has been cancelled
2026-08-05 08:43:50 +03:00
vasilito 1870a2687c redox-driver-sys: error-path and formatting cleanup; driver-manager: pub(crate) registry for config tests
redbear-ci / check (push) Has been cancelled
2026-08-05 08:38:23 +03:00
vasilito 5c4f7d2580 docs(gpu): DCN315 closure record + AGENTS.md surface list (closure-first)
redbear-ci / check (push) Has been cancelled
2026-08-05 08:29:51 +03:00
vasilito 1625af95d3 test(gpu): Raphael read-only probe + BAR/IP/ATOM inventory 2026-08-05 08:29:49 +03:00
vasilito 3ffa5f5755 feat(drivers): redbear-mt7922 Rust SoftMAC + station/supplicant core 2026-08-05 08:29:48 +03:00
vasilito 56a414422c docs(plan): deferred-with-docs table for X670E
redbear-ci / check (push) Has been cancelled
2026-08-05 07:50:38 +03:00
vasilito 4f5588aeec feat(drivers): r8125d PHY/firmware/integration + redbear-info fix 2026-08-05 07:50:38 +03:00
vasilito 5b00f3a0f5 feat(drivers): mt76 C transport (WFDMA/Connac/MCU/reset) 2026-08-05 07:50:37 +03:00
vasilito 5dcec76502 feat(gpu): Raphael firmware staging + per-ASIC manifest resolution 2026-08-05 07:50:36 +03:00
vasilito 80f78e673b feat(power): redbear-k10tempd (Family 19h thermal) 2026-08-05 07:50:35 +03:00
vasilito 35819c560f feat(power): AMD CPPC cpufreq path (Zen4 MSR, correct set) 2026-08-05 07:50:34 +03:00
vasilito 64222aa8e2 feat(audio): widen ihdad match to AMD HDA 1022:15e3 2026-08-05 07:50:32 +03:00
vasilito f9ec1120ac feat(quirks): xHCI parity for X670E ASMedia/AMD controllers 2026-08-05 07:50:31 +03:00
vasilito 6121125c38 redbear-threadtest: import AtomicU32 and Ordering in l1_futex
l1_futex.rs uses AtomicU32::new and Ordering::SeqCst but imported neither, so
the crate did not compile:
  error[E0433]: cannot find type `Ordering` in this scope   (x4)
  error[E0433]: cannot find type `AtomicU32` in this scope

Same class as the kernel errors fixed a moment ago: committed first-party code
that does not build, invisible while the package was served from cache. The
relibc bump invalidated the cache and both surfaced in the same run.

Verified: cook redbear-threadtest - successful.
2026-08-05 03:41:50 +03:00
vasilito 384ce70355 fix(drivers): drop stray self-referential symlink in redbear-r8125d recipe dir 2026-08-05 03:39:13 +03:00