[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 16/23] tests/tcg/xtensa: conditionalize windowed reg
From: |
Max Filippov |
Subject: |
[Qemu-devel] [PATCH 16/23] tests/tcg/xtensa: conditionalize windowed register tests |
Date: |
Mon, 18 Feb 2019 22:11:04 -0800 |
Make windowed register tests conditional on the presence of this option.
Fix tests to work correctly for both 32 and 64 physical registers.
Signed-off-by: Max Filippov <address@hidden>
---
tests/tcg/xtensa/test_windowed.S | 32 +++++++++++++++++++++++---------
1 file changed, 23 insertions(+), 9 deletions(-)
diff --git a/tests/tcg/xtensa/test_windowed.S b/tests/tcg/xtensa/test_windowed.S
index d851e8f43c5c..5ead90a790ed 100644
--- a/tests/tcg/xtensa/test_windowed.S
+++ b/tests/tcg/xtensa/test_windowed.S
@@ -2,10 +2,12 @@
test_suite windowed
+#if XCHAL_HAVE_WINDOWED
+
.altmacro
.macro reset_window start
- movi a2, 0xff
+ movi a2, 0xffff
wsr a2, windowstart
rsync
movi a2, 0
@@ -105,7 +107,8 @@ test_end
movi a3, 0x4001f
assert eq, a2, a3
rsr a2, windowbase
- assert eqi, a2, 8 - ((\window) / 4)
+ movi a3, (XCHAL_NUM_AREGS - (\window)) / 4
+ assert eq, a2, a3
rsr a2, windowstart
assert eqi, a2, 1
rfwu
@@ -116,8 +119,8 @@ test_end
rsr a2, windowbase
assert eqi, a2, 0
rsr a2, windowstart
- assert bsi, a2, 0
- assert bsi, a2, 8 - ((\window) / 4)
+ assert bsi.l, a2, 0
+ assert bsi.l, a2, (XCHAL_NUM_AREGS - (\window)) / 4
.endm
test underflow
@@ -132,7 +135,7 @@ test_end
.macro retw_test window
- reset_window %(1 | (1 << (8 - (\window) / 4)))
+ reset_window %(1 | (1 << ((XCHAL_NUM_AREGS - \window) / 4)))
reset_ps
ssai 2
@@ -147,10 +150,11 @@ test_end
movi a3, 0x4000f
assert eq, a2, a3
rsr a2, windowbase
- assert eqi, a2, 8 - ((\window) / 4)
+ movi a3, (XCHAL_NUM_AREGS - (\window)) / 4
+ assert eq, a2, a3
rsr a2, windowstart
- assert bci, a2, 0
- assert bsi, a2, 8 - ((\window) / 4)
+ assert bci.l, a2, 0
+ assert bsi.l, a2, (XCHAL_NUM_AREGS - (\window)) / 4
.endm
test retw
@@ -180,7 +184,7 @@ test movsp
set_vector kernel, 0
- reset_window 0x81
+ reset_window %(0x1 | (1 << ((XCHAL_NUM_AREGS / 4) - 1)))
reset_ps
movsp a2, a3
@@ -211,8 +215,16 @@ test rotw
movi a3, 0x16
movi a7, 0x17
+#if XCHAL_NUM_AREGS == 32
movi a2, 0x44
wsr a2, windowstart
+#elif XCHAL_NUM_AREGS == 64
+ movi a2, 0x4004
+ wsr a2, windowstart
+ rotw -8
+#else
+#error XCHAL_NUM_AREGS unsupported
+#endif
rsync
movi a2, 0x10
@@ -350,4 +362,6 @@ test entry_overflow
all_entry_overflow_tests
test_end
+#endif
+
test_suite_end
--
2.11.0
- [Qemu-devel] [PATCH 01/23] target/xtensa: implement PREFCTL SR, (continued)
- [Qemu-devel] [PATCH 01/23] target/xtensa: implement PREFCTL SR, Max Filippov, 2019/02/19
- [Qemu-devel] [PATCH 04/23] tests/tcg/xtensa: support configs with LITBASE, Max Filippov, 2019/02/19
- [Qemu-devel] [PATCH 02/23] tests/tcg/xtensa: indicate failed tests, Max Filippov, 2019/02/19
- [Qemu-devel] [PATCH 03/23] tests/tcg/xtensa: support configurations w/o vecbase, Max Filippov, 2019/02/19
- [Qemu-devel] [PATCH 06/23] tests/tcg/xtensa: fix endianness issues in test_b, Max Filippov, 2019/02/19
- [Qemu-devel] [PATCH 05/23] tests/tcg/xtensa: don't use optional opcodes in generic code, Max Filippov, 2019/02/19
- [Qemu-devel] [PATCH 07/23] tests/tcg/xtensa: enable boolean tests, Max Filippov, 2019/02/19
- [Qemu-devel] [PATCH 08/23] tests/tcg/xtensa: conditionalize debug option tests, Max Filippov, 2019/02/19
- [Qemu-devel] [PATCH 09/23] tests/tcg/xtensa: conditionalize cache option tests, Max Filippov, 2019/02/19
- [Qemu-devel] [PATCH 10/23] tests/tcg/xtensa: add straightforward conditionals, Max Filippov, 2019/02/19
- [Qemu-devel] [PATCH 16/23] tests/tcg/xtensa: conditionalize windowed register tests,
Max Filippov <=
- [Qemu-devel] [PATCH 13/23] tests/tcg/xtensa: conditionalize and expand SR tests, Max Filippov, 2019/02/19
- [Qemu-devel] [PATCH 18/23] tests/tcg/xtensa: add test for FLIX, Max Filippov, 2019/02/19
- [Qemu-devel] [PATCH 11/23] tests/tcg/xtensa: conditionalize interrupt tests, Max Filippov, 2019/02/19
- [Qemu-devel] [PATCH 12/23] tests/tcg/xtensa: conditionalize timer/CCOUNT tests, Max Filippov, 2019/02/19
- [Qemu-devel] [PATCH 21/23] tests/tcg/xtensa: add FP0 group conversion tests, Max Filippov, 2019/02/19
- [Qemu-devel] [PATCH 14/23] tests/tcg/xtensa: fix SR tests for big endian configs, Max Filippov, 2019/02/19
- [Qemu-devel] [PATCH 15/23] tests/tcg/xtensa: conditionalize and fix s32c1i tests, Max Filippov, 2019/02/19
- [Qemu-devel] [PATCH 19/23] tests/tcg/xtensa: add LSCI/LSCX group tests, Max Filippov, 2019/02/19
- [Qemu-devel] [PATCH 20/23] tests/tcg/xtensa: add FP0 group arithmetic tests, Max Filippov, 2019/02/19
- [Qemu-devel] [PATCH 22/23] tests/tcg/xtensa: add FP1 group tests, Max Filippov, 2019/02/19