S15 · SOURCE-BOUND GATE EVIDENCE
RPi5 fiziksel UART BOOT3'e ulaştı; final yükleme adresi düzeltildi
Operations komutu/kapı ailesi → gerçek repository yürütme sözleşmesi Bu sayfa yalnız S15 kapısına aittir; komşu kapıların kaynakları bu kabulün içine katılmaz.
S15Komut / fiziksel sözleşmeOperations id exactsource SHA exact
operation: rpi5-physical-boot3-load-address-fix
script/Makefile/config · Operations · 2 exact excerpt
sequence-bound=true · implementation-bound=false
01 · Yürütme sözleşmesi
Gerçek script / Makefile / config kaynağı
tam Rust öğesiL1023–L1046
kernel/src/arch/aarch64/mmu.rs::enable_mmu
/// MMU'yu açar (SCTLR_EL1.M = 1).
///
/// Bu çağrıdan önce:
/// - Identity mapping tablosu kurulmuş olmalı
/// - TTBR0 yazılmış olmalı
/// - TLB invalidate edilmiş olmalı
pub unsafe fn enable_mmu() {
// SCTLR_EL1'i oku
let mut sctlr: u64;
asm!("mrs {0}, sctlr_el1", out(reg) sctlr, options(nomem, nostack));
// MMU Enable (M), Data Cache (C), Instruction Cache (I)
sctlr |= 1 << 0; // M bit
sctlr |= 1 << 2; // C bit
sctlr |= 1 << 12; // I bit
asm!(
"msr sctlr_el1, {0}",
"isb", // Pipeline temizliği çok kritik
in(reg) sctlr,
options(nostack, preserves_flags)
);
}snippet sha256: abacc6059581…file sha256: 26252b945e8b…
02 · Kapı kimlik kaydı
Operations sıra, kimlik ve başlık bağı
tam Operations kaydıL34955–L34981
website/src/lib/operations.ts::rpi5-physical-boot3-load-address-fix
{
id: "rpi5-physical-boot3-load-address-fix",
date: "2026-08-20",
sequence: 15,
status: "fixed",
title: "RPi5 fiziksel UART BOOT3'e ulaştı; final yükleme adresi düzeltildi",
summary:
"Debug Probe UART10 kaydı gerçek Pi 5'in BOOT0–BOOT3 yolunu kanıtladı. BOOT3 sonrası MMU panic'inin, headersız imajın 0x200000'a linklenmesine karşı firmware'in payload'ı 0x80000'a taşımasından kaynaklandığı doğrulandı; linker ve config aynı 0x80000 sözleşmesine getirildi.",
evidence: [
"Fiziksel UART10 kaydında ASELSAN/BOOT0 BCM2712, ASELSAN/BOOT1 CurrentEL=2, ASELSAN/BOOT2 EL1 ve ASELSAN/BOOT3 DTB=OK satırları sırayla gözlendi.",
"Aynı kayıt BOOT3'ten sonra kernel/src/arch/aarch64/mmu.rs:185 konumunda 'Early page table pool exhausted (M2.4.2)' panic'i verdi; BOOT4 MMU=ON görülmedi.",
"Pi firmware logu imajı önce 0x200000 ofsetine okuduğunu, ardından 'Kernel relocated to 0x80000' satırıyla final çalışma adresini açıkça bildirdi.",
"Headersız raw imajdaki mutlak stack, VBAR ve BSS adresleri eski 0x200000 link tabanında kaldığı için erken BSS sıfırlama ve sayfa tablosu sayacı yanlış fiziksel aralığa bakıyordu; 4096 tabloluk havuz gerçekte yetersiz değildi.",
"linker-rpi5.ld entry 0x0008_0000 yapıldı; config.txt için arm_64bit=1 ve kernel_address=0x80000 zorunlu hale getirildi.",
"Düzeltilmiş imaj SHA-256 değeri 7745dc810e468c313863dc9494dd546c4e7e81f90a3b089786dc9d84b8cbeb5f; imaj, DTB ve config manifesti 3/3 OK verdi.",
],
commands: [
"screen /dev/cu.usbmodem214402 115200",
"make image-rpi5",
"cd build/rpi5 && shasum -a 256 -c SHA256SUMS",
],
limitations: [
"Düzeltilmiş 0x80000 paketi henüz fiziksel microSD'ye yeniden yazılmadı; kartta bir önceki 0x200000 sözleşmeli paket bulunuyor.",
"BOOT4 MMU=ON gerçek kartta henüz gözlenmedi; G4 kapısı yeniden flash ve aynı UART testi tamamlanana kadar açık.",
"Bu kayıt BCM2712 GIC, timer, SMP veya userspace'in fiziksel olarak çalıştığını kanıtlamaz.",
],
},snippet sha256: b141e8d6b98d…file sha256: 9726dbf00f84…
Kayıtlı yürütme/kanıt komutu
screen /dev/cu.usbmodem214402 115200Registry schema v5 · generator
website/scripts/generate-code-gates.mjs · Tam SHA-256: 91d38c7b6222f0b4c117be786454853543da55a160e543d9b951057cc20dcc06