ASELSANMicrokernel
S262 · SOURCE-BOUND GATE EVIDENCE

G8l: QEMU profile cfg closure ve runtime regresyonu

Operations --test hedefi → focused test içindeki include_str!/#[path] bağı → kaynak kesiti Bu sayfa yalnız S262 kapısına aittir; komşu kapıların kaynakları bu kabulün içine katılmaz.

S262Focused kod testiOperations id exactsource SHA exacttest target exact

operation: g8l-s262-qemu-profile-cfg-closure-partial

uygulama/model · focused test · Operations · 3 exact excerpt

sequence-bound=true · implementation-bound=true
01 · Testin bağlı olduğu uygulama/model kodu

Kapının yürüttüğü gerçek kaynak

tam Rust öğesiL1–L67
kernel/src/main.rs::main.rs
//! ASELSAN Milli Telefon — gerçek aarch64 microkernel.
//!
//! M0   : bare-metal boot + PL011 UART
//! M1.1 : Exception Vector Table (VBAR_EL1) + trampolines
//! M1.2 : EC decode + BRK/SVC recover + panic on bad cases
//! M1.3 : GICv2 + ARM Virtual Timer (CNTV) using CVAL (low drift)
//! M1.4 : 100 Hz periodic tick + per-second drift measurement + irq_lock!

#![no_std]
#![no_main]
// The typed S401+ fail-closed error chain is intentionally deep.  Production
// AArch64 builds need enough query headroom to lay it out while compiling the
// post-S430 acceptance callsites.
#![recursion_limit = "256"]

extern crate alloc;

use core::panic::PanicInfo;

mod arch;
// Hands-free altyapısı (radyo değişkeni DEĞİL): PM watchdog + UART 'R'.
#[cfg(all(feature = "board-rpi5", feature = "rpi5-auto-reset"))]
mod auto_reset;
mod board; // M8.1 — Board/Platform abstraction (QEMU vs RPi4 vs future SoC)
mod driver; // M8.1.2 — Mailbox, UART driver'ları vs. (RPi4 için kritik)
mod dt; // M9.1 — Device Tree Blob parser (RPi5 + telefon SoC hazırlığı)
mod elf; // M8 — ELF64 Loader (başlangıç)
#[allow(dead_code)]
mod elf_plan; // K1 — allocation-free validator + production ELF page plan
#[cfg(feature = "board-rpi5")]
mod g7c_contract;
#[cfg(feature = "board-rpi5")]
mod g7d_contract;
#[cfg(feature = "board-rpi5")]
mod g8_contract;
#[cfg(feature = "board-rpi5")]
mod g8b_contract;
#[cfg(feature = "board-rpi5")]
mod g8c_contract;
#[cfg(feature = "board-rpi5")]
mod g8d_contract;
#[cfg(feature = "board-rpi5")]
mod g8e_contract;
#[cfg(feature = "board-rpi5")]
mod g8f_contract;
#[cfg(feature = "board-rpi5")]
mod g8g_contract;
#[cfg(feature = "board-rpi5")]
mod g8h_contract;
#[cfg(feature = "board-rpi5")]
mod g8l_arch_execution_contract;
#[cfg(feature = "board-rpi5")]
mod g8l_authority_contract;
#[cfg(feature = "board-rpi5")]
mod g8l_irq_tlbi_wiring;
#[cfg(feature = "board-rpi5")]
mod g8l_runtime_contract;
#[cfg(feature = "board-rpi5")]
mod g8l_scheduler_admission;
#[cfg(feature = "board-rpi5")]
mod g8l_target_aarch64_dispatch;
#[cfg(feature = "board-rpi5")]
mod g8l_target_dispatch_admission;
#[cfg(feature = "board-rpi5")]
mod g8l_target_dispatch_callsite;
#[cfg(feature = "board-rpi5")]
mod g8l_target_dispatch_context_switch;
snippet sha256: bb4040f314a8file sha256: cc118c00d93c
02 · Doğrulayan test kodu

Operations komutuna bağlı focused test

tam Rust öğesiL14–L47
simulation/tests/g8l_s262_qemu_profile_cfg_closure.rs::s262_all_101_g8l_kernel_modules_are_rpi5_feature_gated

#[test]
fn s262_all_101_g8l_kernel_modules_are_rpi5_feature_gated() {
    let main = include_str!("../../kernel/src/main.rs");
    let lines: Vec<_> = main.lines().collect();
    let mut modules = 0usize;

    for (index, line) in lines.iter().enumerate() {
        if line.trim_start().starts_with("mod g8l_") {
            assert!(index > 0, "G8l module has no preceding cfg line");
            assert_eq!(
                lines[index - 1].trim(),
                "#[cfg(feature = \"board-rpi5\")]",
                "ungated G8l module declaration: {}",
                line.trim()
            );
            // Preserve the exact historical S262 count while still checking
            // every later expansion's profile gate. Lifecycle modules whose
            // encoded source boundary is S262 or newer did not belong to the
            // 101-module S262 inventory.
            let later_expansion = line
                .split("_lifecycle_s")
                .nth(1)
                .and_then(|tail| tail.split('_').next())
                .and_then(|sequence| sequence.parse::<usize>().ok())
                .is_some_and(|sequence| sequence >= 262);
            if !later_expansion {
                modules += 1;
            }
        }
    }

    assert_eq!(modules, 101);
}
snippet sha256: d835a772cfbafile sha256: 3e11a3023c54
03 · Kapı kimlik kaydı

Operations sıra, kimlik ve başlık bağı

tam Operations kaydıL18426–L18482
website/src/lib/operations.ts::g8l-s262-qemu-profile-cfg-closure-partial
  {
    id: "g8l-s262-qemu-profile-cfg-closure-partial",
    date: "2026-08-25",
    sequence: 262,
    status: "passed",
    umbrella_status: "partial",
    title: "G8l: QEMU profile cfg closure ve runtime regresyonu",
    summary:
      "S262 8/8 PASS ile 101 RPi5-only G8l modülünü ve scheduler'daki G8l owner alanı/initializer/metot/statiklerini board-rpi5 feature sınırına aldı. İlk varsayılan derleme 119, ara derleme 18 hata verdi; iki RED korunur. Final default AArch64 check ile RPi5 normal/SMP derlemeleri PASS, kanonik QEMU smoke 31/31 W^X ve S130–S154 zinciriyle PASS'tir. S154'ün 1024 retirement yükü için yalnız host gözlem penceresi 24→32 saniyeye çıkarıldı; guest 320 ms SLA değişmedi. Coverage 34/111, 77 unrouted; whole-scheduler exclusion yoktur.",
    evidence: [
      "S262 focused kaynak kapısı iki byte-equal koşuda 8/8 PASS verdi: 121 B / SHA-256 804aee163401cd45e77ae8d472a9f50365d537aa431713bcf02a901cff7a7939.",
      "Fail-closed derleme geçmişi korunur: crate-root G8l modül sızıntısı 119 unresolved import ile; scheduler G8l state ayrımı öncesi ara profil 18 hata ile durdu. Bu koşular PASS sayılmadı.",
      "Exact cfg closure: 101/101 mod g8l_ declaration board-rpi5 gated; Task owner field, 2/2 initializer, 3/3 owner method ve G8L_SCHEDULER_MUTATION_EXCLUSION static aynı feature sınırındadır. Genel IPC/MM ile S144–S154 QEMU girişleri korunur; S261'in yedi guarded read'i yerindedir.",
      "Default/QEMU AArch64 check iki koşuda byte-equal PASS: 110541 B / 291 warning başlığı / SHA-256 7d8794568a3f1da879f2dce9b49afa8f078e69476b4b3005231931a6e005b289. Zero-warning iddiası yoktur.",
      "RPi5 normal/SMP ikişer byte-equal PASS: normal 359581 B / 699 warning / SHA-256 bc4326fd4e460fca4dc2f9a315891a7a8416978cfc35d38c7d040eced5d8da96; SMP 359523 B / 699 warning / SHA-256 4c4e8eaa6bfcf803567f1e4113f78ea883eb9e8b9a40c51dddd8e6ad4795bce1.",
      "make verify-qemu PASS: 115979 B / SHA-256 3eb6a78f3febd54b52c35eefdf558373ff1a328e95b17f95bdb9652d150f14c1. strict ELF W^X 31/31, S130–S154, S154 ROUNDS=32/FULL_TABLES=32/RETIRED=1024/SLA=PASS, RuntimePmm 6144→6144 ve active 0→0, EL0 x4096, IPC 20/20, SEC5, kernel fault=0.",
      "QEMU dış gözlem bütçesi 24→32 saniyedir. FULL_TABLE_SLA_NS=320000000, guest deadline'ları ve kabul regex'leri değiştirilmedi; SLA gevşetilmedi.",
      "Birleşik manifest-aware workspace audit'i iki bağımsız koşuda 224 grup / 2103/2103 PASS, 0 fail ve exact 7 tarihsel G8h assertion filtered verdi. Süre-normalize test-result özeti byte-equal 21609 B / SHA-256 1dad065af7e7b30b69f86603330c453a25624ce077a25cefc3a82a20cc4c89b9'dur. Filtresiz koşu 51939 B / SHA-256 238d20e36476c164f75dcd4f54c5047c72dc2768fca6893f86a0bb1fc3ee7098 ile exit 101 verdi; ilk hata frozen S96 exceptions.S identity mismatch'tir. Beklentiler gevşetilmedi ve full-workspace GREEN iddia edilmez.",
      "S262 physical/device operations=0; RUNBOOK_EXECUTED_IN_S262=NO. Tarihsel S124 physical BOOT8H PASS ve tam operatör sırası görünür biçimde korunur.",
      "Canlı marker: S262_8_OF_8_QEMU_PROFILE_CFG_CLOSURE_INITIAL_RED_119_THEN_18_ERRORS_FINAL_DEFAULT_AARCH64_PASS_101_OF_101_G8L_MODULES_BOARD_RPI5_GATED_TASK_OWNER_FIELD_2_OF_2_INITIALIZERS_3_OF_3_METHODS_EXCLUSION_STATIC_GATED_GENERIC_IPC_MM_QEMU_PRESERVED_S261_SEVEN_READS_PRESERVED_HOST_WINDOW_24_TO_32_SECONDS_GUEST_SLA_320000000_NS_UNCHANGED_QEMU_WX_31_OF_31_S130_TO_S154_S154_1024_RETIRED_RUNTIME_PMM_BASELINE_EL0_4096_IPC_20_OF_20_SEC5_KERNEL_FAULTS_0_TOTAL_34_OF_111_GUARDED_77_UNROUTED_WORKSPACE_2103_PASS_7_HISTORICAL_G8H_ASSERTIONS_RED_NO_PRODUCTION_EXCLUSIVE_WRAPPER_NO_WHOLE_SCHEDULER_EXCLUSION_RPI5_RUNTIME_NOT_INVOKED_PHYSICAL_CPU2_CPU3_HOTPLUG_SOAK_GENERIC_SMP_OPEN_FULL_PHYSICAL_RUNBOOK_VISIBLE_S422_TO_S472_S447_NO_RUNBOOK_EXECUTED_IN_S262_VERIFIED.",
    ],
    commands: [
      "cargo test --quiet -p aselsan_microkernel_simulation --test g8l_s262_qemu_profile_cfg_closure",
      "cargo check --quiet -p aselsan_kernel --target aarch64-unknown-none",
      "cargo check --quiet -p aselsan_kernel --target aarch64-unknown-none --no-default-features --features board-rpi5",
      "cargo check --quiet -p aselsan_kernel --target aarch64-unknown-none --no-default-features --features board-rpi5,smp",
      "make verify-qemu",
    ],
    terminalSessions: [
      {
        id: "s262-g8l-qemu-profile-cfg-closure",
        title: "G8l S262 QEMU profile cfg closure ve runtime regresyonu",
        commandLines: [
          "cargo test --quiet -p aselsan_microkernel_simulation --test g8l_s262_qemu_profile_cfg_closure",
          "make verify-qemu",
        ],
        outputLines: [
          "test result: ok; S262 focused 1 group / 8 passed; 0 failed",
          "compile history: RED 119 errors → RED 18 errors → default AArch64 PASS",
          "cfg closure: G8l modules 101/101; Task initializers 2/2; owner methods 3/3; exclusion static gated",
          "QEMU smoke PASS: W^X 31/31 · S130–S154 · S154 retired 1024 · IPC 20/20 · SEC5 · kernel faults 0",
          "host window 24→32 seconds; guest FULL_TABLE_SLA_NS=320000000 unchanged",
        ],
        exitCode: 0,
        outputMode: "selected",
      },
    ],
    terminalSessionsNote:
      "S262 yalnız build-profile closure ve mevcut QEMU runtime regresyonunu kapatır; RPi5 G8l provider runtime invocation veya Generic SMP kanıtı değildir.",
    limitations: [
      "S262 QEMU profilini ve mevcut runtime zincirini doğrular; RPi5 G8l provider'ını runtime'da çağırmaz.",
      "Toplam 34/111 scheduler erişimi guarded, 77 erişim unrouted kalır.",
      "Production exclusive wrapper ve whole-scheduler exclusion proof yoktur.",
      "Fiziksel RPi, CPU2/CPU3, hotplug, soak ve Generic SMP açık kalır.",
      "S262 fiziksel/device operasyonu yapmadı; RUNBOOK_EXECUTED_IN_S262=NO.",
    ],
  },
snippet sha256: e8b488a444eafile sha256: 9726dbf00f84
Focused test komutu
cargo test --quiet -p aselsan_microkernel_simulation --test g8l_s262_qemu_profile_cfg_closure
proof: docs/M8.1-RPi5-G8l-S262-QEMU-Profile-Cfg-Closure-Proof.md
Registry schema v5 · generator website/scripts/generate-code-gates.mjs · Tam SHA-256: 3050638b71a684d8f8f947a8a6faa237a17fa8db5dc0db04fb207b668b462af9