diff options
author | Andrew Waterman <waterman@eecs.berkeley.edu> | 2014-01-31 00:59:25 -0800 |
---|---|---|
committer | Andrew Waterman <waterman@eecs.berkeley.edu> | 2014-01-31 00:59:25 -0800 |
commit | 217bb5eef46deb0eeac7b8f11c9d36d9310feabb (patch) | |
tree | e503edea526ffc9cd046114d1b6fced7850c5e50 /v/riscv_test.h | |
parent | 746361936518f56549726c3e661606e5f28a1b96 (diff) | |
download | env-217bb5eef46deb0eeac7b8f11c9d36d9310feabb.zip env-217bb5eef46deb0eeac7b8f11c9d36d9310feabb.tar.gz env-217bb5eef46deb0eeac7b8f11c9d36d9310feabb.tar.bz2 |
Use TESTNUM instead of x28 directly
Diffstat (limited to 'v/riscv_test.h')
-rw-r--r-- | v/riscv_test.h | 36 |
1 files changed, 14 insertions, 22 deletions
diff --git a/v/riscv_test.h b/v/riscv_test.h index e129566..e8a9015 100644 --- a/v/riscv_test.h +++ b/v/riscv_test.h @@ -1,22 +1,20 @@ #ifndef _ENV_VIRTUAL_SINGLE_CORE_H #define _ENV_VIRTUAL_SINGLE_CORE_H +#include "../p/riscv_test.h" + //----------------------------------------------------------------------- // Begin Macro //----------------------------------------------------------------------- -#define RVTEST_RV64U \ - .macro init; \ - .endm - -#define RVTEST_RV64UF \ - .macro init; \ - fssr x0; \ - .endm +#undef RVTEST_FP_ENABLE +#define RVTEST_FP_ENABLE fssr x0 +#undef RVTEST_RV64UV #define RVTEST_RV64UV \ RVTEST_RV64UF +#undef RVTEST_CODE_BEGIN #define RVTEST_CODE_BEGIN \ .text; \ .align 13; \ @@ -25,35 +23,29 @@ userstart: \ init //----------------------------------------------------------------------- -// End Macro -//----------------------------------------------------------------------- - -#define RVTEST_CODE_END \ - -//----------------------------------------------------------------------- // Pass/Fail Macro //----------------------------------------------------------------------- -#define RVTEST_PASS li a0, 1; scall; -#define RVTEST_FAIL sll a0, x28, 1; 1:beqz a0, 1b; or a0, a0, 1; scall; +#undef RVTEST_PASS +#define RVTEST_PASS li a0, 1; scall + +#undef RVTEST_FAIL +#define RVTEST_FAIL sll a0, TESTNUM, 1; 1:beqz a0, 1b; or a0, a0, 1; scall; //----------------------------------------------------------------------- // Data Section Macro //----------------------------------------------------------------------- +#undef RVTEST_DATA_BEGIN #define RVTEST_DATA_BEGIN -#define RVTEST_DATA_END -//#define RVTEST_DATA_BEGIN .align 4; .global begin_signature; begin_signature: -//#define RVTEST_DATA_END .align 4; .global end_signature; end_signature: +#undef RVTEST_DATA_END +#define RVTEST_DATA_END //----------------------------------------------------------------------- // Supervisor mode definitions and macros //----------------------------------------------------------------------- -#include "../encoding.h" -#include "../hwacha_xcpt.h" - #define dword_bit_cmd(dw) ((dw >> 32) & 0x1) #define dword_bit_cnt(dw) (!dword_bit_cmd(dw)) #define dword_bit_imm1(dw) ((dw >> 35) & 0x1) |