From d980dc2747a12a2c3f22e88319707266125fe6ea Mon Sep 17 00:00:00 2001 From: Admin Pupkin Date: Sun, 7 Jun 2026 22:22:13 +0300 Subject: [PATCH] =?UTF-8?q?quirks:=20R16=20+=20R22=20=E2=80=94=20deferred?= =?UTF-8?q?=20documentation=20landing=20pads?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit R16 (memory configuration) and R22 (boot parameters) are documented in QUIRKS-SYSTEM.md as deferred because their Linux 7.1 source surface is entirely imperative handler code, not data tables. R16: drivers/pci/quirks.c MTRR section + arch/x86/kernel/cpu/mtrr/amd.c + arch/x86/kernel/ amd_gart_64.c gart_fixup_northbridges() + arch/x86/mm/numa.c numa_emulation[]. All imperative. R22: arch/x86/kernel/tsc.c + arch/x86/kernel/hpet.c + arch/x86/kernel/cpu/bugs.c + ~47 files with __setup / early_param declarations (125 total entries). All imperative (string, handler_fn) registrations. This commit lands empty landing-pad TOML files (95-mtrr-deferred.toml, 99-bootparams-deferred.toml) that document why no data table is feasible and reference the QUIRKS-SYSTEM.md follow-up plans. The compiled-in tables (mtrr_quirk_table, bootparam_quirk_table) are empty; runtime TOML is reserved for future rules that do fit a data model. Audit status as of 2026-06-07: - R11, R12, R13, R14, R15, R17, R18, R19, R20, R21 RESOLVED (data side lands; consumer wiring is follow-up per phase) - R16, R22 DEFERRED (algorithmic / imperative; data- driven approach does not fit) --- .../source/quirks.d/95-mtrr-deferred.toml | 31 +++++++++++++++++ .../quirks.d/99-bootparams-deferred.toml | 34 +++++++++++++++++++ 2 files changed, 65 insertions(+) create mode 100644 local/recipes/system/redbear-quirks/source/quirks.d/95-mtrr-deferred.toml create mode 100644 local/recipes/system/redbear-quirks/source/quirks.d/99-bootparams-deferred.toml diff --git a/local/recipes/system/redbear-quirks/source/quirks.d/95-mtrr-deferred.toml b/local/recipes/system/redbear-quirks/source/quirks.d/95-mtrr-deferred.toml new file mode 100644 index 0000000000..1ce818dae3 --- /dev/null +++ b/local/recipes/system/redbear-quirks/source/quirks.d/95-mtrr-deferred.toml @@ -0,0 +1,31 @@ +# Memory configuration quirks (MTRR / PAT / NUMA) — DEFERRED. +# +# Phase R16 (2026-06-07) — this phase is documented as +# deferred in QUIRKS-SYSTEM.md. The Linux 7.1 sources +# covering this space are algorithmic handler functions, +# not data tables: +# +# - drivers/pci/quirks.c MTRR section: +# ~13 AMD K8 NB MTRR fixups + 6 AMD Fam10h + +# 6 AMD Fam15h + 1 AMD Fam16h DRAM scrub + 4 Intel +# MCH/RAS quirks. All are imperative functions that +# read/write northbridge MSRs at boot. +# - arch/x86/kernel/cpu/mtrr/amd.c: K6 WA, MTRR +# cleanup logic. Algorithmic. +# - arch/x86/kernel/amd_gart_64.c gart_fixup_northbridges(): +# GART IOMMU disable for VIA. Algorithmic. +# - arch/x86/mm/numa.c numa_emulation[]: 2 DMI entries +# for HP ProLiant NUMA emulation. +# +# Converting these to a data table is not feasible because +# the imperative code reads/writes chipset-specific MSRs +# that have no data-driven representation. +# +# The compiled-in `mtrr_quirk_table` is empty; runtime +# TOML is reserved for future NUMA / GART-specific rules +# that do fit a data model. No entries land in this commit. +# +# Reference: see QUIRKS-SYSTEM.md § R16 for the full +# follow-up plan. The audit's estimated 5-7 days for R16 +# is dominated by porting the imperative fixup code into +# the Red Bear kernel. diff --git a/local/recipes/system/redbear-quirks/source/quirks.d/99-bootparams-deferred.toml b/local/recipes/system/redbear-quirks/source/quirks.d/99-bootparams-deferred.toml new file mode 100644 index 0000000000..bd06c84278 --- /dev/null +++ b/local/recipes/system/redbear-quirks/source/quirks.d/99-bootparams-deferred.toml @@ -0,0 +1,34 @@ +# Boot parameter quirks (kernel cmdline) — DEFERRED. +# +# Phase R22 (2026-06-07) — this phase is documented as +# deferred in QUIRKS-SYSTEM.md. The Linux 7.1 boot +# parameter system is imperative handler functions, not +# data tables: +# +# - arch/x86/kernel/tsc.c: `tsc=` (6 sub-options) +# - arch/x86/kernel/hpet.c: `hpet=`, `nohpet=` +# - drivers/clocksource/acpi_pm.c: `acpi_pm_good=` +# - arch/x86/kernel/cpu/bugs.c: 20+ parameters +# (spectre_v2=, mds=, tsx_async_abort=, +# mmio_stale_data=, l1d_flush=, srbds=, +# retbleed=, spec_ctrl=, ssbd=, mitigations=) +# - 47 files across arch/x86 with __setup / +# early_param declarations (125 total entries) +# +# Converting boot parameters to a data table is not +# feasible because each is a `(string, handler_fn)` +# registration that the kernel parses at boot. R22 +# means implementing the `__setup` / `early_param` +# infrastructure in the Red Bear kernel, then porting +# the most critical ~8-10 parameter handlers: +# tsc=, hpet=, pmtmr=, pci=, acpi=, noapic, +# idle=, mitigations=. +# +# The compiled-in `bootparam_quirk_table` is empty; +# runtime TOML is reserved for future parameter-driven +# rules that do fit a data model. No entries land in +# this commit. +# +# Reference: see QUIRKS-SYSTEM.md § R22 for the full +# follow-up plan. The audit's estimated 3-4 days for R22 +# is dominated by porting the imperative handler code.