S51 · SOURCE-BOUND GATE EVIDENCE
RPi5 G8c gerçek UART10 kaydında CPU1 yerel task ve BOOT8C fiziksel PASS verdi
Operations --test hedefi → focused test içindeki include_str!/#[path] bağı → kaynak kesiti Bu sayfa yalnız S51 kapısına aittir; komşu kapıların kaynakları bu kabulün içine katılmaz.
S51Focused kod testiOperations id exactsource SHA exacttest target exact
operation: rpi5-g8c-physical-boot8c-pass
uygulama/model · focused test · Operations · 3 exact excerpt
sequence-bound=true · implementation-bound=false
01 · Testin bağlı olduğu uygulama/model kodu
Kapının yürüttüğü gerçek kaynak
tam Rust öğesiL681–L685
kernel/src/rpi5_g8c.rs::rpi5_g8d_existing_task_stack_canary_intact
#[inline]
pub(crate) unsafe fn rpi5_g8d_existing_task_stack_canary_intact() -> bool {
stack_canary_intact()
}snippet sha256: 4e2d1f5f06f3…file sha256: 0eca06bc35b3…
02 · Doğrulayan test kodu
Operations komutuna bağlı focused test
tam Rust öğesiL146–L185
simulation/tests/rpi5_g8c_source.rs::cpu1_dispatch_validates_registers_stack_restore_and_local_idle
#[test]
fn cpu1_dispatch_validates_registers_stack_restore_and_local_idle() {
let secondary = G8C
.split("pub extern \"C\" fn rpi5_g8c_secondary_run")
.nth(1)
.expect("G8c secondary")
.split("/// CPU0 side")
.next()
.expect("bounded G8c secondary");
for contract in [
"rpi5_g8b_prerequisite_complete",
"read_mpidr()",
"current_el()",
"read_tpidr()",
"read_daif()",
"timer::read_control()",
"read_cpacr()",
"get_kernel_stack_top_for_cpu",
"stack_canary_intact()",
"rpi5_g8c_call_on_stack",
"task_return != TASK_RETURN",
"scheduler_sp_after != scheduler_sp_before",
"STAGE_TASK_RETURNED",
"STAGE_PARKED",
"asm!(\"wfe\"",
] {
assert!(secondary.contains(contract), "missing {contract}");
}
for forbidden in [
"kprintln!",
"DAIFClr",
"timer::init",
"gic::",
"task::scheduler",
"spawn_kernel_task",
] {
assert!(!secondary.contains(forbidden), "forbidden {forbidden}");
}
}snippet sha256: cd10908638ee…file sha256: 987f44d02907…
03 · Kapı kimlik kaydı
Operations sıra, kimlik ve başlık bağı
tam Operations kaydıL32442–L32550
website/src/lib/operations.ts::rpi5-g8c-physical-boot8c-pass
{
id: "rpi5-g8c-physical-boot8c-pass",
date: "2026-08-21",
sequence: 51,
status: "passed",
title:
"RPi5 G8c gerçek UART10 kaydında CPU1 yerel task ve BOOT8C fiziksel PASS verdi",
summary:
"Sıra 50'de exact karta formatsız yazılan 255168 bayt / 2950ca3c…c8538 G8c paketi gerçek Raspberry Pi 5'te fail-closed capture zinciriyle sınandı. İlk capture kullanıcı güç vermeden önce 900 saniyelik güvenlik zaman aşımına ulaştı; tek NUL içeren 1 baytlık immutable raw reddedildi ve daha sonra yapılan güç açılışı kanıta katılmadı. Pi tamamen kapatıldıktan sonra aynı /dev/cu.usbmodem214402 aygıtında same-descriptor 115200 8N1 raw ve TCIFLUSH ile arm edilen ikinci capture değişmemiş 13408 bayt / 04158260…e0db olarak donduruldu. Strict G8c validator ve bağımsız byte/sıra/timer audit'i doğrudan bu raw üzerinde PASS verdi: CPU1-pinned tek statik EL1 task gerçek 64 KiB stack'te RUNS=1 ve PROGRESS=3 ile çalıştı; CANARY/STACK_RESTORE OK, timer OFF ve IRQ maskeli local-idle dönüşü ardından ilişkili SEC8 ile BOOT8C 701→800 fiziksel olarak kapandı.",
evidence: [
"Fiziksel artefakt sıra 50'de exact 62,549,655,552 bayt TISD64G Secure Digital/FAT32 karta format atmadan yazılan 255168 bayt / 2950ca3c1b0238e7e26f3f4b6c2cfa44cd88870a01596e5dc3dba2d39c1c8538 G8c imajıdır; kart manifesti 3/3, dört cmp, sync/eject geçti.",
"Capture /dev/cu.usbmodem214402 üzerinde tek açık descriptor ile effective 115200/115200, 8N1 raw, parity/flow-control kapalı ve input_flushed=TCIFLUSH olarak capture_armed=YES verdi; güç yalnız bundan sonra açıldı.",
"İlk arm penceresi güç verilmeden önce timeout oldu. /var/folders/lm/x3tmtzs943x9tbzkpv7gf8hr0000gn/T/aselsanos-g8c-uart10.yquzQ4DvJL/uart10.raw exact 1 bayt / 6e340b9cffb37a989ca544e6bb780a2c78901d3fb33738768511a30617afa01d, tek 0x00 ve mode 0444 olarak donduruldu; terminal_seen=false ve exit=3 olduğu için reddedildi.",
"Pi tamamen kapatıldıktan sonra ikinci capture güç öncesinde yeniden arm edildi; terminal BOOT8C marker'ı byte 13050'de görüldü ve üç saniyelik grace sonrasında capture kapandı.",
"Kabul edilen immutable raw /var/folders/lm/x3tmtzs943x9tbzkpv7gf8hr0000gn/T/aselsanos-g8c-uart10.yquzQ4DvJL/uart10-attempt2.raw exact 13408 bayt / 04158260078e3023e8ac2cacaf401a34613569ad40b7dc63257a178c0cc4e0db ve mode -r--r--r-- olarak donduruldu.",
"Accepted raw leading/total NUL=2/2, CR/LF/CRLF=235/235/235, bare CR/LF=0/0, trailing CRLF=yes, NUL sonrası UTF-8 ve forbidden control byte=0 verdi.",
"Strict verify_rpi5_g8c_log değişmemiş raw üzerinde doğrudan ‘G8c PASS: cpu=1 runs=1 progress=3 task_tick=701 stack_sp=0xd0000 timer_delta=99’ verdi.",
"Aynı boot G8b prerequisite'ini yeniden geçti: BOOT8B BASE_TICKS=601 TICKS=700 sonrasında G8C0 START_TICKS=701 ile handoff 1 tick oldu.",
"G8C0 exact CPU=0 TARGET=CPU1 MPIDR=0x100 POLICY=PINNED_LOCAL TASKS=1 RUNQUEUE=STATIC1 STACK=STATIC64K IRQ=MASKED TIMER=OFF FP=TRAP MIGRATION/IPI/TLB_SHOOTDOWN/CPU2_3=OFF START_TICKS=701 verdi.",
"G8C1 exact CPU=1 MPIDR=0x100 TASK=PINNED0 RUNS=1 PROGRESS=3 STACK_SP=0xd0000 CANARY=OK STACK_RESTORE=OK RETURN=LOCAL_IDLE IRQ=MASKED TIMER=OFF EL=1 TPIDR=1 TICK=701 verdi.",
"G8C1 ile BOOT8C arasında [SEC 8] ticks=800 drift=+0 µs örneği görüldü. BOOT8C exact SCHED=LOCAL CPU1_TASK=1 RUNS=1 PROGRESS=3 STACK=STATIC64K CANARY/STACK_RESTORE/RETURN=OK, IRQ=MASKED, TIMER/IPI/MIGRATION/TLB_SHOOTDOWN/CPU2_3=OFF, SCOPE=CPU1_LOCAL_TASK_ONLY, BASE_TICKS=701 TICKS=800 verdi.",
"Aynı boot G8b timer yeniden ölçümü START_COUNT=383998504, DEADLINE=386698504 ve FIRED_COUNT=386698528 verdi: programmed delta=2700000, fired delta=2700024, deadline lateness=24 count.",
"Bağımsız audit BOOT7D<G8S0<G8S1<BOOT8<G8B0<G8B1<BOOT8B<G8C0<G8C1<SEC8<BOOT8C exact-once sırasını; SEC1–SEC11 gap/mismatch=0, drift +0 µs ve forbidden/unknown G8c marker=0 sonuçlarını doğruladı.",
"G8c kaynak/izolasyon testleri 9/9 ve strict UART/adversarial testleri 6/6 olmak üzere hedef toplamı fiziksel doğrulama sonrasında yeniden 15/15 PASS verdi.",
"Fiziksel kabul ve dar kapsam docs/M8.1-RPi5-G8c-Physical-UART-Proof.md içinde donduruldu.",
],
commands: [
"attempt 1 same-FD termios UART10 capture · timeout before power · rejected",
"power off · attempt 2 same-FD termios UART10 capture · 115200 8N1 raw · TCIFLUSH",
"stat + shasum -a 256 immutable attempt2 uart10.raw",
"cargo run -q -p aselsan_microkernel_simulation --example verify_rpi5_g8c_log -- <attempt2 raw>",
"independent exact-once/order/SEC/control-byte audit + G8c targeted tests",
],
terminalSessionsNote:
"Bu oturumlar 21 Ağustos 2026'da gerçek Raspberry Pi 5 ve aynı Debug Probe UART10 aygıtında alınan immutable capture'ların gerçek seçili yanıtlarıdır. İlk timeout kaydı reddedilmiştir; fiziksel PASS yalnız ikinci temiz güç döngüsündeki değişmemiş raw dosyaya dayanır.",
terminalSessions: [
{
id: "g8c-uart-timeout-rejected",
title: "Güç öncesi zaman aşımına ulaşan ilk capture · reddedildi",
commandLines: [
"same-FD termios UART10 capture attempt 1 · 115200 8N1 raw · TCIFLUSH",
],
outputLines: [
"capture_armed=YES",
"capture_timeout=YES elapsed_seconds=900",
"capture_closed=true terminal_seen=false exact_bytes=1 mode=0444",
"sha256=6e340b9cffb37a989ca544e6bb780a2c78901d3fb33738768511a30617afa01d · content=00",
"result=REJECTED · no boot evidence",
],
exitCode: 3,
outputMode: "complete",
},
{
id: "g8c-uart-accepted-capture",
title: "İkinci temiz güç döngüsü · same-descriptor immutable UART10",
commandLines: [
"power off",
"same-FD termios UART10 capture attempt 2 · 115200 8N1 raw · TCIFLUSH",
"power on only after capture_armed=YES",
],
outputLines: [
"device=/dev/cu.usbmodem214402 · same_descriptor=true",
"effective_baud_115200=true ispeed=115200 ospeed=115200",
"format=8N1 raw=true flow_control=false · input_flushed=true method=TCIFLUSH",
"capture_armed=YES",
"terminal_marker_seen=ASELSAN/BOOT8C bytes=13050",
"terminal_grace_complete=true",
"capture_closed=true terminal_seen=true exact_bytes=13408 mode=0444",
],
exitCode: 0,
outputMode: "complete",
},
{
id: "g8c-uart-strict-validator",
title: "Değişmemiş accepted raw üzerinde strict G8c validator",
commandLines: [
"cargo run -q -p aselsan_microkernel_simulation --example verify_rpi5_g8c_log -- <immutable-raw>",
],
outputLines: [
"G8c PASS: cpu=1 runs=1 progress=3 task_tick=701 stack_sp=0xd0000 timer_delta=99",
],
exitCode: 0,
outputMode: "complete",
},
{
id: "g8c-uart-independent-audit",
title: "Immutable byte, marker sırası, SEC ve hedef-test auditi",
commandLines: [
"stat + shasum + control-byte/CRLF audit",
"exact-once marker/order + SEC1–SEC11 audit",
"cargo test -q -p aselsan_microkernel_simulation --test rpi5_g8c_source --test rpi5_g8c_uart",
],
outputLines: [
"bytes=13408 · sha256=04158260078e3023e8ac2cacaf401a34613569ad40b7dc63257a178c0cc4e0db · mode=0444",
"leading/total NUL=2/2 · CR/LF/CRLF=235/235/235 · bare=0/0 · UTF-8 PASS · forbidden control=0",
"BOOT8B<G8C0<G8C1<SEC8<BOOT8C · exact-once PASS",
"SEC1–SEC11 contiguous · ticks=second×100 · drift=+0 µs",
"rpi5_g8c_source 9/9 · rpi5_g8c_uart 6/6 · total 15/15 PASS",
],
exitCode: 0,
outputMode: "complete",
},
],
limitations: [
"Bu fiziksel PASS tek temiz boot, tek CPU1-pinned statik EL1 task, tek çalışma ve kısa 99-tick tamamlama smoke'udur; genel SMP scheduler PASS'i değildir.",
"İkinci task, fairness/load balancing, migration, reschedule IPI/SGI, TLB shootdown, ASID/VMID koordinasyonu, CPU2/CPU3, hotplug, EL0-on-CPU1 ve uzun soak kanıtlanmaz.",
"G8d ayrı kapıdır: yalnız tek CPU0→CPU1 SGI/reschedule, CPU1 exact-once acknowledge/EOI ve sabit yerel task wake kanıtlanmalıdır.",
],
},snippet sha256: 1109bf3d8985…file sha256: 9726dbf00f84…
Focused test komutu
cargo test -q -p aselsan_microkernel_simulation --test rpi5_g8c_source --test rpi5_g8c_uartRegistry schema v5 · generator
website/scripts/generate-code-gates.mjs · Tam SHA-256: 3050638b71a684d8f8f947a8a6faa237a17fa8db5dc0db04fb207b668b462af9