S144 · SOURCE-BOUND GATE EVIDENCE
K2: IPC CALL deadline, timer cancellation ve late-reply reddi
Operations --test hedefi → focused test içindeki include_str!/#[path] bağı → kaynak kesiti Bu sayfa yalnız S144 kapısına aittir; komşu kapıların kaynakları bu kabulün içine katılmaz.
S144Focused kod testiOperations id exactsource SHA exacttest target exact
operation: k2-ipc-call-deadline-timer-cancellation-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 öğesiL256–L275
kernel/src/ipc.rs::IPC_CALL_DEADLINE_CAPACITY
#[cfg(feature = "board-qemu")]
pub(crate) fn qemu_s150_deadline_sla_snapshot() -> QemuS150DeadlineSlaSnapshot {
let _irq_guard = crate::arch::aarch64::IrqGuard::new();
let fixture = QEMU_S150_DEADLINE_SLA.lock();
let deadline = fixture.registry.snapshot();
QemuS150DeadlineSlaSnapshot {
armed: fixture.armed,
complete: fixture.complete,
start_tick: fixture.start_tick,
services: fixture.services,
active: deadline.active,
registered: deadline.registered,
timed_out: deadline.timed_out,
first_service_tick: fixture.first_service_tick,
first_service_count: fixture.first_service_count,
last_service_tick: fixture.last_service_tick,
last_service_count: fixture.last_service_count,
}
}snippet sha256: 5a8eab315b26…file sha256: 4c1e27d8c6c4…
02 · Doğrulayan test kodu
Operations komutuna bağlı focused test
tam Rust öğesiL165–L181
simulation/tests/ipc_call_deadline_runtime.rs::qemu_fixture_and_smoke_require_exact_timeout_late_reply_and_reclaim_baseline
#[test]
fn qemu_fixture_and_smoke_require_exact_timeout_late_reply_and_reclaim_baseline() {
assert!(MAIN.contains("run_qemu_s144_ipc_call_deadline("));
assert!(MAIN.contains("ABI=SYS_IPC_CALL_TIMEOUT X6_RELATIVE_TICKS=3"));
assert!(MAIN.contains("TIMEOUT_AT_DEADLINE=YES WAIT_EPOCH=1 REGISTERED=1 TIMED_OUT=1"));
assert!(MAIN.contains("REPLY_RETIRED=YES LATE_REPLY_AUTHORITY_ABSENT=YES"));
assert!(MAIN.contains("CALLER_WAKE=TIMED_OUT EXACT_ONCE=YES BOTH_STRICT=YES"));
assert!(MAIN.contains("RECLAIM=10 OWNER_EP_CLEANUP=1"));
assert!(QEMU_SMOKE.contains("s144_timeout_count=$(grep -aFc '[K2-S144-DEADLINE]'"));
assert!(QEMU_SMOKE.contains("TIMEOUT=EXACT REPLY_RETIRED=YES WAKE=TIMED_OUT"));
assert!(QEMU_SMOKE.contains("STRICT EL0 CALL RETURN=TIMED_OUT"));
assert!(QEMU_SMOKE.contains("STRICT EL0 LATE REPLY=INVALID_CAPABILITY"));
assert!(QEMU_SMOKE.contains("strict ELF W^X 26/26"));
assert!(QEMU_SMOKE.contains("IPC reply 20/20"));
}snippet sha256: 13d039144591…file sha256: bde7ea7838e9…
03 · Kapı kimlik kaydı
Operations sıra, kimlik ve başlık bağı
tam Operations kaydıL24737–L24854
website/src/lib/operations.ts::k2-ipc-call-deadline-timer-cancellation-partial
{
id: "k2-ipc-call-deadline-timer-cancellation-partial",
date: "2026-08-24",
sequence: 144,
status: "passed",
umbrella_status: "partial",
title: "K2: IPC CALL deadline, timer cancellation ve late-reply reddi",
summary:
"S144, legacy SYS_IPC_CALL davranışını değiştirmeden opt-in SYS_IPC_CALL_TIMEOUT=15 ABI'sini ekler. x6 relative tick değeri half-range güvenlik kontrolüyle absolute deadline'a çevrilir; allocation-free capacity-32 registry exact caller task/wait epoch/endpoint generation/reply generation authority'sini taşır. Deadline arm, CALL publication'dan önce yapılır. Generic timer IRQ, GIC EOI sonrasında ve scheduler preemption öncesinde global IPC transaction altında exact reply authority'yi retire eder, caller'ı tek kez TimedOut ile uyandırır ve late ordinary SYS_IPC_REPLY'ı InvalidCapability ile reddeder. RECV ve notification deadline syscall'ları ile Generic SMP cross-CPU arbitration açık; K2 PARTIAL kalır.",
evidence: [
"Fail-closed bring-up: missing module 0/8 → authority/ABI 4/8 → scheduler/timer 6/8 → final S144 source/policy 10/10 PASS.",
"ABI major/minor=1/1; SYS_IPC_CALL_TIMEOUT=15, x6=relative ticks, TimedOut=4 ve InvalidDeadline=5. Legacy SYS_IPC_CALL değişmedi.",
"S129–S144 exact envanteri 33 binary / 186 testtir; 186/186 PASS. Ortak ABI/IPC odaklı kapı 48/48 PASS.",
"Allocation-free deadline capacity=32; arm-before-publication ve GIC EOI→deadline service→scheduler preemption sırası kaynak kapısıyla zorunludur. Timer tick başına en fazla bir deterministic expired CALL işlenir.",
"AArch64 board-qemu, board-rpi4, board-rpi5 ve board-rpi5+smp applicability 4/4 PASS.",
"QEMU endpoint/reply=47/48, responder/caller=51/52, domains=1330597187/1330597188. CALL now/deadline/timeout tick=75/78/78, WAIT_EPOCH=1, REGISTERED/TIMED_OUT/REPLIED=1/1/0.",
"TIMER_ARBITRATION=SERIALIZED, TIMEOUT_AT_DEADLINE=YES, REPLY_RETIRED=YES, LATE_REPLY_AUTHORITY_ABSENT=YES, CALLER_WAKE=TIMED_OUT ve EXACT_ONCE=YES.",
"İki strict EL0 peer gerçek SYS_IPC_RECV, SYS_IPC_CALL_TIMEOUT ve late ordinary SYS_IPC_REPLY kullandı; synthetic timeout/reply hook yoktur. BOTH_STRICT=YES.",
"Reclaim=10, free 6139→6129→6139, active 5→15→5, OWNER_EP_CLEANUP=1, KERNEL_FAULTS=0 ve EXECUTOR=PASS.",
"QEMU strict ELF W^X 22/22, başarılı IPC reply 19/19, final RuntimePmm 6144→6144 / active 0→0 ve scheduler SEC5 birlikte PASS.",
"Manuel 5 saniyelik QEMU log'u 310533 B / SHA-256 ecadcaf1b9dff4f5b7f1c26dfa78b31560ac7473c8bb01a2ca8dd5f853cbf307 olarak ölçüldü.",
"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.",
"Fiziksel operatör sırası görünürdür: Gücü kapat → SD kartı Pi'den çıkar → SD kartı Mac'e tak → yetkili write/verify/read-back işlemini tamamla → SD kartı Mac'ten güvenli çıkar → SD kartı güçsüz Pi'ye tak → UART capture pre-arm ve exact identity kapısını doğrula → Güç ver.",
"Bu fiziksel sıra S144'te uygulanmadı: physical/device operations=0, S124 archive/promotion STOP, son fiziksel boot/runtime PASS S92 BOOT8G ve son storage/media PASS S119.",
"Güncel planlama tahmini S144 bazında R2 bitiş aralığı S328–384, risk-paylı merkez ≈S361'dir; taahhüt veya fiziksel PASS değildir.",
"Yerel web kapıları: içerik 240/240, ESLint, TypeScript --noEmit ve Next.js static export 23/23 route / 191 file PASS.",
"Kalıcı kapsam: `docs/K2-S144-IPC-Call-Deadline-Timer-Cancellation-Proof.md`.",
],
commands: [
"cargo test -p aselsan_microkernel_simulation --test ipc_call_deadline_runtime -- --test-threads=1",
"cargo test -p aselsan_microkernel_simulation [33 exact focused test binary] -- --test-threads=1",
"cargo check -p aselsan_kernel --target aarch64-unknown-none [board-qemu, board-rpi4, board-rpi5, board-rpi5+smp]",
"make verify-qemu",
"cargo test --workspace -- --test-threads=1",
"python3 scripts/render-project-status.py --check",
"cd website && npm test && npm run lint && npx tsc --noEmit && npm run build",
],
terminalSessions: [
{
id: "s144-red-before-deadline-runtime",
title: "CALL deadline authority kaynak kapısı: fail-closed bring-up",
commandLines: [
"cargo test -p aselsan_microkernel_simulation --test ipc_call_deadline_runtime -- --test-threads=1",
],
outputLines: [
"missing deadline module: 0/8 RED",
"authority/ABI skeleton: 4/8",
"scheduler/timer integration incomplete: 6/8",
"no partial PASS accepted",
],
exitCode: 101,
outputMode: "selected",
},
{
id: "s144-green-focused-aarch64-qemu",
title: "Exact timeout, late-reply rejection, AArch64 ve QEMU",
commandLines: [
"cargo test -p aselsan_microkernel_simulation [33 exact focused test binary] -- --test-threads=1",
"cargo check -p aselsan_kernel --target aarch64-unknown-none [4 profiles]",
"make verify-qemu",
],
outputLines: [
"ipc_call_deadline_runtime: 10/10 PASS",
"combined exact focused inventory: 186/186 PASS · 33 binaries",
"focused ABI/IPC: 48/48 PASS · AArch64 compile profiles: 4/4 PASS",
"[K2-S144-DEADLINE] now=78 caller=52 wait_epoch=1 endpoint=47 reply=48 TIMEOUT=EXACT REPLY_RETIRED=YES WAKE=TIMED_OUT",
"[K2-S144] STRICT EL0 CALL RETURN=TIMED_OUT",
"[K2-S144] STRICT EL0 LATE REPLY=INVALID_CAPABILITY",
"[K2-S144] WAIT_EPOCH=1 TIMED_OUT=1 REPLIED=0 REPLY_RETIRED=YES EXACT_ONCE=YES RECLAIM=10 free=6139->6129->6139 active=5->15->5 EXECUTOR=PASS",
"QEMU smoke PASS: strict ELF W^X 22/22 · IPC reply 19/19 · S144 PASS",
],
exitCode: 0,
outputMode: "selected",
},
{
id: "s144-workspace-independent-history-red",
title: "Tam workspace: S144 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",
},
{
id: "s144-local-web-gates",
title:
"İşlemler, Timeline, tahmin ve fiziksel runbook yerel web kapıları",
commandLines: [
"cd website && npm test",
"cd website && npm run lint",
"cd website && npx tsc --noEmit",
"cd website && npm run build",
],
outputLines: [
"web content tests: 240/240 PASS",
"ESLint: PASS · TypeScript --noEmit: PASS",
"Next.js static export: 23/23 routes · 191 files PASS",
"S144 CALL timeout, S328–384 / ≈S361 forecast and exact physical operator verbs are mandatory",
"physical/device operations=0 · S124 archive/promotion STOP",
],
exitCode: 0,
outputMode: "selected",
},
],
terminalSessionsNote:
"S144 yalnız opt-in CALL timeout dilimini kapatır. RECV/notification deadline ve Generic SMP cross-CPU timer/wake açık olduğundan K2 COMPLETE değildir. Fiziksel runbook açıkça görünür, fakat uygulanmadı.",
limitations: [
"Yalnız SYS_IPC_CALL_TIMEOUT runtime'da bağlıdır; RECV ve notification deadline syscall'ları açık kalır.",
"Allocation-free deadline tablosu capacity=32 ve timer tick başına en fazla bir expired CALL işler; ürün latency/capacity bütçesi imzalı değildir.",
"Post-admission SEND revoke, forced caller teardown ve cross-CPU timeout/reply yarış matrisi tam kapanmadı.",
"Generic SMP current-task stop/migration, cross-CPU wake/TLB/reaper, capability transferi, shared-memory loan ve bütün legacy/kernel kaynaklarının ortak reconciliation'ı açıktır.",
"Full workspace bağımsız frozen S96 identity kırmızısı nedeniyle GREEN değildir.",
"S124 fiziksel archive/promotion STOP; görüntülenen güç/SD/Mac/UART sırası S144'te yürütülmedi.",
],
},snippet sha256: 2596d1736b93…file sha256: 9726dbf00f84…
Focused test komutu
cargo test -p aselsan_microkernel_simulation --test ipc_call_deadline_runtime -- --test-threads=1proof: docs/K2-S144-IPC-Call-Deadline-Timer-Cancellation-Proof.md
Registry schema v5 · generator
website/scripts/generate-code-gates.mjs · Tam SHA-256: 91d38c7b6222f0b4c117be786454853543da55a160e543d9b951057cc20dcc06