ASELSANMicrokernel
S264 · SOURCE-BOUND GATE EVIDENCE

G8l: current-task CNode owned read-access guard genişletmesi

Operations --test hedefi → test hedefiyle aynı adlı uygulama/model modülü → kaynak kesiti Bu sayfa yalnız S264 kapısına aittir; komşu kapıların kaynakları bu kabulün içine katılmaz.

S264Focused kod testiOperations id exactsource SHA exacttest target exact

operation: g8l-s264-current-task-cnode-owned-read-access-guard-expansion-partial

uygulama/model · focused test · Operations · 3 exact excerpt

sequence-bound=true · implementation-bound=true
01 · Testin bağlı olduğu uygulama/model kodu

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

tam Rust öğesiL54–L118
kernel/src/g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s263_current_task_cnode_read_access_guard_expansion.rs::preflight_s264_whole_scheduler_read_coverage

pub fn preflight_s264_whole_scheduler_read_coverage(
    caller_cpu: usize,
    request: Option<G8lS245WholeSchedulerExclusionAdmissionRequestView>,
) -> Result<
    G8lS264WholeSchedulerReadCoveragePreflightOutcome,
    G8lS264WholeSchedulerReadCoveragePreflightError,
> {
    match preflight_s263_whole_scheduler_read_coverage(caller_cpu, request)
        .map_err(G8lS264WholeSchedulerReadCoveragePreflightError::S263)?
    {
        G8lS263WholeSchedulerReadCoveragePreflightOutcome::Idle => {
            return Ok(G8lS264WholeSchedulerReadCoveragePreflightOutcome::Idle);
        }
        G8lS263WholeSchedulerReadCoveragePreflightOutcome::AwaitingCoverage {
            guarded_sites,
            unrouted_sites,
            ..
        } if guarded_sites == S263_WHOLE_SCHEDULER_GUARDED_SITES
            && unrouted_sites
                == S246_DIRECT_SCHEDULER_ACCESS_SITES - S263_WHOLE_SCHEDULER_GUARDED_SITES => {}
        G8lS263WholeSchedulerReadCoveragePreflightOutcome::AwaitingCoverage {
            guarded_sites,
            unrouted_sites,
            ..
        } => {
            return Err(
                G8lS264WholeSchedulerReadCoveragePreflightError::PriorCoverageDrift {
                    guarded_sites,
                    unrouted_sites,
                },
            );
        }
    }

    let outcome = preflight_s246_whole_scheduler_exclusion_provider(
        caller_cpu,
        request,
        G8lS246WholeSchedulerCoverageAudit::new(
            S246_SOURCE_AUDIT_UNITS,
            S246_DIRECT_SCHEDULER_ACCESS_SITES,
            S264_WHOLE_SCHEDULER_GUARDED_SITES,
        ),
    )
    .map_err(G8lS264WholeSchedulerReadCoveragePreflightError::S246)?;
    match outcome {
        G8lS246WholeSchedulerProviderPreflightOutcome::Idle => {
            Ok(G8lS264WholeSchedulerReadCoveragePreflightOutcome::Idle)
        }
        G8lS246WholeSchedulerProviderPreflightOutcome::AwaitingCoverage {
            request_id,
            guarded_sites,
            unrouted_sites,
        } => Ok(
            G8lS264WholeSchedulerReadCoveragePreflightOutcome::AwaitingCoverage {
                request_id,
                guarded_sites,
                unrouted_sites,
            },
        ),
        G8lS246WholeSchedulerProviderPreflightOutcome::CoverageCompleteAwaitingProvider {
            ..
        } => Err(G8lS264WholeSchedulerReadCoveragePreflightError::UnexpectedCoverageComplete),
    }
}
snippet sha256: a9a9dc356f11file sha256: dbf7819aa9e5
02 · Doğrulayan test kodu

Operations komutuna bağlı focused test

tam Rust öğesiL48–L54
simulation/tests/g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s263_current_task_cnode_read_access_guard_expansion.rs::s264_coverage_adds_exactly_one_read_and_keeps_75_open

#[test]
fn s264_coverage_adds_exactly_one_read_and_keeps_75_open() {
    assert_eq!(S264_ADDITIONAL_WHOLE_SCHEDULER_READ_SITES, 1);
    assert_eq!(S264_WHOLE_SCHEDULER_GUARDED_SITES, 36);
    assert_eq!(S264_WHOLE_SCHEDULER_UNROUTED_SITES, 75);
}
snippet sha256: da05ab8152d1file sha256: 9093be6f6b5d
03 · Kapı kimlik kaydı

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

tam Operations kaydıL18303–L18363
website/src/lib/operations.ts::g8l-s264-current-task-cnode-owned-read-access-guard-expansion-partial
  {
    id: "g8l-s264-current-task-cnode-owned-read-access-guard-expansion-partial",
    date: "2026-08-26",
    sequence: 264,
    status: "passed",
    umbrella_status: "partial",
    title: "G8l: current-task CNode owned read-access guard genişletmesi",
    summary:
      "S264 12/12 PASS ile current_task_cnode içindeki immutable scheduler okumasını mevcut production reader gate'ine aldı ve Option<&'static CNode> kaçışını Option<CNode> owned Copy sonucuna çevirdi. Fixed 16-slot CNode yalnız reader membership canlıyken kopyalanıyor; guard çağıran lookup/debug yolundan önce bırakılıyor. Coverage 35/111'den 36/111'e çıktı, 75 site unrouted kaldı. Context-switch old-ASID okuması, bütün writer'lar, exclusive wrapper ve whole-scheduler exclusion açık olduğundan umbrella PARTIAL kalır.",
    evidence: [
      "S264 focused kaynak kapısı iki bağımsız byte-equal koşuda 12/12 PASS verdi: 126 B / SHA-256 0d9a424720ba8dcdb80aa72dd7f87ea926ef1c95de05e316e305f19e7e0fe3c5.",
      "Exact source coverage: 7 audit unit / 111 direct SCHEDULER site; previous=35, additional=1, guarded=36, unrouted=75. Routed işlev yalnız current_task_cnode'dur.",
      "current_task_cnode artık Option<crate::ui::capability::CNode> döndürür. CNode Clone+Copy ve fixed [CNodeSlot;16] değeridir; &'static scheduler/CNode referansı lease dışına kaçmaz.",
      "Reader immutable read'den önce alınır, task.cnode by-value kopyasından hemen sonra explicit düşer. Çağıranların capability lookup veya debug traversal'ı reader lease'i dışında kalır.",
      "S238–S264 exact dependency matrisi iki byte-equal koşuda 28 grup / 375/375 PASS verdi: raw 2659 B / SHA-256 95a755fa74f2180467f781f5e88f774556a722831751672e59c4851fd6789b8e; süre-normalize 2855 B / SHA-256 538496d640dbef87806de5d172bf3700d2724f5ef7a627229ae96c6370253d54.",
      "Default/QEMU AArch64 check iki byte-equal koşuda PASS: 110646 B / 291 warning başlığı / SHA-256 86615d7ce4b63d96a4de35c9e471a4c2c8966bdb94d01006a653f1407b5597c3. Zero-warning iddiası yoktur.",
      "RPi5 normal/SMP profilleri ikişer byte-equal PASS: normal 360005 B / 700 warning / SHA-256 9865f4f37c463100d17f45b9799111f9921a395c30e2f59373293f0d1c520f20; SMP 359947 B / 700 warning / SHA-256 a1f55380b75d73bcff5ef933d82f81dd20f5b95330a926a9990d801fe53aaa07.",
      "make verify-qemu iki bağımsız koşuda PASS verdi: ilk 116167 B / SHA-256 c4b139199d4750e4bf01567b06e1e957224f8a073d68ae8626c9bf8e58a557aa, ikinci 116084 B / SHA-256 dbab9265271de5602ec8ce1cbf772848b338637e133cd4757ff213a5767bb279. Her iki koşu strict W^X 31/31, S130–S154, S154 1024 retirement, IPC 20/20 ve SEC5 ile tamamlandı; panic/fault yok. QEMU board-rpi5-only reader gate'ini çalıştırmaz.",
      "Birleşik manifest-aware workspace audit'i iki bağımsız koşuda 226 grup / 2128/2128 PASS, 0 fail ve exact 7 tarihsel G8h assertion filtered verdi. Ham loglar 56847 B / SHA-256 835bc07e04d3f54bd20281e1ab298ebfebae398a22615e09f3516c98f1511bea ve 626c75893ec1363fceb2acae60b384f7b7ca7543694cc9646dc1eed0c2436478; süre-normalize test-result özeti byte-equal 22933 B / SHA-256 39b490d1fcfe6169ac83e743a2c100153dcd0a5bca1b275b85d8cb8c96101bb3'tür. Filtresiz koşu 52194 B / SHA-256 82328b57d7652dc8a5673ddbf244d6779e788faf1f08cef9911ad1aba188844c ile exit 101 verdi; ilk hata frozen S96 exceptions.S identity mismatch'tir. Beklentiler gevşetilmedi ve full-workspace GREEN iddia edilmez.",
      "S264 physical/device operations=0; RUNBOOK_EXECUTED_IN_S264=NO. Tarihsel S124 physical BOOT8H PASS ve tam operatör sırası görünür biçimde korunur.",
      "Canlı marker: S264_12_OF_12_CURRENT_TASK_CNODE_OWNED_COPY_READ_ACCESS_GUARD_EXPANSION_ONE_ADDITIONAL_IMMUTABLE_CURRENT_TASK_CNODE_READ_RETURN_TYPE_OPTION_CNODE_NO_STATIC_REFERENCE_FIXED_16_SLOT_COPY_READER_DROPPED_BEFORE_CALLER_LOOKUP_PREVIOUS_35_OF_111_TOTAL_36_OF_111_GUARDED_75_UNROUTED_CONTEXT_SWITCH_OLD_ASID_READ_OPEN_QEMU_WX_31_OF_31_S130_TO_S154_WORKSPACE_2128_PASS_7_HISTORICAL_G8H_ASSERTIONS_RED_NO_RPI5_RUNTIME_INVOCATION_NO_PRODUCTION_EXCLUSIVE_WRAPPER_NO_WHOLE_SCHEDULER_EXCLUSION_PHYSICAL_CPU2_CPU3_HOTPLUG_SOAK_GENERIC_SMP_OPEN_FULL_PHYSICAL_RUNBOOK_VISIBLE_S424_TO_S474_S449_NO_RUNBOOK_EXECUTED_IN_S264_VERIFIED.",
    ],
    commands: [
      "cargo test --quiet -p aselsan_microkernel_simulation --test g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s263_current_task_cnode_read_access_guard_expansion",
      "cargo check --quiet -p aselsan_kernel --target aarch64-unknown-none",
      "cargo check --quiet -p aselsan_kernel --target aarch64-unknown-none --no-default-features --features board-rpi5",
      "cargo check --quiet -p aselsan_kernel --target aarch64-unknown-none --no-default-features --features board-rpi5,smp",
      "make verify-qemu",
    ],
    terminalSessions: [
      {
        id: "s264-g8l-current-task-cnode-owned-read-access-guard-expansion",
        title:
          "G8l S264 current-task CNode owned read-access guard genişletmesi",
        commandLines: [
          "cargo test --quiet -p aselsan_microkernel_simulation --test g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s263_current_task_cnode_read_access_guard_expansion",
          "make verify-qemu",
        ],
        outputLines: [
          "test result: ok; S264 focused 1 group / 12 passed; 0 failed",
          "coverage: previous 35 + additional 1 = 36/111 guarded; 75 unrouted",
          "current_task_cnode: Option<&'static CNode> → Option<CNode>; fixed 16-slot owned Copy",
          "reader dropped before caller capability lookup/debug traversal; scheduler/CNode reference escape=0",
          "QEMU smoke PASS: W^X 31/31 · S130–S154 · S154 retired 1024 · IPC 20/20 · SEC5 · kernel faults 0",
        ],
        exitCode: 0,
        outputMode: "selected",
      },
    ],
    terminalSessionsNote:
      "S264 yalnız bir immutable owned-copy route'unu guard'lar; QEMU ortak regresyondur ve RPi5-only reader gate'inin runtime invocation kanıtı değildir.",
    limitations: [
      "Toplam 36/111 scheduler erişimi guarded, 75 erişim unrouted kalır.",
      "Context-switch old-ASID okuması ve bütün mutating scheduler erişimleri guard dışındadır.",
      "Production exclusive wrapper, provider authority ve whole-scheduler exclusion proof yoktur.",
      "QEMU ortak runtime regresyonudur; board-rpi5-only S264 reader route'unu çalıştırmaz.",
      "Exact yedi tarihsel G8h assertion filtresiz workspace'i kırmızı tutar; full-workspace GREEN iddia edilmez.",
      "Fiziksel RPi, CPU2/CPU3, hotplug, soak ve Generic SMP açık kalır.",
      "S264 fiziksel/device operasyonu yapmadı; RUNBOOK_EXECUTED_IN_S264=NO.",
    ],
  },
snippet sha256: fbe5320260dafile sha256: 9726dbf00f84
Focused test komutu
cargo test --quiet -p aselsan_microkernel_simulation --test g8l_target_dispatch_scheduler_owner_scheduler_mutation_production_migration_lifecycle_s263_current_task_cnode_read_access_guard_expansion
proof: docs/M8.1-RPi5-G8l-S264-Current-Task-CNode-Owned-Read-Access-Guard-Expansion-Proof.md
Registry schema v5 · generator website/scripts/generate-code-gates.mjs · Tam SHA-256: 91d38c7b6222f0b4c117be786454853543da55a160e543d9b951057cc20dcc06