[cheriot,dv] Test that writeback faults are not counted as retired
メンテナーはふだん 2 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 48/100
- issue の種類
- 機能追加
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 領域
- embedded-iot, testing
調査の方向性
Start with the self-checking program and Verilator steps in the description of issue #2552, then identify how CHERIoT DV enables cheriot_enable_i and reads the counters. Add cases for each listed writeback fault and control, checking exception cause, mepc, minstret, and mhpmcounter10 for compressed instructions where available. Done means the tests verify that faulting instructions are not counted and nonfaulting controls are counted once.
索引モデルが issue の本文から書いたものです。
説明
As @SamuelRiedel suggested in https://github.com/lowRISC/ibex/pull/2552#pullrequestreview-5766622963, this tracks a test for #2552 once CHERIoT DV is open source.
#2552 stops CHERIoT faults raised in writeback from counting as retired instructions. No test on master covers this, because every bench ties cheriot_enable_i off. With assertions enabled, the NoInstrRetOnWbException assertion from #2552 checks the retire signal. A test still has to check the counters that software reads.
A test should cover each kind of writeback fault that #2552 masks:
- CJALR through an untagged, wrongly sealed or non-executable capability, including a compressed
c.jr; - CSpecialRW without the SR permission, and CSpecialRW of an SCR that does not exist, which is reported as an illegal instruction;
- a tag clear that
cdbg_ctrl[0]turns into a trap, from both the CSetAddr and the CSetBounds families.
For each fault, check the exception cause and mepc. Then check that minstret does not count the faulting instruction. A compressed one must not be counted in mhpmcounter10 either, where the core has that counter.
As controls, an instruction that traps in ID, such as reading mscratch without SR, must not be counted. Instructions that do not fault must be counted once, including a compressed one and a tag clear with cdbg_ctrl[0] off. The self-checking program and Verilator steps in the description of #2552 are a starting point.
- 主要言語
- SystemVerilog
- スター
- 2.2k
- フォーク
- 836
- 平均マージ
- 5日 8時間
- マージ済み PR(30日)
- 22
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
lowRISC/ibex のほかの issue
-
[Bug Report] rvfi_intr is not set on the first instruction of an exception handler対応中かも @h-filali が 7 日前に担当しました。 オープンType:Bug
難易度 2/5 半日 初心者へのやさしさ 68/100
lowRISC/ibex#2556 · コメント 1 件 ·
メンテナーはふだん 2 日以内に返信
-
Type:Bug
難易度 2/5 1〜3時間 初心者へのやさしさ 83/100
lowRISC/ibex#2528 · コメント 1 件 ·
メンテナーはふだん 2 日以内に返信
-
Type:Bug
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
メンテナーはふだん 2 日以内に返信
-
[doc] Document basic commands for running/checking Ibex対応中かも @shrutikbalwan が 47 日前に担当しました。 オープンComponent:Doc Good First Issue Type:Task
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
メンテナーはふだん 2 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 42/100
メンテナーはふだん 2 日以内に返信
似ている issue
-
SPIDevice selects an active-high device as soon as it is created対応中かも @mikeysklar が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 73/100
adafruit/circuitpython#11869 ·
メンテナーはふだん 1 日以内に返信
-
[Bug]: RFENCE rejects the architecturally defined full-range size when start_addr is nonzero対応中かも @hongwei-2026 が今日担当しました。 オープンC-bug help wanted
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
rustsbi/rustsbi#484 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
Fan percentage in Auto mode shows the night-mode speed cap (`nmdv`) while the fan is idle (`fnst: OFF`)対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
cmgrayb/hass-dyson#552 ·
メンテナーはふだん 1 日以内に返信
-
backlog bug
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
EchoTools/nevr-runtime#2664 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
seven-lynx/HoundMind#108 ·
メンテナーはふだん 1 日以内に返信