[cheriot,dv] Test that writeback faults are not counted as retired
Los mantenedores suelen responder en 2 días
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 48/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Área
- embedded-iot, testing
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- SystemVerilog
- Estrellas
- 2.2k
- Forks
- 836
- Merge medio
- 5 d 8 h
- PR fusionados (30 d)
- 22
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de lowRISC/ibex
-
[Bug Report] rvfi_intr is not set on the first instruction of an exception handlerPosiblemente ocupada @h-filali la tomó hace 7 días. AbiertoType:Bug
Dificultad 2/5 Medio día Aptitud para principiantes 68/100
lowRISC/ibex#2556 · 1 comentario ·
Los mantenedores suelen responder en 2 días
-
Type:Bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
lowRISC/ibex#2528 · 1 comentario ·
Los mantenedores suelen responder en 2 días
-
mip documentation errorAbiertoType:Bug
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
Los mantenedores suelen responder en 2 días
-
[doc] Document basic commands for running/checking IbexPosiblemente ocupada @shrutikbalwan la tomó hace 47 días. AbiertoComponent:Doc Good First Issue Type:Task
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
lowRISC/ibex#741 · 3 comentarios ·
Los mantenedores suelen responder en 2 días
-
Dificultad 4/5 3-5 días Aptitud para principiantes 42/100
Los mantenedores suelen responder en 2 días
Todos los issues de lowRISC/ibex
Issues similares
-
SPIDevice selects an active-high device as soon as it is createdPosiblemente ocupada @mikeysklar la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 73/100
adafruit/circuitpython#11869 ·
Los mantenedores suelen responder en 1 día
-
[Bug]: RFENCE rejects the architecturally defined full-range size when start_addr is nonzeroPosiblemente ocupada @hongwei-2026 la tomó hoy. AbiertoC-bug help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
rustsbi/rustsbi#484 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Fan percentage in Auto mode shows the night-mode speed cap (`nmdv`) while the fan is idle (`fnst: OFF`)Posiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
cmgrayb/hass-dyson#552 ·
Los mantenedores suelen responder en 1 día
-
backlog bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
EchoTools/nevr-runtime#2664 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
seven-lynx/HoundMind#108 ·
Los mantenedores suelen responder en 1 día