S164 · SOURCE-BOUND GATE EVIDENCE
G8m: CPU2 topology/admission, pinned workload ve quiescence modeli
Operations --test hedefi → test hedefiyle aynı adlı uygulama/model modülü → kaynak kesiti Bu sayfa yalnız S164 kapısına aittir; komşu kapıların kaynakları bu kabulün içine katılmaz.
S164Focused kod testiOperations id exactsource SHA exacttest target exact
operation: g8m-cpu2-topology-admission-quiescence-model-partial
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 öğesiL11–L59
simulation/src/g8m_cpu2.rs::CPU2_ONLINE_MASK
pub const CPU1: usize = 1;
pub const CPU2: usize = 2;
pub const CPU3: usize = 3;
pub const INITIAL_ONLINE_MASK: u8 = 0b0011;
pub const CPU2_ONLINE_MASK: u8 = 0b0111;
pub const PINNED_TASK: u64 = 82;
pub const PINNED_PROGRESS_DELTA: u64 = 3;
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub struct G8mPrerequisites {
pub g8l_physical_pass: bool,
}
impl G8mPrerequisites {
pub const fn closed() -> Self {
Self {
g8l_physical_pass: false,
}
}
pub const fn synthetic_pass_fixture() -> Self {
Self {
g8l_physical_pass: true,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub struct CpuSlotIdentity {
pub logical_cpu: usize,
pub mpidr: u64,
pub tpidr: usize,
pub stack_slot: usize,
pub timer_slot: usize,
pub runqueue_slot: usize,
}
impl CpuSlotIdentity {
pub const fn production_cpu2() -> Self {
Self {
logical_cpu: CPU2,
mpidr: EXPECTED_MPIDRS[CPU2],
tpidr: CPU2,
stack_slot: CPU2,
timer_slot: CPU2,
runqueue_slot: CPU2,
}
}
}snippet sha256: 028ccc0627b4…file sha256: 1b8009ca03cc…
02 · Doğrulayan test kodu
Operations komutuna bağlı focused test
tam Rust öğesiL87–L134
simulation/tests/g8m_cpu2.rs::cpu2_mpidr_tpidr_stack_timer_and_runqueue_slots_cannot_alias
#[test]
fn cpu2_mpidr_tpidr_stack_timer_and_runqueue_slots_cannot_alias() {
let mutations = [
CpuSlotIdentity {
mpidr: 0x100,
..identity()
},
CpuSlotIdentity {
mpidr: 0x300,
..identity()
},
CpuSlotIdentity {
tpidr: CPU1,
..identity()
},
CpuSlotIdentity {
tpidr: CPU3,
..identity()
},
CpuSlotIdentity {
stack_slot: CPU0,
..identity()
},
CpuSlotIdentity {
stack_slot: CPU1,
..identity()
},
CpuSlotIdentity {
timer_slot: CPU3,
..identity()
},
CpuSlotIdentity {
runqueue_slot: CPU3,
..identity()
},
];
let mut model = model();
for mutated in mutations {
assert!(matches!(
model.begin_cpu2(CPU0, CPU2, mutated),
Err(G8mCpu2Error::InvalidTopology | G8mCpu2Error::ResourceAlias)
));
assert_eq!(model.state(), Cpu2State::Offline);
assert_eq!(model.active_ticket(), None);
}
assert!(model.begin_cpu2(CPU0, CPU2, identity()).is_ok());
}snippet sha256: 28eac9707a6c…file sha256: 59ba29538757…
03 · Kapı kimlik kaydı
Operations sıra, kimlik ve başlık bağı
tam Operations kaydıL23357–L23398
website/src/lib/operations.ts::g8m-cpu2-topology-admission-quiescence-model-partial
{
id: "g8m-cpu2-topology-admission-quiescence-model-partial",
date: "2026-08-24",
sequence: 164,
status: "passed",
umbrella_status: "partial",
title: "G8m: CPU2 topology/admission, pinned workload ve quiescence modeli",
summary:
"S164, ilk CPU2-only G8m kapısını 12/12 bounded source/model testiyle kapattı. Production BCM2712 topoloji sabitleri ve decoder'ı doğrudan kullanılarak yalnız CPU2, canonical MPIDR=0x200, TPIDR=2 ve benzersiz stack/timer/runqueue slot 2 kabul edildi. Exact OFFLINE→STARTING→ONLINE_PINNED→QUIESCENT zinciri ve yalnız online_mask 0b0011→0b0111 geçişi doğrulandı; CPU3 offline kaldı ve 0b1111 yayımlanmadı. Boot ACK generation-bound/exact-once, pinned workload CPU2'de exact-once; quiescent yayın IRQ masked, timer off, runqueue empty, current task none ve stack canary OK koşullarının tamamına bağlandı. Wrong topology/target/slot/mask, foreign/stale ticket, duplicate ACK/work, generation ve progress overflow state yayımlamadan reddedildi. Bu fiziksel CPU2 boot'u değildir; production PSCI/secondary-entry/per-CPU wiring, QEMU, fiziksel RPi, CPU3, soak ve hotplug açıktır.",
evidence: [
"g8m_cpu2: 12/12 PASS; production EXPECTED_MPIDRS=[0x000,0x100,0x200,0x300] ve logical_cpu_index decoder'ı doğrudan tüketildi.",
"CPU2 identity exact MPIDR=0x200 / TPIDR=2 / stack=2 / timer=2 / runqueue=2; CPU0, CPU1 veya CPU3 slot alias'ları transactional reddedildi.",
"Online mask yalnız 0b0011→0b0111 ilerledi; CPU3=OFF ve FOUR_CPU_ONLINE_MASK_0XF=NO kaldı.",
"Boot ACK ve pinned workload exact-once; generation/progress overflow ticket veya task ownership yayımlanmadan fail-closed kaldı.",
"Quiescent receipt IRQ masked, timer off, runqueue empty, current task none ve stack canary OK alanlarının tamamını istedi.",
"Kalıcı kapsam: `docs/M8.1-RPi5-G8m-S164-CPU2-Topology-Admission-Model-Proof.md`.",
"S164 fiziksel/device operasyonu yapmadı: physical/device operations=0 ve RUNBOOK_EXECUTED_IN_S164=NO.",
],
commands: ["cargo test --test g8m_cpu2 -- --test-threads=1"],
terminalSessions: [
{
id: "s164-g8m-cpu2-topology-admission-model",
title: "G8m CPU2-only topology/admission host model kapısı",
commandLines: ["cargo test --test g8m_cpu2 -- --test-threads=1"],
outputLines: [
"running 12 tests",
"test result: ok. 12 passed; 0 failed",
"ONLINE_MASK=0b0011→0b0111 · CPU3=OFF · FOUR_CPU_ONLINE_MASK_0XF=NO",
],
exitCode: 0,
outputMode: "selected",
},
],
terminalSessionsNote:
"S164 bounded source/model kapısıdır; G8l physical prerequisite default-closed ve synthetic fixture only. Production PSCI/secondary-entry/MPIDR-TPIDR read-back/per-CPU runtime sonucu değildir.",
limitations: [
"G8l fiziksel önkoşulu kapalıdır; synthetic prerequisite fixture fiziksel PASS üretmez.",
"G8mPrerequisites, Cpu2BootAck ve Cpu2QuiescentObservation bounded model girdileridir; physical/PSCI/timer/scheduler/stack authority kaynaklarından production-unforgeable receipt değildir.",
"Production PSCI CPU_ON, secondary-entry assembly, per-CPU stack/timer/runqueue wiring, QEMU, fiziksel RPi, CPU3, online_mask=0xf, soak ve hotplug sonraki kapılardır.",
"QEMU ve fiziksel/device operations kapsam dışıdır; RUNBOOK_EXECUTED_IN_S164=NO.",
],
},snippet sha256: c2fd3486046d…file sha256: 9726dbf00f84…
Focused test komutu
cargo test --test g8m_cpu2 -- --test-threads=1proof: docs/M8.1-RPi5-G8m-S164-CPU2-Topology-Admission-Model-Proof.md
Registry schema v5 · generator
website/scripts/generate-code-gates.mjs · Tam SHA-256: 91d38c7b6222f0b4c117be786454853543da55a160e543d9b951057cc20dcc06