ASELSANMicrokernel
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 ve TCIFLUSH ile 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 NONE doğ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, serial 0x425001fa, Secure Digital, 62549655552 B, removable/non-virtual.
  • /dev/disk6s1: MBR/FAT32 ASELSANBOOT; virtual APFS /dev/disk4 reddedildi.
  • 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 Release ile yayımlar.
  • CPU0 değeri Acquire ile alır; yayımlanmamış sentinel'i ve enable bitini reddeder.
  • Primary disassembly kapısı MRS CNTV_CTL_EL0 talimatı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…a46922 failing 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…a713 raw 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 1 verdi.
  • 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, serial 0x425001fa, 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=PASS ve ASELSANBOOT_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/BOOT8D henüz gerçek UART10'da gözlenmedi.
  • Aynı descriptor'da 115200 8N1 raw, TCIFLUSH ve 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…e0db raw, G8C1 RUNS=1/PROGRESS=3 ve BOOT8C 701→800.
  • CPU0 yalnız SGI1'i explicit TARGET_LIST=0x02 ile CPU1'e yollar; SGIR komutu 0x00020001.
  • 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/BOOT8D yalnı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 ve TCIFLUSH.
  • Deneme 1: güç öncesi timeout; 1 B · 6e340b9c…afa01d · tek NUL · mode 0444; reddedildi.
  • Deneme 2: 13408 B · 04158260…e0db · mode 0444 · 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.
  • SEC8 ardından BOOT8C BASE_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=PASS ve ASELSANBOOT_unmounted=PASS.
Fiziksel sınır · sıradaki
  • Kart yazımı runtime kanıtı değildir; Raspberry Pi 5 açılmadı.
  • G8C0/G8C1/BOOT8C iç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 .bss stack.
  • İ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/BOOT8C yalnı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 · mode 0444 · 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.
  • SEC7 ardından BOOT8B BASE_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=PASS ve 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/BOOT8B iç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 BOOT8 sonrası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 TICKS değişmez.
  • Handler local timer disable + raw EOI + exactly-once delivery; IRQ maskeli EL1h dönüşü.
  • CPU1 yeniden WFE parkı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/BOOT8B yalnı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=505G8S0 START_TICKS=506; handoff bir tick.
  • PSCI 1.1/SMC · target 0x100 · entry 0x801f8 · 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 BOOT8 506→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=PASS ve 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/BOOT8 iç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=psci CPU; MPIDR 0x000/0x100/0x200/0x300.
  • CPU0 yalnız CPU1'i CPU_ON64=0xc4000003 ve context 0x4738435055310001 ile 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/rpi5 içindedir; microSD'ye yazılmadı ve Pi açılmadı.
  • G8S0/G8S1/BOOT8 sentetik 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…a202 raw yedi leading NUL nedeniyle reddedildi; PASS üretmedi.
  • İkinci 11909 B · 1993361c…26bf2 raw 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'leri 416/426/436/446.
  • Task A progress 4474576→9157601; task B 4682996→9366022.
  • G7D4 sonrası 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; manifest fc2f2268…be71.
  • Kart kökü 3/3 OK; image, DTB, config ve manifest için dört ayrı cmp OK.
Güvenli sınır
  • sync ve diskutil eject /dev/disk4 geç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/BOOT7D doğ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=UNUSED kapsamı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…a99d0 G7c paketi var.
  • G7D0–G7D4/BOOT7D yalnı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…a99d0 paket 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: text 0x18de000, rodata 0x18df000, stack 0x18e0000, remaining 2073355.
  • Ayrı EL0 payload exact bir kez: Hello from separate EL0 binary (M8)!
  • G7C1 exact WRITE/copy-in; G7C2 exact EXIT, teardown ve RETURN=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_LOAD sayfalı 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…db5f G7b paketi var.
  • G7C0/G7C1/G7C2/BOOT7C yalnı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…1720e2 deneme 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=OK kernel-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 verify PASS.
  • Exact-permission PAGE_CONTRACT; null/ATF/guard/DTB/CMA unmapped.
  • 127152 B imaj · 5630758c…f26b · manifest 3/3 OK.
Fiziksel kanıt
  • RAM0: DTB 0x2efec500, RAM=2, RESERVED=4, CMA=1.
  • RAM1: 4 KiB guard + tam 8 MiB heap; 2.048 sayfa LockedHeap.
  • 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.txt uart_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_on SMC tabanlı; 100 satır
  • ramfb: fw_cfg@0x09020000 DMA + RamFbCfg (28 B BE); GTK pencerede pixel çıkışı
  • virtio-blk: defer — virtio-drivers crate ile M9.5'te
  • SMP: percpu.rs hazır; PSCI CPU_ON + secondary_start asm
M9.1 walk() bug (6 rapor)
  • Kök neden: ptr::add() allocation dışı = UB; LLVM opt-level=z + lto=true ile 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 scheduling
M6.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.rs modülü: FdtHeader + walk + memory + bootargs API'leri
  • boot.S: x0 (DTB phys) callee-saved x19'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_hex EL0 abort (kapsam dışı, helper'lar basitleştirilince çalışır).
  • ✅ Task exit TTBR0 cleanuptask_exit() artık switch_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_REGISTRY için per-CPU lock