packages/chip/docs/project/cpu-ap-blocker-status-2026-05-17.md
Date: 2026-05-17
Scope: rtl/cpu/**, CPU-facing contract tests, and project CPU/AP status.
The only in-repo executable CPU artifact is
rtl/cpu/e1_cpu_subsystem_stub.sv. Despite the legacy module name, it is a
tiny hand-written RV-style contract CPU, not a Linux-capable application
processor.
Locally proven by make cocotb-cpu:
RESET_PC=0x8000_0000 and HART_ID=0 in the
CPU contract wrapper,Not proven:
The single Rocket RV64GC hart is not a 2028 phone-class AP. It is acceptable as the first Linux bring-up target only. A phone-class claim remains blocked on a selected multi-hart or documented-equivalent CPU topology, ISA compliance, cache/coherency/MMU evidence, sustained benchmark data, power/thermal measurement, Android userspace evidence, and silicon/board evidence.
The selected path is a generated Chipyard Rocket RV64GC subsystem. The selection
is pinned in generators/chipyard/eliza-rocket-manifest.json:
1.13.0, commit
69eba860a352343e4ac6b6df0f3638a79a86ec78,ElizaRocketConfig,eliza_rocket_ap,build/chipyard/eliza_rocket/ElizaRocketConfig.manifest.json.No generated Chipyard/Rocket RTL, simulator, DTS, firmware image, or boot log is present in this repository yet. Therefore the CPU/AP path is blocked on external generator integration, not on more hand-written tiny-CPU expansion.
make chipyard-generator-check verifies the selected AP path is pinned and
non-claiming.make chipyard-generated-check is expected to fail until generated artifacts
exist, the generated import manifest records recursive submodules, commands,
tool versions, artifact paths, and SHA-256 values, and those paths validate
against docs/evidence/cpu-ap-evidence-manifest.json.make cpu-ap-evidence-check is expected to fail until real OpenSBI/Linux and
trap/timer/IRQ/cache/MMU/benchmark evidence logs exist. Archive real external
transcripts with python3 scripts/capture_cpu_ap_evidence.py intake ...; the
helper only accepts logs containing the manifest-required AP boot/trap/cache
and benchmark markers.make cpu-ap-completion-gate stays blocked until the selected manifest makes
a real AP claim and the generated artifacts plus transcripts validate.sw/platform/e1_platform_contract.json must remain has_cpu=false until
generated CPU/AP artifacts and boot evidence exist.Current missing evidence paths:
build/evidence/cpu_ap/eliza_e1_opensbi_boot.logbuild/evidence/cpu_ap/eliza_e1_linux_boot.logbuild/evidence/cpu_ap/eliza_e1_trap_timer_irq.logbuild/evidence/cpu_ap/eliza_e1_isa_cache_mmu.logbuild/evidence/cpu_ap/eliza_e1_ap_benchmarks.logNext CPU/AP commands:
make chipyard-generator-check cpu-ap-scaffold-check cpu-ap-completion-gate
python3 scripts/check_chipyard_import_preflight.py --require-checkout
make chipyard-generated-check cpu-ap-evidence-check cpu-ap-completion-gate
The current checked-in CPU path is a tiny executable scaffold for contract tests. It is not a Linux-capable application processor and must not be used as phone CPU evidence.
has_cpu=false until a production CPU is
integrated at the package top.Before any Linux-capable CPU claim is unblocked, the repo needs checked
transcripts for OpenSBI, Linux early console, trap and interrupt behavior,
mcause, mepc, mtimecmp, external interrupt claim/complete, and
firmware-to-kernel handoff.