Skip to content

Incorrect performance counter #139

@jserv

Description

@jserv

@ypaskell implemented a number of 64-bit read-only user-level counters, including CSR_CYCLE and CSR_CYCLEH (#33).

The procedure to validate:

make clean
rm -rf src/mini-gdbstub
git reset --hard 53a6f9463c4b344746cb1154cbfb995e44f30300
make
build/rv32emu build/perfcount.elf

Output:

cycle count: 1728
instret: 174
Sparkle state:
4DF96879 8C7C2C33
82236B4A 904F4DD7
D6A030E8 F03B09AA
C4C3BB34 F063DFF9
61F9CEFF 8EC21FFA
93DF370F 83ACF1E2

However, in recent commits, both CSR_CYCLE and CSR_CYCLEH fail to deliver the expected values.

$ build/rv32emu build/perfcount.elf 
cycle count: 0
instret: 0
Sparkle state:
4DF96879 8C7C2C33
82236B4A 904F4DD7
D6A030E8 F03B09AA
C4C3BB34 F063DFF9
61F9CEFF 8EC21FFA
93DF370F 83ACF1E2

There is no increment for both cycle count and instret.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions