ASELSANMicrokernel
S132 · SOURCE-BOUND GATE EVIDENCE

K1/MEM1–MEM2/K2: canlı IPC grafiği OOM teardown

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

S132Focused kod testiOperations id exactsource SHA exacttest target exact

operation: k1-mem1-mem2-k2-live-ipc-oom-teardown-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 öğesiL4282–L4301
kernel/src/task/scheduler.rs::qemu_s134_responder_cancellation_state

/// S134 post-cancellation audit before the supervisor destroys its still-live
/// endpoint. Both EL0 peers and the one-shot reply must be absent, while the
/// independently owned endpoint remains empty and exactly rooted.
#[cfg(feature = "board-qemu")]
pub(crate) unsafe fn qemu_s134_responder_cancellation_state(
    caller_task: u64,
    responder_task: u64,
    endpoint_owner: u64,
    target_endpoint: crate::ui::capability::CapId,
    reply_cap_id: crate::ui::capability::CapId,
) -> bool {
    qemu_strict_peers_cancellation_state(
        caller_task,
        responder_task,
        endpoint_owner,
        target_endpoint,
        reply_cap_id,
    )
}
snippet sha256: 28e1ef5d357bfile sha256: 838dd474448c
02 · Doğrulayan test kodu

Operations komutuna bağlı focused test

tam Rust öğesiL60–L73
simulation/tests/runtime_oom_live_ipc_teardown.rs::qemu_runtime_proves_peer_wake_and_graph_removal_on_later_stack

#[test]
fn qemu_runtime_proves_peer_wake_and_graph_removal_on_later_stack() {
    let main = source("kernel/src/main.rs");
    let scheduler = source("kernel/src/task/scheduler.rs");

    assert!(main.contains("run_qemu_live_ipc_runtime_oom_smoke"));
    assert!(main.contains("qemu_live_ipc_oom_cancelled_caller"));
    assert!(main.contains("qemu_live_ipc_runtime_oom_supervisor"));
    assert!(main.contains("[K1-MEM2-S132] live IPC graph PASS"));
    assert!(main.contains("OWNED_EP=1 DRAINED_CALLS=1 RESPONDER_CALLS=0"));
    assert!(main.contains("CALLER_WAKE=INVALID_CAPABILITY GRAPH=ABSENT"));
    assert!(scheduler.contains("qemu_ipc_cancellation_witness"));
}
snippet sha256: b66d8df288bafile sha256: 7699d601d559
03 · Kapı kimlik kaydı

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

tam Operations kaydıL26204–L26308
website/src/lib/operations.ts::k1-mem1-mem2-k2-live-ipc-oom-teardown-partial
  {
    id: "k1-mem1-mem2-k2-live-ipc-oom-teardown-partial",
    date: "2026-08-23",
    sequence: 132,
    status: "passed",
    umbrella_status: "partial",
    title: "K1/MEM1–MEM2/K2: canlı IPC grafiği OOM teardown",
    summary:
      "S132, S131'in empty-IPC current victim sınırını production registry, CNode, rendezvous ve scheduler state'inde gerçek bir victim-owned endpoint + typed SEND grant + reply + parked CALL + BlockedOnIpc caller grafiğiyle kapatır. Current-task OOM ordinary IPC lifecycle teardown yolunda endpoint'i kaldırdı, tek queued CALL'u drain etti, endpoint/reply authority'lerini söktü ve exact caller'ı InvalidCapability ile uyandırdı; caller çalıştığında graph absence yeniden audit edildi. Later-stack reaper victim frame'lerini 5→0 ve PMM free 6134→6139 döndürdü; ACK/rearm/NORMAL exact PASS. Pre-scheduler graph QEMU fixture ile enjekte edildiği için EL0 SYS_IPC_CALL uçtan uca transportu, responder-bound runtime ve Generic SMP açık; K1/MEM0–MEM2/K2 PARTIAL.",
    evidence: [
      "RED kapısı production seam'leri yokken 0/5, exit101; typed endpoint grant, IPC teardown raporu, parked graph fixture, caller wake/absence witness'ı ve S132 QEMU marker'ı eksikti.",
      "GREEN `runtime_oom_live_ipc_teardown` 5/5; S128–S132 scheduler/IPC/ASID/kmap/lifecycle birleşik focused matrisi 109/109 (21 grup) PASS.",
      "Typed task-to-task grant kernel-root authority, ENDPOINT_GRANT, exact live registry object ve recipient CNode'u commit öncesi doğrular; derived cap ikinci registry/provenance nesnesi üretmez.",
      "QEMU canlı grafiği: target=14, caller=15, supervisor=16, endpoint=8, reply=9, PARKED/ARMED=YES; caller wake=InvalidCapability ve GRAPH=ABSENT.",
      "QEMU teardown marker: event=1, expected/observed 5/0, free 6134→6139, OWNED_EP=1, DRAINED_CALLS=1, RESPONDER_CALLS=0, CURRENT/LATER_STACK/ACK=YES, REARM=2, LEVEL=NORMAL, EXECUTOR=PASS.",
      "QEMU strict ELF W^X 5/5, S130 Ready-task, S131 current-task, RuntimePmm baseline 6144→6144, EL0 return x4096, IPC reply 3/3 ve scheduler SEC5 regresyonlarını birlikte geçti.",
      "AArch64 board-qemu, board-rpi4, board-rpi5 ve board-rpi5+smp compile applicability 4/4 PASS.",
      "Tam workspace yalnız bağımsız frozen S96 exceptions.S SHA-256 uyuşmazlığında durdu: observed f7b47672…04fd, expected c0eed3e2…cb89; full GREEN iddia edilmedi.",
      "Web 228/228, lint, TypeScript ve statik 23/23 PASS; production deployment sonrası Operations/Timeline/Yol Haritası custom-domain çıktıları byte-exact 3/3 doğrulandı.",
      "Kalıcı kapsam ve açık S133 sınırı: `docs/K1-S132-Live-IPC-OOM-Teardown-Proof.md`.",
    ],
    commands: [
      "cargo test -p aselsan_microkernel_simulation --test runtime_oom_live_ipc_teardown -- --test-threads=1",
      "cargo test -p aselsan_microkernel_simulation --test aarch64_asid_encoding --test ipc_queue_source --test kernel_kmap_source --test memory_accounting --test memory_pressure --test runtime_allocation_token --test runtime_boot_authority --test runtime_boot_authority_fail_closed --test runtime_boot_authority_no_alloc --test runtime_domain_quota --test runtime_elf_reclaim_source --test runtime_memory_reconciliation --test runtime_oom_effect --test runtime_oom_scheduler_executor --test runtime_oom_current_deferred --test runtime_oom_live_ipc_teardown --test runtime_pressure_authority --test task_id_allocator --test task_lifecycle_source --test task_publication_source --test task_spawn_asid_source -- --test-threads=1",
      "cargo check -p aselsan_kernel --target aarch64-unknown-none --no-default-features --features board-qemu",
      "cargo check -p aselsan_kernel --target aarch64-unknown-none --no-default-features --features board-rpi4",
      "cargo check -p aselsan_kernel --target aarch64-unknown-none --no-default-features --features board-rpi5",
      "cargo check -p aselsan_kernel --target aarch64-unknown-none --no-default-features --features board-rpi5,smp",
      "make verify-qemu",
      "cargo test --workspace -- --test-threads=1",
    ],
    terminalSessions: [
      {
        id: "s132-red-missing-live-ipc-contract",
        title: "S132 RED: canlı IPC OOM sözleşmesi yok",
        commandLines: [
          "cargo test -p aselsan_microkernel_simulation --test runtime_oom_live_ipc_teardown -- --test-threads=1",
        ],
        outputLines: [
          "runtime_oom_live_ipc_teardown: 0/5 PASS",
          "missing typed grant/report/parked graph/caller witness/QEMU marker",
        ],
        exitCode: 101,
        outputMode: "selected",
      },
      {
        id: "s132-green-focused-live-ipc",
        title: "Canlı IPC teardown ve birleşik lifecycle kapıları",
        commandLines: [
          "cargo test -p aselsan_microkernel_simulation --test runtime_oom_live_ipc_teardown -- --test-threads=1",
          "cargo test -p aselsan_microkernel_simulation --test aarch64_asid_encoding --test ipc_queue_source --test kernel_kmap_source --test memory_accounting --test memory_pressure --test runtime_allocation_token --test runtime_boot_authority --test runtime_boot_authority_fail_closed --test runtime_boot_authority_no_alloc --test runtime_domain_quota --test runtime_elf_reclaim_source --test runtime_memory_reconciliation --test runtime_oom_effect --test runtime_oom_scheduler_executor --test runtime_oom_current_deferred --test runtime_oom_live_ipc_teardown --test runtime_pressure_authority --test task_id_allocator --test task_lifecycle_source --test task_publication_source --test task_spawn_asid_source -- --test-threads=1",
        ],
        outputLines: [
          "runtime_oom_live_ipc_teardown: 5/5 PASS",
          "combined focused matrix: 109/109 PASS · 21 groups",
          "teardown report: owned_endpoints=1 · drained_calls=1 · responder_calls=0",
        ],
        exitCode: 0,
        outputMode: "selected",
      },
      {
        id: "s132-aarch64-qemu-live-ipc-runtime",
        title: "Dört AArch64 profil ve real-registry live IPC QEMU teardown",
        commandLines: [
          "cargo check -p aselsan_kernel --target aarch64-unknown-none --no-default-features --features board-qemu",
          "cargo check -p aselsan_kernel --target aarch64-unknown-none --no-default-features --features board-rpi4",
          "cargo check -p aselsan_kernel --target aarch64-unknown-none --no-default-features --features board-rpi5",
          "cargo check -p aselsan_kernel --target aarch64-unknown-none --no-default-features --features board-rpi5,smp",
          "make verify-qemu",
        ],
        outputLines: [
          "AArch64 compile profiles: 4/4 PASS",
          "[K1-MEM2-S132] live IPC graph PASS target=14 caller=15 supervisor=16 endpoint=8 reply=9 PARKED=YES ARMED=YES",
          "[K1-MEM2-S132] caller=15 endpoint=8 reply=9 CALLER_WAKE=INVALID_CAPABILITY GRAPH=ABSENT",
          "[K1-MEM2-S132] task=14 caller=15 domain=1330597171 event=1 expected=5 observed=0 free=6134->6139 OWNED_EP=1 DRAINED_CALLS=1 RESPONDER_CALLS=0 CALLER_WAKE=INVALID_CAPABILITY GRAPH=ABSENT CURRENT=YES LATER_STACK=YES IPC=LIVE ACK=YES REARM=2 LEVEL=NORMAL EXECUTOR=PASS",
          "QEMU smoke PASS: strict ELF W^X 5/5 + S130/S131/S132 OOM runtime + regressions",
        ],
        exitCode: 0,
        outputMode: "selected",
      },
      {
        id: "s132-workspace-independent-history-red",
        title: "Tam workspace: S132 dışı frozen S96 identity kırmızısı",
        commandLines: ["cargo test --workspace -- --test-threads=1"],
        outputLines: [
          "rpi5_g8h_integration_source::wiring_does_not_mutate_timer_gic_boot_or_expand_runtime_scope: FAILED",
          "S96 exceptions.S SHA-256: observed f7b47672...04fd, frozen expected c0eed3e2...cb89",
          "full-workspace GREEN is not claimed",
        ],
        exitCode: 101,
        outputMode: "selected",
      },
    ],
    terminalSessionsNote:
      "S132 real production registry/CNode/rendezvous state'i üzerinde QEMU Current-task/later-stack teardown kanıtıdır; yalnız graph'ın pre-scheduler kurulumu fixture'dır. Fiziksel veya device işlemi yapılmadı.",
    limitations: [
      "QEMU fixture pre-scheduler queued CALL graph'ını enjekte eder; EL0 SYS_IPC_CALL giriş/user-copy/blocking transportu S133 kabulidir.",
      "Tek owned endpoint + queued parked caller runtime kanıtlıdır; responder-bound cancellation bu koşuda sayaç 0'dır.",
      "Successful-SVC trigger production pressure daemon/timer yolu değildir; gerçek supervisor endpoint transportu bağlı değildir.",
      "Carrier tek in-flight slotudur; queue/backpressure ve supervisor crash recovery yoktur.",
      "CPU0-only scheduler kanıtıdır; cross-CPU stop, migration-safe runqueue, TLB shootdown ve SMP reaper açıktır.",
      "Yalnız strict RuntimePmm task'ları authoritative domain/frame bağı taşır; legacy producers açık kalır.",
      "K1, MEM0, MEM1, MEM2 ve K2 COMPLETE değildir; S124 fiziksel archive/promotion STOP kalır.",
    ],
  },
snippet sha256: 073840a6a397file sha256: 9726dbf00f84
Focused test komutu
cargo test -p aselsan_microkernel_simulation --test runtime_oom_live_ipc_teardown -- --test-threads=1
proof: docs/K1-S132-Live-IPC-OOM-Teardown-Proof.md
Registry schema v5 · generator website/scripts/generate-code-gates.mjs · Tam SHA-256: 3050638b71a684d8f8f947a8a6faa237a17fa8db5dc0db04fb207b668b462af9