98982cc2fa
R1-R10 audit Gap 15: the pci_*_quirk_flags and redox_pci_set_quirk_flags symbols lived inside redox_stubs.c alongside kmalloc, printk, and other generic glue functions. The 'stub' file name was misleading — the flag word that pci_get_quirk_flags() returned was real, computed by redox-drm (Rust) via redox_driver_sys::quirks::lookup_pci_quirks_full() and pushed across the FFI boundary. This change: - Adds source/redox_quirk_bridge.c containing the three symbols plus a static g_redox_quirk_flags global. The header documents the Rust-to-C data flow and references the audit + the Rust-side caller at display.rs:155. - Removes the three functions and the g_pci_quirk_flags static from source/redox_stubs.c. redox_stubs.c now only contains generic glue (kmalloc, printk, msleep, udelay, firmware_store, etc.) and the file name matches its contents. - Updates recipe.toml Stage 1 to compile the new translation unit alongside redox_stubs.c. Both files are linked into libamdgpu_dc_redox.so. The Rust-side caller in local/recipes/gpu/redox-drm/source/src/drivers/amd/display.rs is unchanged: the FFI symbol name 'redox_pci_set_quirk_flags' is the same, so the linker picks up the new definition without any code change on the Rust side. No caller code in amdgpu_redox_main.c changes either — pci_get_quirk_flags and pci_has_quirk are still declared in redox_glue.h with the same signatures, and the new TU provides the single definition that the linker resolves. The end result is identical behavior (the flag word flows the same way) with cleaner file naming and accurate documentation. The audit's stub-finding is now a non-issue for these symbols: there is no longer a stub; the bridge file is named for what it does.