mirror of
https://github.com/openhwgroup/cvw.git
synced 2025-04-25 06:17:10 -04:00
coverage improvements: fixing problems running ImperasDV on coverage tests
This commit is contained in:
parent
117ff1828a
commit
7215f48dda
4 changed files with 9 additions and 5 deletions
|
@ -41,7 +41,7 @@ localparam COUNTERS = 12'd32;
|
||||||
localparam ZICNTR_SUPPORTED = 1;
|
localparam ZICNTR_SUPPORTED = 1;
|
||||||
localparam ZIHPM_SUPPORTED = 1;
|
localparam ZIHPM_SUPPORTED = 1;
|
||||||
localparam ZFH_SUPPORTED = 1;
|
localparam ZFH_SUPPORTED = 1;
|
||||||
localparam ZFA_SUPPORTED = 0;
|
localparam ZFA_SUPPORTED = 1;
|
||||||
localparam SSTC_SUPPORTED = 1;
|
localparam SSTC_SUPPORTED = 1;
|
||||||
localparam ZICBOM_SUPPORTED = 1;
|
localparam ZICBOM_SUPPORTED = 1;
|
||||||
localparam ZICBOZ_SUPPORTED = 1;
|
localparam ZICBOZ_SUPPORTED = 1;
|
||||||
|
|
|
@ -21,6 +21,7 @@
|
||||||
--override cpu/Zcb=T
|
--override cpu/Zcb=T
|
||||||
--override cpu/Zicond=T
|
--override cpu/Zicond=T
|
||||||
--override cpu/Zfh=T
|
--override cpu/Zfh=T
|
||||||
|
--override cpu/Zfa=T
|
||||||
|
|
||||||
# Cache block operations
|
# Cache block operations
|
||||||
--override cpu/Zicbom=T
|
--override cpu/Zicbom=T
|
||||||
|
|
|
@ -24,6 +24,8 @@
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
// load code to initalize stack, handle interrupts, terminate
|
// load code to initalize stack, handle interrupts, terminate
|
||||||
|
// The PMP tests are sensitive to the exact addresses in this code, so unfortunately
|
||||||
|
// modifying anything breaks those tests.
|
||||||
|
|
||||||
.section .text.init
|
.section .text.init
|
||||||
.global rvtest_entry_point
|
.global rvtest_entry_point
|
||||||
|
@ -36,10 +38,11 @@ rvtest_entry_point:
|
||||||
csrw mtvec, t0 # Initialize MTVEC to trap_handler
|
csrw mtvec, t0 # Initialize MTVEC to trap_handler
|
||||||
csrw mideleg, zero # Don't delegate interrupts
|
csrw mideleg, zero # Don't delegate interrupts
|
||||||
csrw medeleg, zero # Don't delegate exceptions
|
csrw medeleg, zero # Don't delegate exceptions
|
||||||
li t0, -1 # set mtimecmp to biggest number so it doesnt interrupt again
|
# li t0, -1 # set mtimecmp to biggest number so it doesnt interrupt again
|
||||||
li t1, 0x02004000 # MTIMECMP in CLINT
|
# li t1, 0x02004000 # MTIMECMP in CLINT
|
||||||
sd t0, 0(t1)
|
# sd t0, 0(t1)
|
||||||
li t0, 0x80
|
li t0, 0x80
|
||||||
|
# li t0, 0x00
|
||||||
csrw mie, t0 # Enable machine timer interrupt
|
csrw mie, t0 # Enable machine timer interrupt
|
||||||
la t0, topoftrapstack
|
la t0, topoftrapstack
|
||||||
csrw mscratch, t0 # MSCRATCH holds trap stack pointer
|
csrw mscratch, t0 # MSCRATCH holds trap stack pointer
|
||||||
|
|
|
@ -139,7 +139,7 @@ main:
|
||||||
.word 0xc5000007 // Attempting to toggle (Op7 != 7) to 0 on line 97 in fctrl, not sure what instruction this works out to
|
.word 0xc5000007 // Attempting to toggle (Op7 != 7) to 0 on line 97 in fctrl, not sure what instruction this works out to
|
||||||
.word 0xe0101053 // toggling (Rs2D == 0) to 0 on line 139 in fctrl. Illegal Intsr (like fclass but incorrect rs2)
|
.word 0xe0101053 // toggling (Rs2D == 0) to 0 on line 139 in fctrl. Illegal Intsr (like fclass but incorrect rs2)
|
||||||
.word 0xe0100053 // toggling (Rs2D == 0) to 0 on line 141 in fctrl. Illegal Intsr (like fmv but incorrect rs2)
|
.word 0xe0100053 // toggling (Rs2D == 0) to 0 on line 141 in fctrl. Illegal Intsr (like fmv but incorrect rs2)
|
||||||
.word 0x40500053 // toggling (Rs2D[4:2] == 0) to 0 on line 145 in fctrl.
|
.word 0x40D00053 // toggling (Rs2D[4:2] == 0) to 0 on line 145 in fctrl.
|
||||||
.word 0x40300053 // toggling SupportFmt2 to 0 on line 145 in fctrl.
|
.word 0x40300053 // toggling SupportFmt2 to 0 on line 145 in fctrl.
|
||||||
.word 0x42100053 // toggling (Rs2D[1:0] != 1) to 0 on line 147 in fctrl. Illegal Instr
|
.word 0x42100053 // toggling (Rs2D[1:0] != 1) to 0 on line 147 in fctrl. Illegal Instr
|
||||||
.word 0xf0100053 // toggling (Rs2D == 0) to 0 on line 143 in fctrl. Illegal Instr
|
.word 0xf0100053 // toggling (Rs2D == 0) to 0 on line 143 in fctrl. Illegal Instr
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue