Age | Commit message (Collapse) | Author | Files | Lines |
|
It is allowed that M-mode only implementation could skip cycle/instret
if the Zicntr is not included.
Signed-off-by: Chih-Min Chao <chihmin.chao@sifive.com>
Signed-off-by: Chih-Min Chao <chihmin.chao@sifive.com>
|
|
|
|
|
|
|
|
Assume that misaligned loads work correctly.
Passes `make -C isa run` against spike (both with and without misaligned
support).
|
|
Cover lh, lw, and ld (only on rv64).
|
|
Tests that might cause a trap during their code need TESTNUM (gp) set so
the trap handler can correctly identify which test is running, and also
report that to the user in case the test fails.
Fix up shamt.S and csr.S to handle the new behavior.
|
|
They lead to two problems:
1. The change to set TESTNUM before the test instead of after broke a
few tests that relied on the old behavior.
2. Some tests in the v variant do something in the exception handler
such that when they get an unaligned access exception, they end up
stuck in a loop of unaligned access exceptions and the exception
handler set up in the test is never called.
|
|
Identical to the lw change in #391.
|
|
The test passes if either the target register contains the correct
value, or the target raises a misaligned load exception.
|
|
Tests that might cause a trap during their code need TESTNUM (gp) set so
the trap handler can correctly identify which test is running, and also
report that to the user in case the test fails.
|
|
|
|
Otherwise, "make run" doesn't work.
|
|
Thanks to @pdonahue-ventana for pointing this out
|
|
...since not all implementations will support it
|
|
|
|
There are two reasons that writing the cycle counter might trap:
- Because it's a read-only CSR
- Because mcounteren.CY=0 or scounteren.CY=0
We want to make sure we're testing the first property, so set up
the other bits accordingly.
|
|
|
|
(#337)
Added "#define stvec mtvec" under __MACHINE_MODE ifdef.
Co-authored-by: Slamet Rianto <slametr@gamma04.internal.sifive.com>
|
|
CLIC mode. (#336)
illegal.S:
- After the test enters supervisor mode, check if paging is supported.
- If paging is NOT supported (i.e. Bare S-mode), jump to a new section of code that checks the following:
-- SFENCE.VMA causing illegal instruction trap regardless of TVM.
-- Access to SATP does not trap.
-- Jump to the same TSR check as regular S-mode
-- End test
sbreak.S & scall.S:
- Before checking for scause, check if the core is in CLIC-mode (mtvec[1]).
- If we're in CLIC-mode, mask off scause bits[(XLEN-1):8] before checing its value.
- Otherwise, don't mask off any scause bits as in the original test.
Co-authored-by: Slamet Rianto <slametr@gamma04.internal.sifive.com>
|
|
Resolves #323
|
|
* Bump riscv-test-env
* Merge master
* Don't assume that mscratch is initialized to a particular value on reset
* Remove testcase that relies on the implementation-specific WFI time limit being 0.
|
|
- After discussion in riscv/riscv-tests#315, disable this test case, as it
makes implementation assumptions which are not valid with respect to the
specification.
- Leave code present but commented out.
On branch dev/benm-disable-lrsc-test-4
Changes to be committed:
modified: isa/rv64ua/lrsc.S
|
|
* Refactored rv64ud structural test to use pass/fail macros and test numbers
* More clean up so test actually jumps to fail label
|
|
|
|
|
|
Resolves #303
|
|
* ext: add zfh extension test case and related macro
Signed-off-by: Chih-Min Chao <chihmin.chao@sifive.com>
* build: add zfh to target
Signed-off-by: Chih-Min Chao <chihmin.chao@sifive.com>
|
|
|
|
|
|
Co-authored-by: WRR <-@->
|
|
|
|
|
|
|
|
|
|
|
|
This reverts commit 6fa1896b2a3f581359f0b6a952542f814e30602c.
Resolves #256
|
|
variable DRAM_BASE (#255)
* setup a multilevel page table to avoid misaligned superpages
* Revert "setup a multilevel page table to avoid misaligned superpages"
This reverts commit 73c142df7dbdd3a5347ef228a368fb58b0b12be5.
* statically fail if DRAM_BASE is not superpage-aligned
|
|
* Bump riscv-test-env
* Merge master
* Don't assume that mscratch is initialized to a particular value on reset
|
|
|
|
|
|
3a98ec2e306938cce07ab15e3678d670611aa66d introduced a subtle bug because
of the value of TESTNUM at the point an expected exception was taken. Fix
by moving the new tests earlier in the program.
|
|
overlooked by implementors because some CSR operations should ignore writes if source is x0 (#236)
|
|
|
|
This test checks that an I$ appears to be physically indexed.
|
|
|
|
|
|
|
|
|
|
|