S87 · SOURCE-BOUND GATE EVIDENCE
G8g tam regresyon, QEMU ve beş profil matrisi yeşil
S87 make hedefi → exact G8g matrix yürütme script'i Bu sayfa yalnız S87 kapısına aittir; komşu kapıların kaynakları bu kabulün içine katılmaz.
S87Komut / fiziksel sözleşmeOperations id exactsource SHA exact
operation: rpi5-g8g-full-regression-matrix-green
script/Makefile/config · Operations · 2 exact excerpt
sequence-bound=true · implementation-bound=false
01 · Yürütme / doğrulama kodu
Kapının gerçek repository sözleşmesi
tam dosyaL1–L97
scripts/verify-rpi5-g8g-matrix.sh::verify-rpi5-g8g-matrix.sh
#!/bin/sh
set -eu
cargo_bin=${1:-cargo}
readobj=${2:?'llvm-readobj yolu gerekli'}
objdump=${3:?'llvm-objdump yolu gerekli'}
script_dir=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd -P)
repo_root=$(CDPATH= cd -- "$script_dir/.." && pwd -P)
kernel_dir="$repo_root/kernel"
target_root="$repo_root/target/g8g-matrix"
target_triple=aarch64-unknown-none
[ -f "$kernel_dir/.cargo/config.toml" ] || {
echo 'HATA: kernel/.cargo/config.toml yok; production profil bağlamı kurulamadı' >&2
exit 1
}
[ -x "$readobj" ] || {
echo "HATA: llvm-readobj çalıştırılamıyor: $readobj" >&2
exit 1
}
[ -x "$objdump" ] || {
echo "HATA: llvm-objdump çalıştırılamıyor: $objdump" >&2
exit 1
}
build_profile() {
profile=$1
features=$2
profile_target="$target_root/$profile"
(
cd "$kernel_dir"
CARGO_TARGET_DIR="$profile_target" "$cargo_bin" build \
--target "$target_triple" \
--no-default-features \
--features "$features"
)
echo "PROFILE=$profile FEATURES=$features MODE=BUILD CONFIG=kernel/.cargo/config.toml RESULT=PASS"
}
check_profile() {
profile=$1
features=$2
profile_target="$target_root/$profile"
(
cd "$kernel_dir"
CARGO_TARGET_DIR="$profile_target" "$cargo_bin" check \
--target "$target_triple" \
--no-default-features \
--features "$features"
)
echo "PROFILE=$profile FEATURES=$features MODE=COMPILE_ONLY CONFIG=kernel/.cargo/config.toml RESULT=PASS"
}
build_profile qemu board-qemu
build_profile rpi4 board-rpi4
build_profile rpi5 board-rpi5
check_profile qemu-smp board-qemu,smp
check_profile rpi5-smp board-rpi5,smp
rpi5_elf="$target_root/rpi5/$target_triple/debug/aselsan_kernel"
[ -f "$rpi5_elf" ] || {
echo "HATA: fresh RPi5 ELF yok: $rpi5_elf" >&2
exit 1
}
sh "$script_dir/verify-rpi5-g8-layout.sh" "$readobj" "$objdump" "$rpi5_elf"
sh "$script_dir/verify-rpi5-g8b-layout.sh" "$objdump" "$rpi5_elf"
sh "$script_dir/verify-rpi5-g8c-layout.sh" "$objdump" "$rpi5_elf"
sh "$script_dir/verify-rpi5-g8d-layout.sh" "$objdump" "$rpi5_elf"
sh "$script_dir/verify-rpi5-g8e-layout.sh" "$objdump" "$rpi5_elf"
sh "$script_dir/verify-rpi5-g8f-layout.sh" "$objdump" "$rpi5_elf"
sh "$script_dir/verify-rpi5-g8g-layout.sh" "$objdump" "$rpi5_elf"
for marker in \
ASELSAN/G8G0 \
ASELSAN/G8G1 \
ASELSAN/G8G2 \
ASELSAN/BOOT8G \
ASELSAN/G8GERR
do
count=$(strings "$rpi5_elf" | grep -F -o "$marker" | wc -l | tr -d ' ')
[ "$count" -eq 1 ] || {
echo "HATA: fresh RPi5 ELF marker exact-once değil: $marker count=$count" >&2
exit 1
}
echo "MARKER=$marker COUNT=$count"
done
rpi5_size=$(wc -c < "$rpi5_elf" | tr -d ' ')
rpi5_sha=$(shasum -a 256 "$rpi5_elf" | awk '{print $1}')
echo "MATRIX=5/5 LAYOUT=G8-G8g MARKERS=5/5 RESULT=PASS"
echo "RPI5_ELF_BYTES=$rpi5_size RPI5_ELF_SHA256=$rpi5_sha"
echo 'ROOT_CARGO_CONTEXT=NON_PRODUCTION ACCEPTED_CONFIG_CONTEXT=kernel/.cargo/config.toml'
echo 'SMP_PROFILES=COMPILE_ONLY GENERIC_SMP_RUNTIME=STOP'
echo 'REPRODUCIBILITY=STOP IMAGE_FREEZE=STOP PACKAGE=STOP MICROSD=STOP UART=STOP PHYSICAL_BOOT8G=STOP'
snippet sha256: dfd7d3514d32…file sha256: dfd7d3514d32…
02 · Kapı kimlik kaydı
Operations sıra, kimlik ve başlık bağı
tam Operations kaydıL29142–L29233
website/src/lib/operations.ts::rpi5-g8g-full-regression-matrix-green
{
id: "rpi5-g8g-full-regression-matrix-green",
date: "2026-08-22",
sequence: 87,
status: "verified",
title: "G8g tam regresyon, QEMU ve beş profil matrisi yeşil",
summary:
"Sıra 86 hardened layout kabulünden sonra durable `make verify-rpi5-g8g-matrix` bağımsız tekrarında exit 0 verdi. Workspace 227/227; QEMU hello+IPC+SEC5 fault'suz; qemu/rpi4/rpi5 non-SMP BUILD ile qemu+smp/rpi5+smp COMPILE_ONLY profilleri 5/5; fresh production-context RPi5 ELF üzerinde G8–G8g layout 7/7 ve G8G0/G8G1/G8G2/BOOT8G/G8GERR marker exact-once 5/5 PASS'tir. Profil script'i her cargo çağrısını `kernel/` dizininde kalıcı `kernel/.cargo/config.toml` ile ve ayrı target kökünde çalıştırır. Workspace kökünden exit 0 veren diagnostic Cargo build'i bu config bağlamını taşımadığı ve G8g local-symbol size kapısında kaldığı için NON_PRODUCTION reddedildi. Fresh kabul ELF'i 7.692.040 B / 858644c8…ace620d. `verify-core` tarafından oluşan image yalnız build yan etkisidir: Sıra 88 reproducibility, immutable image/package, microSD, UART ve fiziksel BOOT8G STOP; SMP profilleri runtime kabulü değildir ve son fiziksel PASS Sıra 80 BOOT8F'tir.",
evidence: [
"Değişmeyen fiziksel prerequisite Sıra 80 BOOT8F raw'ıdır: 17.363 B, mode 0444, e70e1a9a2cf35f9079ee1b1a73d992106bf5ee9a19f1bbf2628582e836ea5068, direct validator PASS ve SCOPE=QUIESCENT_ATOMIC_HANDOFF_ONLY.",
"Yeni durable `verify-rpi5-g8g-matrix` hedefini taşıyan Makefile exact 18.040 B / 698c12830bff4525cfa83748dc74d5e0756e49b43b3398dd5ab90b6524a15b7c.",
"İzole profile/layout/marker/STOP kapısını taşıyan `verify-rpi5-g8g-matrix.sh` exact 3.169 B / dfd7d3514d3294048ef01626982bd636f8ceece07eba3bc6d8187244adfb09f5.",
"Matrix source acceptance testi exact 2.640 B / e8b70bddad7e33466c6dada9ce17ee0ad4a31d6ae6134c916b36cb8ef47f0ee4 ve 5/5 PASS'tir.",
"`make verify-rpi5-g8g-matrix` bağımsız tekrar exit 0; workspace 227/227 ve mevcut contract/runtime/integration 27/14/6=47/47 PASS'tir.",
"QEMU runtime smoke userspace hello, IPC request/response ve scheduler SEC5 marker'ını gördü; panic, abort, data fault, unknown/unhandled IRQ ve fatal marker sayısı sıfırdır.",
"Profil matrisi 5/5'tir: qemu/board-qemu, rpi4/board-rpi4 ve rpi5/board-rpi5 MODE=BUILD; qemu-smp/board-qemu,smp ile rpi5-smp/board-rpi5,smp MODE=COMPILE_ONLY.",
"Her profil `kernel/` çalışma dizininde kalıcı `kernel/.cargo/config.toml` production bağlamı ve ayrı `target/g8g-matrix/<profile>` kökü kullanır.",
"Diagnostic root-workspace Cargo build exit 0 ile 3.590.872 B / 17187014764d8eb4aee755a74aa030634c2c040d0102b07ec2508b8c6cf60a9a ELF üretti; package-altı config bağlamını taşımadığı ve G8g primary local-symbol size=0x18 verdiği için NON_PRODUCTION reddedildi.",
"Doğru kernel Cargo bağlamındaki fresh RPi5 ELF exact 7.692.040 B / 858644c80df07f7acb0ea38b44e88ea06064a01b23446ba24abe417facea620d.",
"Fresh ELF üzerinde G8/G8b/G8c/G8d/G8e/G8f/G8g production layout kapıları 7/7 PASS'tir.",
"Fresh ELF'te ASELSAN/G8G0, G8G1, G8G2, BOOT8G ve G8GERR marker'ları ayrı ayrı exact-once; toplam marker kapısı 5/5 PASS'tir. ELF görünürlüğü fiziksel emission değildir.",
"Sıra 86 başlangıç 34-girdi sorted-line aggregate manifest SHA-256 değeri f2a5241e78252f5f162ef21248d48736eedfb3823fa07f6e2a96b82bed8021f1'dir; Sıra 87 additive Makefile/script/test değişikliği nedeniyle whole-manifest unchanged iddiası yapılmaz.",
"Kritik production kaynakları aynen kaldı: main 98.001 B / 6190d7b22bb5c46779e1ea5760d550c2a640de28572b6f751a14ee74c61942f0; G8f 23.552 B / 052829aaba61e86e6d4f941dff18df2466750c4b4876f5478dee6a7120f45e97; G8g 37.958 B / 7f09aa1cf4df43c65ca80db7a97bff21a73e3e8a480fef4524bb44d058dc7545.",
"Exceptions 38.579 B / 817b872615593660761bf3d8965fc726b339c020da6692820d685655ad4140f9, timer 18.169 B / 35edb3758192aa23877962b92b6ab81e858a2523726d174069d6c17e231855d2 ve GIC 18.332 B / 7a5e876413389d2cb7d3e0eb3902dee1a56c7cb24e7ab188766763011333f8d9 olarak değişmedi.",
"`verify-core` side-effect image exact 292.256 B / 985fbe1088566beb1f8a655dba7b06759f088256077446a1d542251f3683c747; DTB 78.703 B / 40a2fbe9c29e8b9a4912cf726a943068defb779fc052ec38e457a79c58abca00; config 501 B / 1248275cdc6f6ce951ce0ff2183471d194c5b9bb58c3dc3f66efa9156f91d76b; SHA256SUMS 248 B / fb112a41f2f55a2355e9a91d58fd2c2e74ad969a6fbf11b0a8ad6956fed3cb7a. Hiçbiri Sıra 87 artifact kabulü değildir.",
"Sıra 87 full matrix proof exact 8.475 B / e403e28fc996d95308f9b2ae91146f2a94c4c2f7005c6ea8312a0a0e567c5dd2.",
"Updated staged proof exact 12.368 B / 0b613d2444918a054b2b9495ef4d46b3c11b0f5329fb39dc44f59cfd0f0dd8df.",
"Güncellenmiş Sıra 88–93 roadmap exact 31.967 B / c4db1807acd8e13ab3626efdf6729951b03e9f34c304d13204a1383f718c9728; sıradaki tek yetkili işlem Sıra 88 reproducible kernel payload kapısıdır.",
],
terminalSessionsNote:
"Oturumlar tam host/QEMU/profile/layout matrisini ve doğru production Cargo bağlamını gösterir. Compile-only SMP, incidental image veya ELF marker görünürlüğü fiziksel BOOT8G kanıtı değildir.",
terminalSessions: [
{
id: "g8g-sequence87-durable-full-matrix",
title: "Workspace, QEMU ve önceki G8g kapılarının tam tekrarı",
commandLines: [
"make verify-rpi5-g8g-matrix",
"run verify-core, G8g integration/layout and isolated profile matrix",
],
outputLines: [
"workspace=227/227 PASS · matrix-source=5/5 PASS",
"contract/runtime/integration=27/14/6=47/47 PASS",
"QEMU hello+IPC+SEC5=PASS · faults=0",
"durable target exit=0 · independent rerun=PASS",
],
exitCode: 0,
outputMode: "complete",
},
{
id: "g8g-sequence87-five-profiles",
title: "Kalıcı kernel Cargo config ile beş izole profil",
commandLines: [
"build qemu, rpi4 and rpi5 in isolated target roots",
"check qemu+smp and rpi5+smp as compile-only profiles",
"run G8 through G8g layouts and exact marker counts on fresh RPi5 ELF",
],
outputLines: [
"profiles=5/5 PASS · BUILD=3 · COMPILE_ONLY=2",
"accepted config=kernel/.cargo/config.toml",
"layouts=7/7 PASS · markers=5/5 exact-once",
"RPi5 ELF=7692040 B · sha256=858644c80df07f7acb0ea38b44e88ea06064a01b23446ba24abe417facea620d",
],
exitCode: 0,
outputMode: "complete",
},
{
id: "g8g-sequence87-context-and-artifact-stop",
title: "Root Cargo negative control ve incidental image sınırı",
commandLines: [
"diagnostic root-workspace cargo build -p aselsan_kernel ... board-rpi5",
"compare local-symbol layout with persistent kernel config build",
"classify verify-core image side effect without promotion",
],
outputLines: [
"root Cargo ELF=3590872 B · exit=0 · G8g local symbol size=0x18",
"root Cargo context=NON_PRODUCTION · layout=REJECTED",
"verify-core image=292256 B · acceptance=NO",
"SMP runtime/repro/image/package/SD/UART/physical=STOP",
],
exitCode: 0,
outputMode: "selected",
},
],
limitations: [
"Bu kayıt tam regression/QEMU/profile/layout matrisidir; reproducible payload, immutable image/package veya fiziksel BOOT8G PASS değildir.",
"QEMU+SMP ve RPi5+SMP yalnız COMPILE_ONLY'dir; generic SMP runtime, scheduler/runqueue ownership, migration, TLBI ve CPU2/CPU3 açılmaz.",
"Fresh RPi5 ELF'in markerları exact-once taşıması UART'ta yayımlandıklarını kanıtlamaz; fiziksel emission Sıra 92'ye aittir.",
"`verify-core` tarafından oluşan image tarihsel G8f seviyeli build yan etkisidir; Sıra 88 üç-yönlü reproducibility ve Sıra 89 package freeze olmadan deploy adayı değildir.",
"microSD, UART, Debug Probe ve Pi güç durumuna dokunulmadı. Son fiziksel PASS Sıra 80 BOOT8F'tir.",
"Production deployment dirty/untracked workspace ve stale 47d22c9 source etiketiyle yapılır; canlı artifact doğrulansa da Git-provider provenance kurulmuş sayılmaz.",
],
},snippet sha256: c79cdf04e8d3…file sha256: 9726dbf00f84…
Kayıtlı yürütme/kanıt komutu
make verify-rpi5-g8g-matrixRegistry schema v5 · generator
website/scripts/generate-code-gates.mjs · Tam SHA-256: 91d38c7b6222f0b4c117be786454853543da55a160e543d9b951057cc20dcc06