From ec0891469f7db372530025ddfd66e17e5a6046db Mon Sep 17 00:00:00 2001 From: David Given Date: Mon, 17 Sep 2018 19:34:38 +0100 Subject: [PATCH] Array descriptor ranges are inclusive; adjust aar and the tests to check for this. All the tests except rotate build now! --- mach/mips/libem/aar4.s | 6 +++--- plat/linuxmips/tests/build.lua | 2 +- tests/plat/core/aar_e.e | 2 +- tests/plat/core/lar_e.e | 2 +- tests/plat/core/sar_e.e | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/mach/mips/libem/aar4.s b/mach/mips/libem/aar4.s index b9873300e..e33165b9d 100644 --- a/mach/mips/libem/aar4.s +++ b/mach/mips/libem/aar4.s @@ -10,7 +10,7 @@ * An array descriptor is: * * +0 lower bound - * +4 range (upper bound - lower bound) + * +4 range (upper bound - lower bound); *inclusive* * +8 element size */ @@ -28,8 +28,8 @@ subu r5, r5, r7 ! adjust index for non-zero lower bound lw at, 4(r4) ! at = range - slt at, r5, at ! at = adjusted index < range - beq at, zero, .trap_earray + slt at, at, r5 ! at = range < adjusted index + bne at, zero, .trap_earray nop lw r2, 8(r4) ! r2 = size of element diff --git a/plat/linuxmips/tests/build.lua b/plat/linuxmips/tests/build.lua index 68ffccc68..529277fd9 100644 --- a/plat/linuxmips/tests/build.lua +++ b/plat/linuxmips/tests/build.lua @@ -4,5 +4,5 @@ plat_testsuite { name = "tests", plat = "linuxmips", method = "qemu-mipsel", - skipsets = {"m2"} +-- skipsets = {"m2"}, } diff --git a/tests/plat/core/aar_e.e b/tests/plat/core/aar_e.e index 0b53e5b50..352277d03 100644 --- a/tests/plat/core/aar_e.e +++ b/tests/plat/core/aar_e.e @@ -13,7 +13,7 @@ array descriptor con -1 ; lower bound - con 3 ; range + con 2 ; range, *inclusive* con EM_WSIZE ; size of element diff --git a/tests/plat/core/lar_e.e b/tests/plat/core/lar_e.e index 650865b04..fb96522d6 100644 --- a/tests/plat/core/lar_e.e +++ b/tests/plat/core/lar_e.e @@ -17,7 +17,7 @@ array descriptor con -1 ; lower bound - con 3 ; range + con 2 ; range, *inclusive* con EM_WSIZE ; size of element exp $_m_a_i_n diff --git a/tests/plat/core/sar_e.e b/tests/plat/core/sar_e.e index 7c6da941b..803e8dffe 100644 --- a/tests/plat/core/sar_e.e +++ b/tests/plat/core/sar_e.e @@ -15,7 +15,7 @@ array descriptor con -1 ; lower bound - con 3 ; range + con 2 ; range, *inclusive* con EM_WSIZE ; size of element element0