From 669ee6ca121ef9fc5ab4892a63c5dad254a92c8e Mon Sep 17 00:00:00 2001 From: David Harris Date: Sun, 13 Oct 2024 20:59:41 -0700 Subject: [PATCH] WALLY-init-lib improvements to support functional coverage --- tests/coverage/WALLY-init-lib.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/tests/coverage/WALLY-init-lib.h b/tests/coverage/WALLY-init-lib.h index edf867240..b6b4f56b1 100644 --- a/tests/coverage/WALLY-init-lib.h +++ b/tests/coverage/WALLY-init-lib.h @@ -127,6 +127,17 @@ write_tohost: self_loop: j self_loop # wait + +// utility routines + +# put a 1 in msb of a0 (position XLEN-1); works for both RV32 and RV64 +setmsb: + li a0, 0x80000000 # 1 in bit 31 + slli a1, a0, 1 # check if register is wider than 31 bits + beqz a1, 1f # yes, a0 has 1 in bit 31 + slli a0, a0, 16 # no: shift a0 to have 1 inn bit 63 + slli a0, a0, 16 # use two shifts of 16 bits each to be compatible with compiling either RV32 or 64 + ret # return to calller .section .tohost tohost: # write to HTIF @@ -139,6 +150,9 @@ begin_signature: .fill 6*(XLEN/32),4,0xdeadbeef # end_signature: +scratch: + .fill 4,4,0x0 + # Initialize stack with room for 512 bytes .bss .space 512