diff options
author | RajithaY <rajithax.yerrumsetty@intel.com> | 2017-04-25 03:31:15 -0700 |
---|---|---|
committer | Rajitha Yerrumchetty <rajithax.yerrumsetty@intel.com> | 2017-05-22 06:48:08 +0000 |
commit | bb756eebdac6fd24e8919e2c43f7d2c8c4091f59 (patch) | |
tree | ca11e03542edf2d8f631efeca5e1626d211107e3 /qemu/tests/tcg/xtensa/test_windowed.S | |
parent | a14b48d18a9ed03ec191cf16b162206998a895ce (diff) |
Adding qemu as a submodule of KVMFORNFV
This Patch includes the changes to add qemu as a submodule to
kvmfornfv repo and make use of the updated latest qemu for the
execution of all testcase
Change-Id: I1280af507a857675c7f81d30c95255635667bdd7
Signed-off-by:RajithaY<rajithax.yerrumsetty@intel.com>
Diffstat (limited to 'qemu/tests/tcg/xtensa/test_windowed.S')
-rw-r--r-- | qemu/tests/tcg/xtensa/test_windowed.S | 353 |
1 files changed, 0 insertions, 353 deletions
diff --git a/qemu/tests/tcg/xtensa/test_windowed.S b/qemu/tests/tcg/xtensa/test_windowed.S deleted file mode 100644 index d851e8f43..000000000 --- a/qemu/tests/tcg/xtensa/test_windowed.S +++ /dev/null @@ -1,353 +0,0 @@ -#include "macros.inc" - -test_suite windowed - -.altmacro - -.macro reset_window start - movi a2, 0xff - wsr a2, windowstart - rsync - movi a2, 0 - wsr a2, windowbase - rsync - movi a2, \start - wsr a2, windowstart - rsync -.endm - -.macro overflow_test shift, window, probe_ok, probe_ex - set_vector window_overflow_4, 0 - set_vector window_overflow_8, 0 - set_vector window_overflow_12, 0 - - movi a2, 1 | (((1 << ((\window) / 4)) | 1) << ((\shift) / 4)) - wsr a2, windowstart - reset_ps - - mov a2, a\probe_ok - set_vector window_overflow_\window, 10f -1: - mov a2, a\probe_ex - test_fail -10: - rsr a2, epc1 - movi a3, 1b - assert eq, a2, a3 - movi a2, 2f - wsr a2, epc1 - - rsr a2, windowbase - movi a3, (\shift) / 4 - assert eq, a2, a3 - rsr a2, ps - movi a3, 0x4001f - assert eq, a2, a3 - rfwo - test_fail -2: - rsr a2, windowbase - assert eqi, a2, 0 - rsr a2, windowstart - movi a3, 1 | ((1 << ((\window) / 4)) << ((\shift) / 4)) - assert eq, a2, a3 - rsr a2, ps - movi a3, 0x4000f - assert eq, a2, a3 -.endm - -.macro overflow_tests shift, window, probe - .if \probe < 15 - overflow_test \shift, \window, %((\shift) - 1), \probe - overflow_tests \shift, \window, %((\probe) + 1) - .endif -.endm - -.macro all_overflow_tests - .irp shift, 4, 8, 12 - .irp window, 4, 8, 12 - overflow_tests \shift, \window, \shift - .endr - .endr -.endm - -test overflow - all_overflow_tests -test_end - - -.macro underflow_test window - set_vector window_underflow_4, 0 - set_vector window_underflow_8, 0 - set_vector window_underflow_12, 0 - - set_vector window_underflow_\window, 10f - - reset_window 1 - reset_ps - - ssai 2 - movi a2, 2f - slli a2, a2, 2 - movi a3, (\window) / 4 - src a0, a3, a2 -1: - retw - test_fail -10: - rsr a2, epc1 - movi a3, 1b - assert eq, a2, a3 - movi a2, 2f - wsr a2, epc1 - - rsr a2, ps - movi a3, 0x4001f - assert eq, a2, a3 - rsr a2, windowbase - assert eqi, a2, 8 - ((\window) / 4) - rsr a2, windowstart - assert eqi, a2, 1 - rfwu -2: - rsr a2, ps - movi a3, 0x4000f - assert eq, a2, a3 - rsr a2, windowbase - assert eqi, a2, 0 - rsr a2, windowstart - assert bsi, a2, 0 - assert bsi, a2, 8 - ((\window) / 4) -.endm - -test underflow - set_vector window_overflow_4, 0 - set_vector window_overflow_8, 0 - set_vector window_overflow_12, 0 - - underflow_test 4 - underflow_test 8 - underflow_test 12 -test_end - - -.macro retw_test window - reset_window %(1 | (1 << (8 - (\window) / 4))) - reset_ps - - ssai 2 - movi a2, 1f - slli a2, a2, 2 - movi a3, (\window) / 4 - src a0, a3, a2 - retw - test_fail -1: - rsr a2, ps - movi a3, 0x4000f - assert eq, a2, a3 - rsr a2, windowbase - assert eqi, a2, 8 - ((\window) / 4) - rsr a2, windowstart - assert bci, a2, 0 - assert bsi, a2, 8 - ((\window) / 4) -.endm - -test retw - set_vector window_underflow_4, 0 - set_vector window_underflow_8, 0 - set_vector window_underflow_12, 0 - - retw_test 4 - retw_test 8 - retw_test 12 -test_end - -test movsp - set_vector kernel, 2f - - reset_window 1 - reset_ps -1: - movsp a2, a3 - test_fail -2: - rsr a2, exccause - assert eqi, a2, 5 - rsr a2, epc1 - movi a3, 1b - assert eq, a2, a3 - - set_vector kernel, 0 - - reset_window 0x81 - reset_ps - - movsp a2, a3 -test_end - -test rotw - reset_window 0x4b - reset_ps - - movi a3, 0x10 - - rotw 1 - rsr a2, windowbase - assert eqi, a2, 1 - movi a3, 0x11 - movi a7, 0x12 - - rotw 2 - rsr a2, windowbase - assert eqi, a2, 3 - movi a3, 0x13 - movi a7, 0x14 - movi a11, 0x15 - - rotw 3 - rsr a2, windowbase - assert eqi, a2, 6 - movi a3, 0x16 - movi a7, 0x17 - - movi a2, 0x44 - wsr a2, windowstart - rsync - - movi a2, 0x10 - assert eq, a2, a11 - movi a11, 0x18 - movi a2, 0x11 - assert eq, a2, a15 - movi a15, 0x19 - - rotw 4 - movi a2, 0x12 - assert eq, a2, a3 - movi a2, 0x13 - assert eq, a2, a7 - movi a2, 0x14 - assert eq, a2, a11 - movi a2, 0x15 - assert eq, a2, a15 - - movi a2, 0x5 - wsr a2, windowstart - rsync - - rotw -2 - movi a2, 0x18 - assert eq, a2, a3 - movi a2, 0x19 - assert eq, a2, a7 -test_end - -.macro callw_test window - call\window 2f -1: - test_fail - .align 4 -2: - rsr a2, windowbase - assert eqi, a2, 0 - rsr a2, ps - movi a3, 0x4000f | ((\window) << 14) - assert eq, a2, a3 - movi a2, 1b - slli a2, a2, 2 - ssai 2 - movi a3, (\window) / 4 - src a2, a3, a2 - assert eq, a2, a\window -.endm - -test callw - reset_window 0x1 - reset_ps - - callw_test 4 - callw_test 8 - callw_test 12 -test_end - - -.macro entry_test window - reset_window 0x1 - reset_ps - movi a2, 0x4000f | ((\window) << 14) - wsr a2, ps - isync - movi a3, 0x12345678 - j 1f - .align 4 -1: - entry a3, 0x5678 - movi a2, 0x12340000 - assert eq, a2, a3 - rsr a2, windowbase - assert eqi, a2, (\window) / 4 - rsr a2, windowstart - movi a3, 1 | (1 << ((\window) / 4)) - assert eq, a2, a3 - rotw -(\window) / 4 -.endm - -test entry - entry_test 4 - entry_test 8 - entry_test 12 -test_end - -.macro entry_overflow_test window, free, next_window - set_vector window_overflow_4, 0 - set_vector window_overflow_8, 0 - set_vector window_overflow_12, 0 - set_vector window_overflow_\next_window, 10f - - movi a2, \window - movi a2, \free - movi a2, \next_window - reset_window %(1 | ((1 | (1 << ((\next_window) / 4))) << ((\free) / 4))) - reset_ps - movi a2, 0x4000f | ((\window) << 14) - wsr a2, ps - isync - movi a3, 0x12345678 - j 1f - .align 4 -1: - entry a3, 0x5678 - test_fail - .align 4 -10: - rsr a2, epc1 - movi a3, 1b - assert eq, a2, a3 - movi a2, 2f - wsr a2, epc1 - - rsr a2, windowbase - movi a3, (\free) / 4 - assert eq, a2, a3 - rfwo -2: -.endm - -.macro all_entry_overflow_tests - .irp window, 4, 8, 12 - .irp next_window, 4, 8, 12 - .irp free, 4, 8, 12 - .if \free <= \window - entry_overflow_test \window, \free, \next_window - .endif - .endr - .endr - .endr -.endm - -test entry_overflow - all_entry_overflow_tests -test_end - -test_suite_end |