GELİŞTİRME GÜNLÜĞÜ
M9 — Device Tree
M9.32 · G8f fiziksel
BOOT8E sonrası quiescent atomic handoff gerçek Pi 5'te kapandı
Sıra 76 exact paketiyle alınan 17363 B / e70e…5068 immutable UART10 raw direct validator'da exit 0 verdi.
FİZİKSEL PASS · BOOT8F
Exact paket + direct raw
- Sıra 76 imajı 279936 B / 316be86f…0f21; exact Secure Digital/FAT32 karta formatsız yazım, manifest 3/3, dört cmp, sync/eject PASS.
- Değişmemiş capture 17363 B / e70e…5068 ve mode 0444 kapandı; direct validator exact raw üzerinde exit 0 verdi.
- Framing: leading/total NUL 1/1, maximum 5; 50 marker exact-once ve canonical sırada.
Bounded handoff sonucu
- Immutable BOOT8E tick 1000; G8F0 release 1004, G8F1 ack 1004 ve BOOT8F tick 1005.
- release/ack/proof delta 4/0/1; release/ack generation=1/1 ve TOTAL_SEV=2.
- Yeni CPU1 IRQ, SGI send/delivery/ack/EOI, reschedule, wake, task ve GIC write sayaçları sıfır.
- G8F0/G8F1/BOOT8F exact-once;
SCOPE=QUIESCENT_ATOMIC_HANDOFF_ONLY.
Fail-closed geçmiş + sınır
- Sıra 77 transport-invalid kaydı runtime PASS/FAIL değildir; sıra 78 NUL 24>5 ve sıra 79 NUL 17>5 nedeniyle reddedildi.
- Sıra 77–79 raw'ları trim edilmedi, onarılmadı ve kabul raw'ıyla birleştirilmedi.
- G8e'nin 15762 B / c9909dea…51f4d tarihsel fiziksel kanıtı immutable tutuldu.
- Generic SMP, migration, TLB shootdown, CPU2/3, hotplug ve soak kapsam dışıdır.
M9.31 · G8e fiziksel
Aynı SGI1 kanalındaki ikinci remote wake ve BOOT8E gerçek Pi 5'te kapandı
275792 B / d9419ff5…f00c paketle alınan 15762 B / c9909dea…51f4d immutable UART10 raw strict validator ve bağımsız audit'te PASS verdi.
FİZİKSEL PASS · BOOT8E
Exact paket + capture bağı
- G8e hedef 19/19, workspace tarihsel tam matris 168/168, G8–G8e layout 5/5 ve üç yönlü exact yeniden üretim PASS.
- İmaj 275792 B / d9419ff5…f00c; exact karta formatsız yazım, 3/3 manifest, dört cmp, iki sync ve güvenli eject PASS.
- Same-descriptor 115200 8N1 raw yol güçten önce arm edildi; capture 15762 B / c9909dea…51f4d ve mode 0444 kapandı.
Strict ikinci tur sonucu
- G8D0/G8D1/G8D2/BOOT8D round 1 değişmedi; G8E0/G8E1/G8E2/BOOT8E exact-once oluştu.
- Send/delivery/ack/EOI/reschedule prior/new/total=1/1/2; SGIR=0x00020001 ve ACK_RAW=EOI_RAW=0x1.
GAP_TICKS=100; ikinci task tick 902,STACK_SP=0xd5000, SAME_STACK_REGION/CANARY/STACK_RESTORE=OK.BOOT8E: 902→1000, proof delta 98 ve strict validator exit 0.
Quiescence + dar sınır
- Tur öncesi ve sonrası pending/active sıfır; EOIMODE=DROP_DEACTIVATE ve GIC_REINIT=OFF.
- NUL=1/1, CRLF=245, bare CR/LF=0/0; forbidden control, G8EERR, panic ve unknown IRQ sıfır.
GENERIC_SMP=OFF, MIGRATION=OFF, TLB_SHOOTDOWN=OFF ve CPU2_3=OFF değişmedi.- PASS yalnız G8d round 1 + aynı kanalda bir yeni SGI1 ve mevcut pinned task'ın ikinci wake/run smoke'udur.
M9.30 · G8d fiziksel
Tek CPU0→CPU1 SGI/reschedule ve BOOT8D gerçek Pi 5'te kapandı
14301 B / e1c43c7d…49c1d immutable UART10 raw strict validator ve bağımsız byte/marker/SEC audit'inde PASS verdi.
FİZİKSEL PASS · BOOT8D
Güç öncesi capture bağı
- Fix imaj: 263408 B ·
fa08cec0…47dd4c; sıra 56'daki exact kart yazımı. - Same-descriptor
/dev/cu.usbmodem214402, 115200 8N1 raw, flow off veTCIFLUSHile güçten önce arm edildi. - Capture
BOOT8D'yi byte 13902'de gördü; 3 s grace sonrasında 14301 B ·e1c43c7d…49c1d· mode 0444 kapandı.
Strict runtime sonucu
G8D0: TARGET_LIST=0x02, SGI=1, SENDS=1, START_TICKS=802.G8D1: INTID=1, SOURCE_CPU=0, DELIVERIES/ACKS/EOIS/RESCHED=1 ve ACK_RAW=EOI_RAW=0x1.G8D2: PINNED0 WAKEUPS=1, RUNS=1, PROGRESS=3, STACK_SP=0xd2000, CANARY/STACK_RESTORE=OK.BOOT8D: BASE_TICKS=802 TICKS=900; strict validator exit 0.
Bağımsız audit + sınır
- NUL=3/3, CRLF=240, bare CR/LF=0/0, forbidden control/marker=0.
- G8D0/G8D1/G8D2/BOOT8D exact-once; SEC1–SEC12 gap/tick/drift mismatch=0.
- Capture kapandı ve UART holder
NONEdoğrulandı. - PASS yalnız tek SGI1 + mevcut pinned-task wake smoke'udur; migration, TLB shootdown ve CPU2/3 kapsam dışıdır.
M9.29 · G8d fix microSD
Düzeltilmiş G8d paketi exact karta formatsız yazıldı
263408 B / fa08cec0…47dd4c paket 3/3 manifest, dört cmp, iki sync, güvenli eject ve aygıt yokluğu kapılarını geçti; fiziksel retest bekleniyor.
FIX KARTTA · RETEST BEKLİYOR
Exact kimlik + eski paket
/dev/disk6: TISD64G, serial0x425001fa, Secure Digital, 62549655552 B, removable/non-virtual./dev/disk6s1: MBR/FAT32ASELSANBOOT; virtual APFS/dev/disk4reddedildi.- Yazım öncesi manifest 3/3 OK; eski failing imaj exact
6d9c556f…a46922.
Formatsız yazım + byte bağı
format-sd-rpi5çağrılmadı; mevcut MBR/FAT32 düzen korundu.- G8d 17/17 ve CPU1-published timer-off makine-kodu kapısı yazımda yeniden PASS.
- Yeni imaj 263408 B ·
fa08cec0…47dd4c; manifest 3/3 OK. - İmaj, DTB, config ve SHA256SUMS için dört ayrı
cmp=PASS.
Güvenli eject + sınır
- İlk eject shell cwd mount üzerinde olduğu için macOS tarafından güvenle reddedildi; forced eject yapılmadı.
volume_holders=NONE, ikinci sync, başarılı eject ve disk/mount yokluğu PASS.- Kart yazımı runtime kanıtı değildir; Pi fix paketle henüz açılmadı.
- Sonraki adım güçten önce same-descriptor UART10 arm ve strict fiziksel BOOT8D retestidir.
M9.28 · G8d timer fix
CPU1 timer-off kanıtı doğru çekirdekte yayımlanıyor
263408 B / fa08cec0…47dd4c düzeltmeli paket 17/17 hedef, workspace 148/148 ve üç yönlü exact yeniden üretimden geçti; kart reflash bekliyor.
FIX HAZIR · REFLASH BEKLİYOR
Kök neden
CNTV_CTL_EL0çekirdek-yereldir; CPU0 final yolu kendi açık periyodik timer'ını CPU1 durumu sanıyordu.- Fiziksel
ACTUAL=0x1, CPU0 için doğruydu; yanlış olan bu değeri CPU1 timer-off kanıtı olarak kullanmaktı. - CPU1'in G8b one-shot timer'ı kapalı kaldı; hata CPU1'in timer disable yolunda değildi.
Fail-closed düzeltme
- CPU1 kendi timer control değerini okur ve timer-off durumunu
Releaseile yayımlar. - CPU0 değeri
Acquireile alır; yayımlanmamış sentinel'i ve enable bitini reddeder. - Primary disassembly kapısı
MRS CNTV_CTL_EL0talimatını yasaklar ve acquire load'u zorunlu tutar.
Paket ve sınır
- G8d kaynak 10/10 + strict UART 7/7; toplam 17/17.
- Workspace 148/148; verify-core, üç-board, machine-code ve manifest 3/3 PASS.
- A/B/main exact 263408 B ·
fa08cec0…47dd4c; üç cmp PASS. - Kart hâlâ eski
6d9c556f…a46922failing paketi taşır; fiziksel BOOT8D yoktur.
M9.27 · G8d fiziksel FAIL
İlk denemede SD yok; ikinci denemede G8DERR TIMER_STATE
İki immutable same-descriptor UART10 kaydı strict reddedildi; G8D1/G8D2/BOOT8D oluşmadı ve Pi kapatıldı.
FİZİKSEL FAIL · KANIT DONDURULDU
Deneme 1 · SD algılanmadı
- 44841 B ·
cb7fbfd4…6b7· mode 0444. - 19 SD attempt, 38 sdcard open failure, 19 USB-MSD fallback ve 18 restart cycle.
- ASELSAN marker sıfır; bu temas/SD algılama reddidir, kernel G8d kanıtı değildir.
Deneme 2 · kernel reddi
- Kart yeniden takıldı; 13532 B ·
54f500ad…a713raw mode 0444 olarak donduruldu. BOOT8C 701→800 → G8D0 START_TICKS=802.G8DERR CODE=TIMER_STATE EXPECTED=0x0 ACTUAL=0x1.
Kabul sınırı
- Marker sayıları G8D0=1, G8DERR=1, G8D1=G8D2=BOOT8D=0.
- Her iki raw strict G8d validator'da
exit 1verdi. - Son fiziksel PASS G8c/BOOT8C'dir; eski kart paketi fiziksel G8d PASS sayılmaz.
M9.26 · G8d microSD
G8d paketi exact karta formatsız yazıldı
263408 B / 6d9c556f…a46922 paket kartta 3/3 manifest, dört cmp, sync/eject ve aygıt yokluğu kapılarını geçti; fiziksel BOOT8D bekleniyor.
KARTTA · UART BEKLİYOR
Fail-closed kart kimliği
- İlk görünen
/dev/disk4, 18083776000 B read-only virtual APFS Disk Image olduğu için reddedildi. - Exact hedef
/dev/disk6: TISD64G, serial0x425001fa, Secure Digital, 62549655552 B, removable ve non-virtual. /dev/disk6s1: MBR/MS-DOS FAT32,ASELSANBOOT, writable exact mount.- Yazım öncesi karttaki fiziksel G8c imajı 255168 B ·
2950ca3c…c8538; manifest 3/3 OK.
Formatsız yazım + byte bağı
format-sd-rpi5çağrılmadı; mevcut MBR/FAT32 düzen korundu.- Yeni imaj 263408 B ·
6d9c556f…a46922; DTB/config ile kart manifesti 3/3 OK. - İmaj, DTB, config ve SHA256SUMS için dört ayrı
cmp=PASS. sync, eject,disk6_absent=PASSveASELSANBOOT_unmounted=PASS.
Fiziksel sınır · sıradaki
- Kart yazımı runtime kanıtı değildir; son fiziksel PASS G8c/BOOT8C'dir.
G8D0/G8D1/G8D2/BOOT8Dhenüz gerçek UART10'da gözlenmedi.- Aynı descriptor'da 115200 8N1 raw,
TCIFLUSHve immutable capture gerekir. - Pi güçsüzken kart takılır; capture önce armed, güç yalnız sonra verilir.
M9.25 · G8d staged
Tek CPU0→CPU1 SGI1 · raw EOI · mevcut task wake paketi hazır
263408 B / 6d9c556f…a46922 paket hedef, workspace, üç-board, makine-kodu, manifest ve iki temiz yeniden üretim kapısından geçti; microSD ve fiziksel BOOT8D yok.
STAGED · microSD/UART BEKLİYOR
Dar SGI/reschedule sözleşmesi
- Önkoşul fiziksel G8c:
04158260…e0dbraw, G8C1 RUNS=1/PROGRESS=3 ve BOOT8C 701→800. - CPU0 yalnız SGI1'i explicit
TARGET_LIST=0x02ile CPU1'e yollar; SGIR komutu0x00020001. - CPU1 INTID=1 ve SOURCE_CPU=0'ı doğrular; ham IAR acknowledge değeri EOIR'ye exact bir kez yazılır.
- SENDS/DELIVERIES/ACKS/EOIS/RESCHED değerlerinin her biri 1; dönüş EL1h ve IRQ maskeli, timer OFF.
Task wake + paket kanıtı
- Mevcut G8c PINNED0 task ve mevcut static 64 KiB stack yeniden kullanılır.
- WAKEUPS=1, RUNS=1, PROGRESS=3; canary ve özgün CPU1 SP restorasyonu fail-closed.
- Kaynak/izolasyon 9/9 + strict UART/adversarial 7/7; toplam 16/16.
- Workspace 147/147; QEMU/üç-board, disassembly ve manifest 3/3 PASS.
- İki artefaktsız kopya ve ana build exact 263408 B ·
6d9c556f…a46922.
Fiziksel sınır · sıradaki
- Kart hâlâ fiziksel PASS veren G8c paketini taşır; G8d microSD'ye yazılmadı.
G8D0/G8D1/G8D2/BOOT8Dyalnız sentetik fixture'da vardır; fiziksel UART10 gözlemi değildir.- Migration, load balancing, TLB shootdown, CPU2/3, hotplug ve EL0-on-CPU1 kapalıdır.
- Önce exact karta formatsız yazım + dört cmp/eject; sonra güçten önce same-descriptor UART10 arm.
M9.24 · G8c fiziksel
CPU1-pinned tek EL1 task · BOOT8C fiziksel PASS
İlk capture güç öncesi timeout ile reddedildi; ikinci temiz güç döngüsündeki değişmemiş 13408 B / 04158260…e0db UART10 raw strict validator ve bağımsız audit'te PASS verdi.
FİZİKSEL PASS · BOOT8C
Fail-closed capture bağı
- Aynı
/dev/cu.usbmodem214402: same descriptor, 115200/115200, 8N1 raw, flow off veTCIFLUSH. - Deneme 1: güç öncesi timeout; 1 B ·
6e340b9c…afa01d· tek NUL · mode0444; reddedildi. - Deneme 2: 13408 B ·
04158260…e0db· mode0444· NUL 2/2. - CR/LF/CRLF 235/235/235; bare satır sonu ve forbidden control byte yok.
Gerçek CPU1 task kanıtı
BOOT8B 700 → G8C0 START_TICKS=701: handoff 1 tick.G8C1: CPU1, RUNS=1, PROGRESS=3, STACK_SP=0xd0000, CANARY/STACK_RESTORE=OK.- Task dönüşü LOCAL_IDLE, IRQ=MASKED, TIMER=OFF, EL=1, TPIDR=1 ve TICK=701.
SEC8ardındanBOOT8CBASE_TICKS=701 TICKS=800; delta 99.
Audit ve sonraki sınır
- Sıra exact-once:
BOOT8B<G8C0<G8C1<SEC8<BOOT8C. - SEC1–SEC11 gap/mismatch=0, drift +0 µs; forbidden ve unknown G8c marker 0.
- Fiziksel doğrulama sonrası hedef testleri yeniden 15/15 PASS.
- Sıradaki dar kapı G8d: tek CPU0→CPU1 SGI/reschedule + exact-once acknowledge/EOI.
M9.23 · G8c microSD
G8c paketi exact karta formatsız yazıldı
255168 B / 2950ca3c…c8538 paket kartta 3/3 manifest, dört cmp, sync/eject ve aygıt yokluğu kapılarını geçti; fiziksel BOOT8C bekleniyor.
KARTTA · UART BEKLİYOR
Exact kart ve eski paket bağı
/dev/disk4· TISD64G SDXC · Secure Digital · exact 62549655552 B · removable.disk4s1· MBR/MS-DOS FAT32 ·ASELSANBOOT· writable exact mount.- Yazım öncesi fiziksel G8b imajı 246960 B ·
dc241315…fb44a8a; manifest 3/3 OK. - Whole-disk, OS-internal olmayan removable SD ve mount bağı fail-closed geçti.
Formatsız yazım kanıtı
format-sd-rpi5çağrılmadı; mevcut MBR/FAT32 düzen korundu.- Yeni imaj 255168 B ·
2950ca3c…c8538; kart manifesti 3/3 OK. - İmaj, DTB, config ve manifest için dört ayrı
cmp=PASS. sync, eject,disk4_absent=PASSveASELSANBOOT_unmounted=PASS.
Fiziksel sınır · sıradaki
- Kart yazımı runtime kanıtı değildir; Raspberry Pi 5 açılmadı.
G8C0/G8C1/BOOT8Ciçin same-descriptor 115200 8N1 immutable UART10 capture gerekir.- Strict G8c validator doğrudan raw kayıtta PASS vermeden G8c fiziksel PASS sayılmaz.
- Pi güçsüzken kartı tak; capture önce armed, güç yalnız sonra verilecek.
M9.22 · G8c staged
CPU1-pinned tek EL1 task · gerçek 64 KiB stack paketi hazır
255168 B / 2950ca3c…c8538 paket hedef, workspace, üç-board, makine-kodu, manifest ve iki temiz yeniden üretim kapısından geçti; microSD ve fiziksel BOOT8C yok.
STAGED · microSD/UART BEKLİYOR
Dar CPU1 task sözleşmesi
- G8b
BOOT8B+ parked/PPI27 exactly-once/timer OFF önkoşulu olmadan release yok. - Yalnız CPU1 MPIDR=0x100; EL=1, TPIDR=1, IRQ masked, timer OFF ve FP=TRAP yeniden doğrulanır.
- Tek statik task RUNS=1, PROGRESS=3; 4 KiB hizalı gerçek 64 KiB
.bssstack. - İki sözcüklü canary, dönüş cookie'si ve özgün CPU1 SP restorasyonu ardından maskeli local
WFE.
Host + paket kanıtı
- Kaynak/izolasyon 9/9 + strict UART/adversarial 6/6; toplam 15/15.
- Workspace 131/131; QEMU runtime ve QEMU/RPi4/RPi5 build'leri PASS.
- Disassembly: x19 tabanlı gerçek SP switch/restore; FP/SIMD, panic, UART, heap, global scheduler ve IRQ/timer-GIC açımı yok.
- İmaj 255168 B ·
2950ca3c…c8538· manifest 3/3 OK; iki artefaktsız kopya exact aynı hash.
Fiziksel sınır · sıradaki
- Pi kapalıdır; G8c paketi microSD'ye yazılmadı ve kart bu hash için doğrulanmadı.
G8C0/G8C1/BOOT8Cyalnız sentetik fixture'da vardır; fiziksel UART10 gözlemi değildir.- Migration, IPI, TLB shootdown, CPU2/3, hotplug ve EL0-on-CPU1 kapalıdır.
- Önce exact kart yazımı + immutable UART10 ile G8c; sonra G8d tek CPU0→CPU1 SGI/reschedule.
M9.21 · G8b fiziksel
CPU1 banked PPI27 one-shot · BOOT8B fiziksel PASS
İlk raw fail-closed reddedildi; ikinci değişmemiş 12743 B / f40d5379…09718 UART10 raw strict validator ve bağımsız audit'te PASS verdi.
FİZİKSEL PASS · BOOT8B
Fail-closed capture bağı
- Aynı
/dev/cu.usbmodem214402: same descriptor, 115200/115200, 8N1 raw, flow off ve input flush. - Deneme 1: 12761 B ·
3b62f9f9…d394b· leading/total NUL 22/22; allowance 5 olduğu için reddedildi. - Deneme 2: 12743 B ·
f40d5379…09718· mode0444· NUL 4/4. - CR/LF/CRLF 231/231/231; bare satır sonu yok ve accepted raw değiştirilmedi.
Gerçek marker ve timer kanıtı
G8B0: CPU1, PPI27 enabled, PMR=0xf0, BPR=3, one-shot, START_TICKS=601.G8B1: INTID=27, DELIVERIES=1, TIMER_CTL=OFF, IRQ=MASKED, RETURN=EL1H, TICK=607.- Programlanan delta 2700000; fired delta 2700020, deadline lateness 20 count.
SEC7ardındanBOOT8BBASE_TICKS=601 TICKS=700; delta 99.
Kanıt sınırı · sıradaki
- Sıra exact-once:
BOOT7D<G8S0<G8S1<BOOT8<G8B0<G8B1<SEC7<BOOT8B. - SEC1–SEC10 gap/mismatch=0, drift +0 µs; forbidden ve unknown G8b marker 0.
- PASS yalnız
CPU1_PPI_ONLY; scheduler, migration, IPI, TLB shootdown ve CPU2/3 kanıtlanmaz. - Sıradaki dar kapı G8c: CPU1'e sabitlenmiş tek statik EL1 task + local idle dönüşü.
M9.20 · G8b microSD
G8b paketi exact karta formatsız yazıldı
246960 B / dc241315…fb44a8a paket kartta 3/3 manifest, dört cmp, sync/eject ve aygıt yokluğu kapılarını geçti; gerçek BOOT8B bekleniyor.
KARTTA · UART BEKLİYOR
Exact kart kimliği
/dev/disk4· TISD64G · Secure Digital · exact 62549655552 B.disk4s1· MBR/MS-DOS FAT32 ·ASELSANBOOT· yazılabilir exact mount.- Yazım öncesi G8a imajı
dca4ab20…ae863; önceki manifest 3/3 OK. - Whole-disk, removable, OS-internal olmayan Secure Digital ve mount bağı fail-closed geçti.
Formatsız yazım kanıtı
format-sd-rpi5çağrılmadı; mevcut MBR/FAT32 düzen korundu.- İmaj 246960 B ·
dc241315…fb44a8a; kart manifesti 3/3 OK. - İmaj, DTB, config ve manifest için dört ayrı
cmp=PASS. sync, eject,disk4_absent=PASSve mount yokluğu geçti.
Fiziksel sınır · sıradaki
- Kart yazımı runtime kanıtı değildir; Raspberry Pi 5 bu paketle açılmadı.
G8B0/G8B1/BOOT8Biçin same-descriptor 115200 8N1 immutable UART10 capture gerekir.- Strict G8b validator doğrudan raw kayıtta PASS vermeden G8b fiziksel PASS sayılmaz.
- Pi kapalıyken kartı tak; capture önce armed, güç sonra verilecek.
M9.19 · G8b staged
CPU1 banked GICv2 · PPI27 one-shot paketi hazır
246960 B / dc241315…fb44a8a RPi5 paketi host, üç-board, makine-kodu, manifest ve temiz yeniden üretim kapılarını geçti; fiziksel BOOT8B henüz yok.
STAGED · microSD/UART BEKLİYOR
Dar CPU1 IRQ sözleşmesi
- G8a
BOOT8sonrasında ayrı release; yalnız CPU1 banked GICv2 CPU interface ve PPI27. - Beş CPU0 tick gecikmeli tek virtual-timer one-shot; CPU0 periodic timer/global
TICKSdeğişmez. - Handler local timer disable + raw EOI + exactly-once delivery; IRQ maskeli EL1h dönüşü.
- CPU1 yeniden
WFEparkına girer; bütün aşamalar bounded ve fail-closed.
Host + paket kanıtı
- G8b source/izolasyon 8/8 + strict UART/adversarial 6/6; toplam 14/14.
- Workspace 116/116; QEMU smoke ve QEMU/RPi4/RPi5 build'leri PASS.
- Disassembly: banked PPI27, local CNTV, erken IRQ intercept, disable/EOI ve maskeli EL1h dönüşü PASS.
- İmaj 246960 B ·
dc241315…fb44a8a; manifest 3/3 OK; temiz kopya hash eşit.
Fiziksel sınır · sıradaki
- G8b paketi microSD'ye yazılmadı; Pi açılmadı ve UART10 capture alınmadı.
G8B0/G8B1/BOOT8Byalnız sentetik strict-fixture sözleşmesidir; fiziksel gözlem değildir.- Scheduler/migration, IPI, TLB shootdown, CPU2/3, hotplug ve EL0-on-CPU1 kapalıdır.
- Sıradaki işlem: exact kart kimliği → formatsız yazım → 3/3 + dört cmp → sync/eject; ardından same-FD raw UART10.
M9.18 · G8a fiziksel
PSCI 1.1 CPU1 · shared TTBR0 · BOOT8 fiziksel PASS
Değişmemiş 12154 B / 1f4b0e34…21f67 UART10 raw strict validator ve bağımsız audit'te G8a PASS verdi.
FİZİKSEL PASS · BOOT8
Immutable capture
/dev/cu.usbmodem214402· same descriptor · 115200/115200 · 8N1 raw · input flush.- Exact 12154 B ·
1f4b0e34…21f67· mode 0444. - Leading/total NUL 2/2; CR/LF/CRLF 226/226/226; bare satır sonu sıfır.
- Strict:
G8 PASS: psci=1.1 entry=0x801f8 cpu1_tick=507 timer_delta=94.
Gerçek CPU1 zinciri
BOOT7D TICKS=505→G8S0 START_TICKS=506; handoff bir tick.- PSCI 1.1/SMC · target
0x100· entry0x801f8· affinity önce OFF. - CPU1 MPIDR
0x100, EL1, MMU/cache ON, TTBR0 shared, VBAR OK, FP trap, IRQ masked. - ONLINE
0x3, mailbox/handshake OK; SEC6 sonrasında BOOT8506→600.
Dar kapsam · sıradaki
- Exact-once sıra ve bağımsız audit PASS; forbidden marker 0.
- Bu yalnız CPU1 CPU_ON/shared-root/coherent mailbox smoke'udur; genel SMP scheduler değildir.
- CPU1 hâlâ IRQ maskeli WFE parkındadır; GIC/timer/scheduler üyeliği yoktur.
- Sonraki dar kapı G8b artık host/build STAGED'dir; fiziksel microSD/UART kanıtı ayrı işlemdir.
M9.17 · G8a microSD
G8a paketi exact karta formatsız yazıldı
242848 B / dca4ab20…ae863 paket kartta 3/3 manifest, dört cmp, sync/eject ve aygıt yokluğu kapılarını geçti; gerçek BOOT8 bekleniyor.
KARTTA · UART BEKLİYOR
Exact kart kimliği
/dev/disk4· Built In SDXC Reader · Secure Digital · exact 62549655552 B.disk4s1· MS-DOS FAT32 ·ASELSANBOOT· yazılabilir exact mount.- Yazım öncesi G7d imajı
0927d195…39f9; önceki manifest 3/3 OK.
Formatsız yazım kanıtı
format-sd-rpi5çağrılmadı; mevcut FAT32 düzen korundu.- İmaj 242848 B ·
dca4ab20…ae863; kart manifesti 3/3 OK. - İmaj, DTB, config ve manifest için dört ayrı
cmp=OK. sync, eject,disk4_absent=PASSve mount yokluğu geçti.
Fiziksel sınır
- Kart yazımı runtime kanıtı değildir; Raspberry Pi 5 henüz bu paketle açılmadı.
G8S0/G8S1/BOOT8için aynı-descriptor 115200 8N1 immutable UART10 capture gerekir.- Strict G8 validator doğrudan raw kayıtta PASS vermeden G8a fiziksel PASS sayılmaz.
- CPU1 GIC/timer/scheduler, IPI, migration, CPU2/3 ve hotplug kapsam dışıdır.
M9.16 · G8a staged
PSCI CPU1 · shared TTBR0 · coherent mailbox paketi hazır
242848 B / dca4ab20…ae863 RPi5 paketi host, üç-board, makine-kodu ve manifest kapılarını geçti; fiziksel BOOT8 henüz yok.
STAGED · microSD/UART BEKLİYOR
Dar CPU1 sözleşmesi
- Production DTB parser: PSCI-1.0, SMC, dört
enable-method=psciCPU; MPIDR0x000/0x100/0x200/0x300. - CPU0 yalnız CPU1'i
CPU_ON64=0xc4000003ve context0x4738435055310001ile açar. - EL2/EL1 trampoline, BCM2712 Aff1 stack seçimi, VBAR ve CPU0 ile shared Stage-1 root.
- Cookie echo + heartbeat + online mask
0x1→0x3; CPU1 IRQ maskeli WFE parkında kalır.
Host + paket kanıtı
- DTB/topology 5/5 + source/SMCCC 6/6 + strict UART negatif matris 7/7; toplam 18/18.
- Workspace 102/102; QEMU smoke ve QEMU/RPi4/RPi5 build'leri PASS.
- Disassembly:
smc #0, Aff1, EL2/EL1, shared TTBR0, TLBI/barrier ve CPU1 izolasyonu PASS. - İmaj 242848 B ·
dca4ab20…ae863; manifest 3/3 OK.
Fiziksel sınır
- Paket yalnız
build/rpi5içindedir; microSD'ye yazılmadı ve Pi açılmadı. G8S0/G8S1/BOOT8sentetik fixture sözleşmesidir; gerçek UART10 gözlemi değildir.- CPU1 GIC/timer/scheduler, IPI, migration, CPU2/3, CPU_OFF/hotplug ve EL0-on-CPU1 kapsam dışıdır.
- Sıradaki işlem exact kart kimliği, formatsız yazım, dört cmp/eject ve immutable strict UART10 doğrulamasıdır.
M9.15 · G7d fiziksel
PPI27 · dört involuntary switch · BOOT7D fiziksel PASS
İkinci immutable 11909 B / 1993361c…26bf2 UART10 raw kaydı strict validator ve bağımsız audit'te PASS verdi.
FİZİKSEL PASS · BOOT7D
Fail-closed capture zinciri
- Aynı descriptor
/dev/cu.usbmodem214402: 115200/115200, 8N1 raw, flow-control kapalı, input flush. - İlk 11911 B ·
81d8…a202raw yedi leading NUL nedeniyle reddedildi; PASS üretmedi. - İkinci 11909 B ·
1993361c…26bf2raw mode 0444; leading/total NUL 5/5, CR/LF 228/228. - Raw değişmeden strict validator'a verildi; tanısal prefix türevi fiziksel kanıt sayılmadı.
Gerçek preemption zinciri
G7D0 START_TICKS=405; exact switch tick'leri416/426/436/446.- Task A progress
4474576→9157601; task B4682996→9366022. G7D4sonrası SEC5 korelasyonu;BOOT7D BASE_TICKS=405 TICKS=505.ORDER=ABABA SWITCHES=4 CANARY=OK RETURN=MONITOR FP=UNUSED.
Bağımsız audit + sınır
- 31 kabul olayı sıralı; altı G7d marker exact-once, EL0 payload exact-once.
- SEC1–SEC13: gap=0, tick mismatch=0, drift +0 µs; forbidden marker sıfır.
- Yalnız CPU0, iki sabit 64 KiB EL1 stack, integer frame ve dört-switch smoke.
- FP/SIMD, genel scheduler/EL0 preemption, soak ve SMP kapsam dışı; sıradaki kapı G8 PSCI/SMP.
M9.14 · G7d microSD
Formatsız yazım · 3/3 manifest · dört cmp · güvenli eject
0927d…39f9 G7d paketi exact Secure Digital/FAT32 karta byte-for-byte bağlandı; fiziksel BOOT7D bekliyor.
KARTTA · UART BEKLİYOR
Fail-closed kimlik
- Tek aday
/dev/disk4: whole physical, 62.549.655.552 B, Secure Digital, internal=false, removable/ejectable/writable=true. disk4s1: parent=disk4, DOS FAT32,ASELSANBOOT, exact mount doğrulandı.- Yazım öncesi karttaki G7c imajı 226448 B ·
276d…a99d0; eski manifest 3/3 OK.
Formatsız G7d aktarımı
format-sd-rpi5çağrılmadı; mevcut FAT32 bölüme yalnız dört boot dosyası kopyalandı.- Kart imajı 230560 B ·
0927d195…39f9; manifestfc2f2268…be71. - Kart kökü 3/3 OK; image, DTB, config ve manifest için dört ayrı
cmpOK.
Güvenli sınır
syncvediskutil eject /dev/disk4geçti; disk ve mount yokluğu doğrulandı.- Pi açılmadı; kart yazımı G7d runtime veya fiziksel PASS değildir.
- Sıradaki kapı aynı-descriptor 115200 8N1 raw UART10 capture ve strict gerçek
G7D0–G7D4/BOOT7Ddoğrulamasıdır.
M9.13 · G7d
PPI27 · tam integer frame · dört timer switch staged
0927d…39f9 RPi5 paketi host, üç-board, QEMU, makine-kodu ve manifest kapılarını geçti; fiziksel BOOT7D henüz yok.
STAGED · microSD/UART BEKLİYOR
Dar preemption sözleşmesi
- Yalnız CPU0'da iki sabit EL1 task; iki ayrı 64 KiB statik stack ve alt canary.
- PPI27 IRQ frame'i
x0–x30 + ELR_EL1 + SPSR_EL1 + SP; restore frame'i Rust dönüş pointer'ından seçiliyor. - Quantum 10; exact dört involuntary switch
A→B→A→B→A. - Her iki görev resume sonrasında ilerlemeli; dönüş G7c EL1h monitor frame'ine.
Host + paket kanıtı
- G7d kaynak/ABI 6/6 + strict UART/adversarial 10/10; toplam 16/16.
- Workspace 84/84; QEMU smoke ve QEMU/RPi4/RPi5 build'leri PASS.
- Disassembly kapısı full frame redirect, GIC EOI sırası, statik stack ve
FP=UNUSEDkapsamını doğruladı. - İmaj: 230560 B ·
0927d195…39f9; manifest 3/3 OK.
Fiziksel sınır
- Pi kapalı; paket microSD'ye yazılmadı. Kartta fiziksel PASS veren
276d568b…a99d0G7c paketi var. G7D0–G7D4/BOOT7Dyalnız ELF/fixture sözleşmesidir; gerçek UART10 gözlemi değildir.- FP/SIMD save/restore, genel scheduler, EL0 task preemption, lifecycle, fairness, soak ve SMP kapsam dışı.
- Sıradaki işlem exact microSD yazımı, dört cmp/eject ve immutable strict UART10 doğrulamasıdır.
M9.12 · G7c
Trusted ELF · gerçek EL0 WRITE/EXIT · BOOT7C fiziksel PASS
276d…a99d0 paket gerçek Pi 5 UART10 kaydında G7c dar kapısını kapattı.
FİZİKSEL PASS · BOOT7C
Kart + raw kanıt
- 226448 B
276d568b…a99d0paket exact SD/FAT32 karta formatsız yazıldı. - Manifest 3/3, image/DTB/config/manifest dört cmp, sync ve güvenli eject PASS.
- Same-descriptor UART: 115200 8N1; raw 12436 B ·
ef2f6758…610a3. - Dört leading NUL kabul sınırında; raw dosya dönüşüm olmadan strict validator'dan geçti.
Gerçek EL0/SVC zinciri
G7C0: text0x18de000, rodata0x18df000, stack0x18e0000, remaining2073355.- Ayrı EL0 payload exact bir kez:
Hello from separate EL0 binary (M8)! G7C1exact WRITE/copy-in;G7C2exact EXIT, teardown veRETURN=EL1H.BOOT7C BASE_TICKS=305 TICKS=405; delta 100,MAPS=OK.
Audit + dar sınır
- BOOT0–BOOT7C toplam 21 marker exact-once ve sırada.
- SEC1–SEC36: gap=0, mismatch=0, drift 36/36 +0 µs, count 36/36 +7.
G7CERR, bilinmeyen G7C, panic ve unknown IRQ sıfır.- Yalnız CPU0/shared-root/ASID0, tek trusted ELF ve iki syscall smoke; genel process/ABI değildir.
- G7d şimdi staged: 0927d…39f9 paket hazır; microSD ve fiziksel BOOT7D bekliyor.
M9.11 · G7c
Trusted ELF · tek EL0 WRITE/EXIT paketi staged
276d…a99d0 RPi5 paketi host, makine-kodu ve paket kapılarını geçti; fiziksel BOOT7C henüz yok.
STAGED · FİZİKSEL BEKLİYOR
Dar güvenlik sınırı
- Yalnız exact iki
PT_LOADsayfalı trusted hello ELF; genel loader/scheduler yolu kullanılmıyor. - Üç yeni PMM frame: text U-RX, rodata U-R/NX, stack U-RW/NX; iki guard unmapped.
- RW loader alias'ları executable mapping'den önce kaldırılıyor; kernel text/rodata/data EL0'dan kapalı.
- 44 talimatlık first-ERET x0–x30 ve TLS'yi temizliyor, FP/SIMD'yi EL0'da trap ediyor.
Host + paket kanıtı
- G7c hedef testleri 16/16; workspace 68/68 PASS.
make verify-core, üç board build'i ve QEMU runtime smoke PASS.- Machine-code kapısı exact SVC ABI, cache/TLB publish ve sanitized first-ERET'i doğruladı.
- İmaj: 226448 B ·
276d568b…a99d0; manifest 3/3 OK.
Fiziksel sınır
- Paket microSD'ye yazılmadı; kartta fiziksel PASS veren
c065bbd7…db5fG7b paketi var. G7C0/G7C1/G7C2/BOOT7Cyalnız ELF/fixture sözleşmesidir; gerçek UART10 gözlemi değildir.- Son fiziksel sınır G7b BOOT7B PASS; G7c staged/partial ve fiziksel PASS değildir.
- G7d preemption ile G8 SMP ayrı kapılar olarak kapalı kalır.
M9.10 · G7b
Reserved-aware PMM fiziksel BOOT7B PASS
c065…db5f paket gerçek Pi 5 UART10 kaydında G7B0 tek-frame smoke ve BOOT7B timer ilerlemesini kapattı.
FİZİKSEL PASS · BOOT7B
Fiziksel marker zinciri
- BOOT0–BOOT7B toplam 16 marker exact-once ve sırada görüldü.
G7B0 RANGES=3 TOTAL_FRAMES=2073380 ALLOC=1 FRAME=0x18c8000.MAP=KERNEL_DATA RW=OK EXCLUDED=OK REMAINING=2073379.BOOT7B PMM=OK TIMER=OK BASE_TICKS=203 TICKS=303; delta 100.
Dondurulmuş UART kanıtı
- Immutable raw: 20340 B / 417 LF ·
58fef84f…35c2a. - Power-off sonrası final offset 20339 NUL yalnız raw strict sonucu düşürdü; raw mutate edilmedi.
- Son byte'ı yalnız stdin slice'ta dışlayan canonical: 20339 B ·
4b974e37…a7c9· strict PASS. - SEC1–SEC213 / 21300 tick: gap=0, mismatch=0, drift_us=0; forbidden scan sıfır.
Chain-of-custody + sınır
- UART yükleme boyutları 140432 B image, 78703 B DTB ve 501 B config'i gösterdi; hash bağı sıra 34'ün 3/3 + dört cmp zinciridir.
- Önceki
7f0ba2b9…1720e2deneme pre-MMU LDAXRB data abort ile FAIL idi; bu tarihsel sınır korunur. - Tek yaklaşık 213 saniyelik boot ve bir 4 KiB frame / 24 B RW smoke; exhaustion, free/reuse ve bütün RAM kanıtlanmaz.
- Host yalnız DTB/heap/guard'ı bağımsız dışlar; ayrıntıları loglanmayan kernel/reserved/CMA için
EXCLUDED=OKkernel-side attestasyondur. - Sıradaki fiziksel kapı G7c: 276d568b…a99d0 EL0/SVC paketi staged; microSD ve BOOT7C UART kanıtı bekliyor.
M9.9 · G7a
CPU0 kooperatif scheduler fiziksel BOOT7 PASS
İki EL1 kernel görevinin açık yield noktalarında dar ABAB context-switch kanıtı.
FİZİKSEL PASS · BOOT7
Fiziksel marker zinciri
CPU=0 MODE=COOP TASKS=2 FPEN=3 START_TICKS=102.- Açık yield noktaları:
A1→B1→A2→B2. BOOT7 SCHED=OK ORDER=ABAB STEPS=4 TICKS=202.
Dondurulmuş kanıt
- UART: 12.335 B / 253 satır ·
42b30a5d…bfc6. - Validator PASS:
102→202, delta 100, 52 SEC örneği. - SEC1–SEC52 boşluksuz, drift +0 µs; hata marker'ı yok.
Kanıt sınırı + sıra
- Yalnız CPU0 kooperatif EL1 smoke; IRQ preemption, EL0 ve SMP değildir.
- İki 64 KiB kernel stack: toplam 128 KiB sınırlı leak; lifecycle/guard kanıtlanmadı.
- G7b: tarihsel pre-MMU data abort düzeltildi; c065bbd7…db5f paket G7B0 + BOOT7B fiziksel PASS verdi.
M9.8 · G6
Allocation-free DT/RAM planı + dar RPi5 MMU paketi
Gerçek Pi 5 UART10'da RAM0/RAM1, dar PAGE sözleşmesi ve BOOT6 fiziksel PASS.
FİZİKSEL PASS · BOOT6
Hazır olan
- FDT:
/memory, memreserve, fixed reserved-memory ve CMA alloc-ranges allocation-free ayrıştırılıyor. - Dışlama: ATF, kernel, runtime DTB ve reserved/CMA heap adaylarından çıkarılıyor.
- Heap: 4 KiB unmapped guard + tam 8 MiB alan; Box smoke yolu hazır.
Statik kanıt
- Rust 18/18 ve tam
make verifyPASS. - Exact-permission PAGE_CONTRACT; null/ATF/guard/DTB/CMA unmapped.
- 127152 B imaj ·
5630758c…f26b· manifest 3/3 OK.
Fiziksel kanıt
RAM0: DTB0x2efec500, RAM=2, RESERVED=4, CMA=1.RAM1: 4 KiB guard + tam 8 MiB heap; 2.048 sayfaLockedHeap.BOOT6 DT+RAM+HEAP=OK BOX=0xa5a51234; SEC1–SEC78 / 7.800 tick, hata marker'ı yok.
D + E + M9.1 paralel denetim
RPi5 + QEMU virt cilalama + DT walk debug — 18 paralel araştırma
Aynı yöntemle 3 başlık paralel keşif: gerçek donanım yolu net.
18/18 RAPOR · YOL HARİTASI HAZIR
D · RPi5 / BCM2712 (6 rapor)
- SoC: Cortex-A76 ARMv8.2, EL1/EL2 entry, x0=DTB; RAM @ 0x0, headersız kernel final entry @ 0x0008_0000
- UART: PL011 UART10 @
0x10_7D00_1000(40-bit PA gerek, TCR_EL1.IPS=0b010) - GIC-400 (GICv2) @
0x10_7FFF_9000/0x10_7FFF_A000 - Boot: headersız
aselsanos-rpi5.img+ sabitlenmiş DTB +config.txtuart_2ndstage=1 - Board abstraction:
src/board/qemu.rs+rpi4.rs+rpi5.rs+ ayrı linker scripts
E · QEMU virt cilalama (6 rapor)
- GICv3: atlanabilir — RPi5 zaten GICv2 (yatırım boşa gitmez)
- Timer: CNTV+CVAL drift-free ✓; sadece per-CPU init helper eksik (SMP için)
- PSCI:
system_off/reset/cpu_onSMC tabanlı; 100 satır - ramfb:
fw_cfg@0x09020000DMA +RamFbCfg(28 B BE); GTK pencerede pixel çıkışı - virtio-blk: defer —
virtio-driverscrate ile M9.5'te - SMP:
percpu.rshazır; PSCICPU_ON+secondary_startasm
M9.1 walk() bug (6 rapor)
- Kök neden:
ptr::add()allocation dışı = UB; LLVMopt-level=z + lto=trueile loop kapatılıyor - Padding spec: offset-from-DTB-base (mutlak değil); aligned DTB'de eşdeğer ✓
- Çözüm: byte-offset
&[u8]slice + bound-check'li iter (repnop/fdt patterni). walk_v2 yazıldı, gerçek DTB'de validate edilecek - Synthetic 103-byte test DTB hazır; M9.1 mini-test bench için
Net yol haritası (paralel araştırmadan çıkan)
M9.2 Board abstraction (arch/aarch64/board/{mod,qemu_virt,rpi5}.rs) M9.3 PSCI shutdown/reset + panic handler integration (~150 LoC) M9.4 Per-CPU timer init helper + secondary entry asm + PSCI CPU_ON M9.5 TAMAM · linker-rpi5.ld + raw aselsanos-rpi5.img + 3-file manifest M9.6 TAMAM · RPi5 fiziksel boot → BOOT0–BOOT4 + MMU=ON PASS M9.7 TAMAM · GIC-400 PPI27 + virtual timer fiziksel BOOT5 PASS M9.8 TAMAM · 4 KiB guard + 8 MiB heap · fiziksel BOOT6 PASS G7a TAMAM · CPU0 cooperative ABAB · fiziksel BOOT7 PASS G7b TAMAM · reserved-aware tek-frame PMM · fiziksel G7B0 + BOOT7B PASS G7c PASS · 276d…a99d0 trusted ELF + gerçek EL0 WRITE/EXIT + BOOT7C G7d PASS · 1993361c…26bf2 raw · PPI27 + 4 integer-frame switch + BOOT7D G8a PASS · 1f4b0e34…21f67 raw · PSCI 1.1 CPU1 + shared TTBR0 + mailbox + BOOT8 G8b PASS · f40d5379…09718 raw · CPU1 PPI27 exactly-once + BOOT8B 601→700 G8c PASS · 04158260…e0db raw · tek CPU1 task + 64 KiB stack restore + BOOT8C 701→800 G8d PASS · e1c43c7d…49c1d raw · tek CPU0→CPU1 SGI1 + BOOT8D 802→900 G8e PASS · c9909dea…51f4d raw · aynı SGI1 kanalında ikinci wake + BOOT8E 902→1000 G8f PASS · e70e…5068 raw · quiescent atomic handoff + BOOT8F 1004→1005 G8g+ SONRA · migration + TLB shootdown + CPU2/3/hotplug M9.10 walk_v2 RPi5 gerçek DTB ile validate (TCG bug bypass) M10 ramfb framebuffer (GTK'da pixel çıkışı, ASELSAN UI fundamenti) M11 virtio-blk (persistent storage, dynamic ELF loading) M12 SMP bring-up: 4 core round-robin schedulingM6.4 regression durumu
[M9.1] DTB header: magic=0xd00dfeed totalsize=0x100000 struct=0x1b88 version=17 boot_cpu=0 [M9.1] walk_v2 QEMU TCG'de geçici disabled — RPi5/U-Boot DTB ile validate edilecek [IPC-Client] reply DOGRU (echo+1) - hedef ile esleshme PASS x3 ← regression-free [IPC-Client] 3 cagri tamam, exit task_exit() name='IPC-Server'/'IPC-Client' state=Dead
M9.1
Device Tree parser — RPi5 + telefon SoC için temel yatırım
QEMU virt'i aşıp gerçek donanıma çıkmanın ilk adımı. U-Boot/Linux aarch64 boot protokolü.
HEADER PARSE OK + BOOT PROTOKOLÜ
Kazanım
-
kernel/src/dt.rsmodülü: FdtHeader + walk + memory + bootargs API'leri -
boot.S: x0 (DTB phys) callee-savedx19'a save →_start_rust(dtb_phys: u64)imzası - Linux/U-Boot/QEMU aarch64 standart boot protokolü destekleniyor
QEMU self-test
- Gömülü
qemu-virt.dtb(1 MiB, 8-byte aligned) ile self-test - Header doğrulandı:
magic=0xd00dfeed v17 size=0x1b88 - walk() QEMU TCG'de hang üretiyor — RPi5/U-Boot'ta validate edilecek
Yol haritası
- D — Raspberry Pi 5 target/linker/boot iskeleti
- E — QEMU virt GICv3 + timer + framebuffer cilalama
- B — SMP bring-up (RPi5'te gerçek secondary core)
QEMU log
[M9.1] DTB phys=0x0000000000000000 (boot protokolünden x0) [M9.1] x0=0 / invalid magic (QEMU ELF boot beklenen). Gömülü QEMU virt DTB ile self-test: [M9.1] embedded DTB phys=0x0000000040021cd0 size=1048576 bytes (align8=true) [M9.1] DTB header: magic=0xd00dfeed totalsize=0x100000 struct=0x1b88 version=17 boot_cpu=0 [M9.1] walk() QEMU TCG'de geçici disabled — header parse OK, memory/bootargs RPi5 testinde validate edilecek [IPC-Client] reply DOGRU (echo+1) - hedef ile esleshme PASS x3 ← M6.4 regression-free [IPC-Client] 3 cagri tamam, exit task_exit() name='IPC-Server'/'IPC-Client' state=Dead
Niye bu önemli
QEMU'dan ilk çıkış
DT olmayan kernel = QEMU virt'e çakılı. M9.1 ile RPi5 ve telefon SoC'leri için aynı parser kullanılır — tek seferlik yatırım.
Standart boot protokolü
U-Boot / Linux aarch64 convention'ı tam destekleniyor: x0=DTB phys. RPi5 + Snapdragon U-Boot port'ları doğrudan boot edebilir.
Audit borç temizliği önceden
M9.1'den önce task_exit TTBR0 cleanup + ELF kernel essentials map fix'leri yapıldı → temiz zemin üzerinde DT inşası.
SIRADAKİ
Kalan açık uçlar
M5 tek küçük gap + M6/M7 multi-core + 2 bağımsız task lifecycle bug'ı
DEVAM
- ✅ M5.1–5.4 — Generic Capability + provenance + CNode + mint/derive/revoke + 5 object kind hazır
- ✅ M6.1 · M6.3 · M6.4 — Endpoint cap + kernel msg queue + Reply Cap + tam EL0 IPC akışı
- ✅ M7.1–M7.5 — IPC ABI + rights enforcement + reply cap one-shot + revoke wake — 10/10 audit yeşil
- ✅ M5.5 + M7.4 + M8.2 stack mapping — Kapsamlı denetimle çözüldü (üst kartta detay). User stack USER_NORMAL + guard unmapped + per-task TTBR0/ASID. Kernel hung gitti. M7-Server EL0'da sys_write çalışıyor, hello-elf ELF EL0'da "He" yazıp exit ediyor.
- 🟡 M5.5 stack guard fault handler — Guard page map edilmiyor (Strategy A), overflow translation fault üretir; handler'da "stack overflow in task #N" branch'i opsiyonel.
- 🟡 M7.4 demo helper bug — M7-Server
u_list_my_endpoints + u_print_hexEL0 abort (kapsam dışı, helper'lar basitleştirilince çalışır). - ✅ Task exit TTBR0 cleanup —
task_exit()artıkswitch_to_kernel_address_space()çağırıyor; ELF kernel essentials mapping de 2 MiB → 128 MiB'a çıkarıldı. M6.4 0 DATA ABORT ile geçiyor. - ✅ M9.1 Device Tree parser — kernel/src/dt.rs + boot.S x0 protokolü + QEMU self-test (üst kartta detay).
- 🟡 M9.1 walk() TCG hang — Gömülü DTB ile QEMU TCG'de hang; RPi5/U-Boot'ta validate edilecek.
- 🟡 M8 ELF demo — hello-elf entry'de undefined instruction (binary'nin kendi prologue bug'ı). Geçici disable.
- 🟡 M6/M7 multi-core — Single-core OK; SMP'de
ipc_blocked_tasks+ENDPOINT_REGISTRYiçin per-CPU lock