Files
RedBear-OS/local
vasilito 9a28b68ef8 quirks: resolve Blocker 5 — add bios_vendor + bios_date to DMI structs
Phase R10 audit (2026-06-07) identified that DmiInfo and DmiMatchRule
were missing the bios_vendor and bios_date fields that Linux SMBIOS
Type 0 (BIOS Information) provides. Many DMI-based quirk rules in
Linux drivers/acpi/osi.c, drivers/acpi/ec.c, and drivers/platform/x86/
match on BIOS vendor or BIOS release date for firmware-version
workarounds.

Changes:
  - dmi.rs: add bios_vendor: Option<String> and bios_date: Option<String>
    to both DmiInfo and DmiMatchRule structs
  - dmi.rs: extend is_empty() and matches() to consider the new fields
  - dmi.rs: extend parse_dmi_data() to handle bios_vendor and bios_date
    keys in /scheme/acpi/dmi text format
  - dmi.rs: extend all 8 compiled-in DmiPciQuirkRule literals and 3
    DmiInfo test fixtures with the new fields
  - toml_loader.rs: extend parse_dmi_match_rule() to parse bios_vendor
    and bios_date from [[dmi_system_quirk]] match tables
  - toml_loader.rs: extend all 4 DmiInfo test fixtures
  - dmi.rs: 5 new unit tests (bios_vendor match, bios_date match,
    combined match, parse_dmi_data, is_empty with bios fields)
  - toml_loader.rs: 1 new integration test (TOML bios_vendor+date
    parse and match, miss, and absent cases)
  - QUIRKS-SYSTEM.md: mark Blocker 5 as RESOLVED

Tests: 120/120 pass (was 114, +6 new).
Clippy: +2 warnings (same map_or pattern as existing 7 DMI fields,
follows existing convention; not a new defect).

Source-of-truth: drivers/firmware/dmi_scan.c (dmi_decode_table) and
include/linux/mod_devicetable.h (dmi_system_id).

Depends on Blocker 2 (acpid DMI producer at /scheme/acpi/dmi) for
runtime data; the fields are now in place and will activate when
acpid is updated to populate the new keys.
2026-06-07 14:14:45 +03:00
..