ASELSANMicrokernel
S28 · SOURCE-BOUND GATE EVIDENCE

RPi5 G7a CPU0 kooperatif scheduler fiziksel BOOT7 PASS verdi

S28 fiziksel log kapısı → kendi G7A validator kodu Bu sayfa yalnız S28 kapısına aittir; komşu kapıların kaynakları bu kabulün içine katılmaz.

S28Komut / fiziksel sözleşmeOperations id exactsource SHA exact

operation: rpi5-g7a-physical-boot7-pass

script/Makefile/config · Operations · 2 exact excerpt

sequence-bound=true · implementation-bound=false
01 · Yürütme / doğrulama kodu

Kapının gerçek repository sözleşmesi

tam Rust öğesiL6–L55
simulation/examples/verify_rpi5_g7a_log.rs::main

fn main() -> ExitCode {
    let mut args = env::args_os();
    let program = args
        .next()
        .and_then(|value| value.into_string().ok())
        .unwrap_or_else(|| "verify_rpi5_g7a_log".to_string());
    let Some(path) = args.next() else {
        eprintln!("usage: {program} <screenlog-path|->");
        return ExitCode::from(2);
    };
    if args.next().is_some() {
        eprintln!("usage: {program} <screenlog-path|->");
        return ExitCode::from(2);
    }

    let input = if path == "-" {
        let mut bytes = Vec::new();
        if let Err(error) = io::stdin().read_to_end(&mut bytes) {
            eprintln!("failed to read stdin: {error}");
            return ExitCode::from(2);
        }
        bytes
    } else {
        match fs::read(&path) {
            Ok(bytes) => bytes,
            Err(error) => {
                eprintln!("failed to read {:?}: {error}", path);
                return ExitCode::from(2);
            }
        }
    };

    match verify_transcript(&input) {
        Ok(evidence) => {
            println!(
                "G7a UART evidence PASS: start_ticks={} end_ticks={} delta={} sec_samples={}",
                evidence.start_ticks,
                evidence.end_ticks,
                evidence.tick_delta(),
                evidence.sec_samples
            );
            ExitCode::SUCCESS
        }
        Err(error) => {
            eprintln!("{error}");
            ExitCode::FAILURE
        }
    }
}
snippet sha256: 94d81c2f1874file sha256: c7269d3a26a9
02 · Kapı kimlik kaydı

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

tam Operations kaydıL34582–L34616
website/src/lib/operations.ts::rpi5-g7a-physical-boot7-pass
  {
    id: "rpi5-g7a-physical-boot7-pass",
    date: "2026-08-20",
    sequence: 28,
    status: "passed",
    title: "RPi5 G7a CPU0 kooperatif scheduler fiziksel BOOT7 PASS verdi",
    summary:
      "50a802e7…b266 G7a paketi gerçek Raspberry Pi 5'te Debug Probe UART10 ile çalıştırıldı. CPU=0, MODE=COOP, TASKS=2 ve FPEN=3 başlangıç sözleşmesi; açık yield noktalarındaki A1→B1→A2→B2 sırası ve tam 100 tick sonra BOOT7 SCHED=OK fiziksel olarak doğrulandı. G7a kapandı; sıradaki dar kapı reserved-aware monotonic PMM olan G7b'dir.",
    evidence: [
      "Dondurulan /tmp/aselsanos-g7a-physical-clean.kgXVzD/screenlog.0 kaydı 12.335 bayt ve 253 satırdır; SHA-256 değeri 42b30a5dbc201f44f700ae26bdd1936993dc0a19ecbffaf3d4ec54b9330fbfc6 olarak sabitlendi.",
      "BOOT0–BOOT6 regresyon zinciri tam birer kez ve doğru sırada korundu; G7S0, A1, B1, A2, B2 ve BOOT7 marker'ları sırasıyla 191, 193, 195, 197, 201 ve 203. satırlarda tam birer kez görüldü.",
      "Başlangıç marker'ı tam olarak ASELSAN/G7S0 CPU=0 MODE=COOP TASKS=2 FPEN=3 START_TICKS=102 değerlerini verdi.",
      "Dört görev marker'ı ASELSAN/G7S1 TASK=A STEP=1, TASK=B STEP=1, TASK=A STEP=2 ve TASK=B STEP=2 sırasıyla A1→B1→A2→B2 kooperatif geçişini kanıtladı.",
      "Başarı marker'ı tam olarak ASELSAN/BOOT7 SCHED=OK ORDER=ABAB STEPS=4 TICKS=202 oldu; start_ticks=102 ile end_ticks=202 arasındaki fark kabul eşiğine eşit 100 tick'tir.",
      "Fail-closed host doğrulayıcı gerçek kaydı PASS kabul etti: start_ticks=102, end_ticks=202, delta=100 ve sec_samples=52.",
      "SEC1–SEC52 kesintisizdir; her örnekte ticks=sec×100 ve drift +0 µs, count artışı 6–7 aralığındadır. G7ERR, RAMERR, GICERR, TIMERERR, panic, abort, unknown/unhandled IRQ, overflow, FATAL ve [EXC] taramaları sıfır sonuç verdi.",
      "Runtime bellek regresyonu G7a imaj boyutuna göre guard'ı 0x10c5000–0x10c6000, tam 8 MiB heap'i 0x10c6000–0x18c6000 olarak ölçtü; BOOT6 BOX=0xa5a51234 ön koşulu BOOT7'den önce geçti.",
      "Kayıt yalnız offset 0'da validator allowance'ı içindeki tek leading NUL'u içerir; başka NUL/control byte yoktur, 253 mantıksal satırın tamamı CRLF ile sonlanır ve payload geçerli UTF-8'dir.",
    ],
    commands: [
      "wc -c -l /tmp/aselsanos-g7a-physical-clean.kgXVzD/screenlog.0",
      "shasum -a 256 /tmp/aselsanos-g7a-physical-clean.kgXVzD/screenlog.0",
      "cargo run -p aselsan_microkernel_simulation --example verify_rpi5_g7a_log -- /tmp/aselsanos-g7a-physical-clean.kgXVzD/screenlog.0",
      "UART marker order + uniqueness audit",
      "SEC1..SEC52 sequence/tick/drift/count audit",
      "kernel error marker scan",
    ],
    limitations: [
      "UART logu imaj SHA-256 değerini kendisi basmaz; 50a802e7…b266 artefact bağı sıra 27 kart 3/3/cmp doğrulaması ve kartın yazma ile boot arasında değiştirilmediği fiziksel chain-of-custody kaydına dayanır.",
      "Bu PASS yalnız CPU0'da iki EL1 kernel görevinin açık yield noktalarıyla kooperatif context switch yaptığını kanıtlar; IRQ tabanlı preemption, EL0/userspace veya SMP/secondary-core yürütmesi kanıtlanmaz.",
      "Ortak scheduler kernel stack Box sahipliğini Task içinde tutmadığı için iki sabit 64 KiB kernel stack'i bu smoke boyunca geri alınmaz; toplam 128 KiB ile sınırlı bu leak, stack lifecycle/deallocation veya gerçek guard izolasyonu kanıtı değildir.",
      "BOOT0 öncesindeki HAT algılanmadı, eksik boot yardımcı dosyaları ve BSC A/B no ACK mesajları firmware chatter'ıdır; firmware imajı yükleyip OS'i başlattı. Kernel logu BRK/SVC smoke testinin geçici atlandığını da bildirir, dolayısıyla exception/SVC kanıtı yoktur.",
      "SEC1–SEC52 yaklaşık 52 saniyelik laboratuvar smoke kaydıdır; uzun soak, SPI ve farklı güç/sıcaklık koşulları ayrıca ölçülmelidir. Sıradaki kapı G7b reserved-aware monotonic PMM'dir.",
    ],
  },
snippet sha256: d6d3d56e5c03file sha256: 9726dbf00f84
Kayıtlı yürütme/kanıt komutu
wc -c -l /tmp/aselsanos-g7a-physical-clean.kgXVzD/screenlog.0
Registry schema v5 · generator website/scripts/generate-code-gates.mjs · Tam SHA-256: 91d38c7b6222f0b4c117be786454853543da55a160e543d9b951057cc20dcc06