]> git.proxmox.com Git - mirror_qemu.git/commitdiff
target-xtensa: completely clean TLB between MMU tests
authorMax Filippov <jcmvbkbc@gmail.com>
Tue, 20 May 2014 20:50:12 +0000 (00:50 +0400)
committerMax Filippov <jcmvbkbc@gmail.com>
Mon, 26 May 2014 08:33:54 +0000 (12:33 +0400)
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
tests/tcg/xtensa/test_mmu.S

index 099031fd14f419032de6cfc0dac4265ead0d91d9..37174b96df0d91d1b723067d4b656691258db91a 100644 (file)
@@ -4,16 +4,28 @@ test_suite mmu
 
 .purgem test_init
 
-.macro test_init
-    movi    a2, 0x00000004
-    idtlb   a2
-    movi    a2, 0x00100004
+.macro clean_tlb_way way, page_size, n_entries
+    movi    a2, \way
+    movi    a3, \page_size
+    movi    a4, \n_entries
+    loop    a4, 1f
     idtlb   a2
-    movi    a2, 0x00200004
+    iitlb   a2
+    add     a2, a2, a3
+1:
+.endm
+
+.macro test_init
+    clean_tlb_way 0, 0x00001000, 4
+    clean_tlb_way 1, 0x00001000, 4
+    clean_tlb_way 2, 0x00001000, 4
+    clean_tlb_way 3, 0x00001000, 4
+    clean_tlb_way 4, 0x00100000, 4
+    movi    a2, 0x00000007
     idtlb   a2
-    movi    a2, 0x00300004
+    movi    a2, 0x00000008
     idtlb   a2
-    movi    a2, 0x00000007
+    movi    a2, 0x00000009
     idtlb   a2
 .endm