Files
RedBear-OS/local/docs
vasilito abae1b86b6 docs: redbear-power §27 — v1.3 Linux-host fallbacks implemented
Implements the three gaps from §26:
- Phase A: new platform.rs (291 lines) with runtime probes for
  MSR, ACPI PSS, /proc/stat, cpufreq sysfs, hwmon — emits one
  eprintln! diagnostic per source at startup
- Phase B: msr.rs reads /dev/cpu/{cpu}/msr on Linux via lseek+pread;
  acpi.rs read_load falls back to /proc/stat; acpi.rs read_acpi_pss
  reads /sys/devices/system/cpu/cpu*/cpufreq/scaling_available_frequencies;
  cpufreq.rs reads/writes /sys/.../scaling_governor. Removed the
  hardcoded P0..P5 fallback table (violates zero-stub policy).
- Phase C: replaced misleading "MSR: not available (QEMU?)" with a
  "Sources: MSR=ok  PSS=no  load=ok  gov=ok  hwmon=ok" header line
  that shows per-source availability at a glance.

Verified on AMD Ryzen 9 7900X (24 threads, AMD-pstate driver):
- /dev/cpu/0/msr detected (probes ok; reads blocked by CAP_SYS_RAWIO
  for non-root users — kernel-level permission, not a code issue)
- /proc/stat readable (load populated after second refresh tick)
- /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor readable
  (governor shows "powersave")
- hwmon2 (k10temp) detected (not yet wired into per-CPU temp column —
  requires per-driver hwmon→tempX_input mapping, deferred to v1.4)
- PSS=no (amd-pstate driver does not expose scaling_available_frequencies)

v1.3 source: 3501 LoC across 12 modules. Cross-compiled Redox binary
3.3 MB stripped, SHA256 cbc0a6d04e9d9252314dd71a1c411d4c488417e25f8d860970f718990864431a.

What is NOT yet wired (deferred to v1.4):
- Hwmon→per-CPU temp mapping (k10temp Tdie is package-level only)
- MSR reads without root (CAP_SYS_RAWIO required)
- zenpower / zen 5+ per-driver logic
2026-06-20 15:23:25 +03:00
..