ASELSANMicrokernel
S331 · SOURCE-BOUND GATE EVIDENCE

S331 · Exact-capability revoke production writer guard integration

production acquire → S247 guard modülü → Operations-bound focused test Bu sayfa yalnız S331 kapısına aittir; komşu kapıların kaynakları bu kabulün içine katılmaz.

S331Production writer guardOperations id exactsource SHA exacttest target exact

operation: g8l-s331-exact-capability-revoke-writer-guard-integration-partial

production · S247 guard · focused test · Operations · 4 exact excerpt

sequence-bound=true · implementation-bound=true
01 · Test edilen uygulama/model kodu

Kapının yürüttüğü gerçek kaynak

tam Rust öğesiL4543–L4561
kernel/src/task/scheduler.rs::revoke_cap_for_task_exact_under_ipc_transaction

pub(crate) fn revoke_cap_for_task_exact_under_ipc_transaction(
    expected: &crate::ui::capability::Capability,
) -> bool {
    #[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
    let irq_guard = crate::arch::aarch64::IrqGuard::new();
    #[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
    let s331_writer_access = crate::g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s331_exact_capability_revoke_writer_guard_integration::acquire_s331_production_scheduler_writer_access()
        .unwrap_or_else(|error| panic!("S331 exact-capability-revoke scheduler writer guard failed closed: {:?}", error));
    let result = unsafe {
        let scheduler = &mut *core::ptr::addr_of_mut!(SCHEDULER);
        scheduler.revoke_cap_for_task_exact(expected)
    };
    #[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
    drop(s331_writer_access);
    #[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
    drop(irq_guard);
    result
}
snippet sha256: 70d76f7bf1b8file sha256: 838dd474448c
02 · Ortak exclusion üyeliği

S247 production writer guard

tam Rust öğesiL141–L152
kernel/src/g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s331_exact_capability_revoke_writer_guard_integration.rs::acquire_s331_production_scheduler_writer_access

/// Acquire from the exact static gate used by routed readers and prior
/// writers. The caller must mask local IRQs before deriving CPU identity.
#[cfg(all(target_arch = "aarch64", target_os = "none", feature = "board-rpi5"))]
pub fn acquire_s331_production_scheduler_writer_access(
) -> Result<G8lS331ProductionSchedulerWriterAccess, G8lS247WholeSchedulerAccessError> {
    let caller_cpu =
        crate::percpu::try_current_cpu_id().ok_or(G8lS247WholeSchedulerAccessError::InvalidCpu)?;
    let access = crate::g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s246_whole_scheduler_read_access_guard::S247_PRODUCTION_WHOLE_SCHEDULER_ACCESS_GATE
        .try_acquire_exclusive_for_valid_cpu(caller_cpu)?;
    Ok(G8lS331ProductionSchedulerWriterAccess { _access: access })
}
snippet sha256: be0663d546c3file sha256: fcf2afa57533
03 · Doğrulayan test kodu

Operations komutuna bağlı focused test

tam Rust öğesiL213–L230
simulation/tests/g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s331_exact_capability_revoke_writer_guard_integration.rs::target_function_contains_one_exact_scheduler_writer_and_one_guard

#[test]
fn target_function_contains_one_exact_scheduler_writer_and_one_guard() {
    let target = exact_revoke_boundary();
    assert_eq!(target.matches("addr_of_mut!(SCHEDULER)").count(), 1);
    assert_eq!(
        target
            .matches("acquire_s331_production_scheduler_writer_access()")
            .count(),
        1
    );
    assert_eq!(
        target
            .matches("scheduler.revoke_cap_for_task_exact(expected)")
            .count(),
        1
    );
}
snippet sha256: 37151efa2fcefile sha256: 782d37b5a0d4
04 · Kapı kimlik kaydı

Operations sıra, kimlik ve başlık bağı

tam Operations kaydıL14480–L14533
website/src/lib/operations.ts::g8l-s331-exact-capability-revoke-writer-guard-integration-partial
  {
    id: "g8l-s331-exact-capability-revoke-writer-guard-integration-partial",
    date: "2026-08-27",
    sequence: 331,
    status: "passed",
    umbrella_status: "partial",
    title: "S331 · Exact-capability revoke production writer guard integration",
    summary:
      "S331, typed reply teardown'ın revoke_cap_for_task_exact_under_ipc_transaction mutable SCHEDULER yolunu RPi5 kaynağında nesting-safe local IRQ guard ile S247 ortak state word'üne bağlar. İki production caller dış IPC transaction'ını taşır; endpoint registry kapsamları helper çağrısından önce biter ve exact Capability tuple id-only revoke'a düşürülmeden lease içinde commit edilir. Guarded writer 4/69, açık writer 65 ve provider authority 0'dır. S245 request tüketilmez, S244 admission üretilmez.",
    evidence: [
      "Focused exact-capability-revoke writer-integration kapısı iki bağımsız koşuda 22/22 PASS: 137 B / SHA-256 4ab22a54b548bb2ea63bc6bcd37322b805a2b858520fdf9f28d6b2cc9f60d06d.",
      "Aynı S247 state word üzerinde CPU0–CPU3 writer membership, reader→writer ve writer→reader exclusion, invalid-CPU pre-callback rejection, exact-once commit-error release ve S330→S331 token monotonluğu doğrulandı; tarihsel S328 girişi CPU1-only kaldı.",
      "Production kaynak sırası nested IrqGuard → acquire_s331 writer → mutable alias → exact Capability revoke → writer drop → nested IRQ restore olarak kilitlendi. Helper non-reentrant IPC transaction'ını yeniden almaz; iki caller dış transaction altında çalışır ve registry geçici kilitlerini writer membership'ten önce bırakır.",
      "QEMU, RPi4, RPi5 ve RPi5+SMP AArch64 compile profilleri exit 0 verdi; warning header'ları 292/390/1110/1110, zero-warning iddiası yoktur.",
      "Operations komut haritasından türetilen S238–S331 matrisi iki bağımsız koşuda 95 grup / 1372/1372 PASS; süre-normalize çıktılar 12390 B / SHA-256 8c9f04864e61699af14c2c9d7d421cf4ca689ff783ffc7e3328293fa4aa273a9 ile byte-eşittir.",
      "Exact yedi tarihsel G8h assertion adı dışlanıp kayıtlı --test-threads=1 kabulü kullanıldığında tam workspace iki koşuda 293 sonuç grubu / 3191 PASS / 0 fail / 7 filtered verdi; süre-normalize sonuç özetleri 28009 B / SHA-256 f2a8a43ed313503c6d84861a6370c338f6fb10a39362940b2a7f39afca6c36eb ile byte-eşittir. Filtresiz seri audit yalnız frozen S96 exceptions.S identity kapısında RED kaldığı için global workspace GREEN iddia edilmez.",
      "Audit sırasında kabul komutundan farklı iki default-parallel keşif koşusu iki ayrı tarihsel PTY zamanlama testinde reddedildi; closed-stdout testi üç isolated serial tekrarda PASS verdi. Bu reddedilen koşular seri workspace PASS kanıtına katılmadı ve paralel PTY determinism'i ayrıca açık sınır olarak tutuldu.",
      "make verify-qemu iki bağımsız PASS verdi: strict ELF W^X 31/31 ve aynı 1551 B / SHA-256 527ef12c2bc56140e14e13be445f78c8e38872febc9849afcfacd499238ff966 smoke özeti korundu. Bu ortak regresyon board-rpi5-only S331 writer invocation kanıtı değildir.",
      "Yerel website 508/508 test ile PASS; lint, TypeScript ve static build ayrıca doğrulanır. S331 kaydı yereldir, deployment yapılmadı.",
      "S245 request ve S244 admission dokunulmadan kalır; production provider authority=0, whole-scheduler exclusion=false ve 65 production writer açık kalır.",
      "Fiziksel/device işlem yapılmadı: physical/device operations=0 ve RUNBOOK_EXECUTED_IN_S331=NO.",
    ],
    commands: [
      "cargo test --quiet -p aselsan_microkernel_simulation --test g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s331_exact_capability_revoke_writer_guard_integration -- --test-threads=1",
      "cargo check -p aselsan_kernel --target aarch64-unknown-none --no-default-features --features board-rpi5",
      "cargo check -p aselsan_kernel --target aarch64-unknown-none --no-default-features --features board-rpi5,smp",
      "cargo test --workspace --quiet -- --test-threads=1 [seven exact historical --skip filters]",
    ],
    terminalSessions: [
      {
        id: "g8l-s331-exact-capability-revoke-writer-guard-integration",
        title: "G8l S331 exact-capability revoke writer guard integration",
        commandLines: [
          "cargo test --quiet -p aselsan_microkernel_simulation --test g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s331_exact_capability_revoke_writer_guard_integration -- --test-threads=1",
        ],
        outputLines: [
          "test result: ok; S331 focused 1 group / 22 passed; 0 failed",
          "shared S247 gate: 44 guarded readers + 4/69 guarded writers; 65 writers open",
          "exact tuple preserved; outer IPC transaction retained; provider authority=0",
        ],
        exitCode: 0,
        outputMode: "complete",
      },
    ],
    terminalSessionsNote:
      "S331 dördüncü production writer'ın kaynak entegrasyonudur; desteklenen RPi5 üzerinde runtime/cihaz gözlemi yapılmadı ve global exclusion oluşmadı.",
    limitations: [
      "65 production writer aynı shared gate dışında kaldığı için whole-scheduler exclusion ve provider authority açık kalır.",
      "Exact helper'ın IPC transaction sahipliği caller sözleşmesidir; bu kapı provider-owned typed transaction witness üretmez.",
      "Default-parallel keşif iki tarihsel PTY timing testinde aralıklı red gördü; kayıtlı seri kabul geçti fakat paralel PTY determinism'i kapanmadı.",
      "Supported-profile runtime gözlemi, Generic SMP ve fiziksel RPi kabulü açık kalır.",
      "Yerel kayıt henüz deployment değildir; canlı site bu değişiklikle güncellenmemiştir.",
    ],
  },
snippet sha256: 56560ff7834dfile sha256: 9726dbf00f84
Focused test komutu
cargo test -p aselsan_microkernel_simulation --test g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s331_exact_capability_revoke_writer_guard_integration -- --test-threads=1
proof: docs/M8.1-RPi5-G8l-S331-Exact-Capability-Revoke-Writer-Guard-Integration-Proof.md
Registry schema v5 · generator website/scripts/generate-code-gates.mjs · Tam SHA-256: 91d38c7b6222f0b4c117be786454853543da55a160e543d9b951057cc20dcc06