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: bb4040f314a8…file 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: d835a772cfba…file 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: e8b488a444ea…file sha256: 9726dbf00f84…
Focused test komutu
cargo test --quiet -p aselsan_microkernel_simulation --test g8l_s262_qemu_profile_cfg_closureproof: 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