[kvm-unit-tests PATCH v2] powerpc: don't fail if QEMU does not support alignment exception

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



As for lswi, lswx is supposed to cause an alignment exception in
little endian mode, but QEMU does not support it. So in case we do
not get an exception, this is an expected failure and we run the other
tests.

Signed-off-by: Laurent Vivier <lvivier@xxxxxxxxxx>
---
v2: move report("partial",...) out of #if..#endif block

 powerpc/emulator.c | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/powerpc/emulator.c b/powerpc/emulator.c
index 4dc341f..0e5f7a3 100644
--- a/powerpc/emulator.c
+++ b/powerpc/emulator.c
@@ -245,11 +245,18 @@ static void test_lswx(void)
 		      "xer", "r11", "r12", "memory");
 
 #if  __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
-	report("alignment", alignment);
-	return;
-#else
-	report("partial", regs[0] == 0x01020300 && regs[1] == (uint64_t)-1);
+	/*
+	 * lswx is supposed to cause an alignment exception in little endian
+	 * mode, but QEMU does not support it. So in case we do not get an
+	 * exception, this is an expected failure and we run the other tests
+	 */
+	report_xfail("alignment", !alignment, alignment);
+	if (alignment) {
+		report_prefix_pop();
+		return;
+	}
 #endif
+	report("partial", regs[0] == 0x01020300 && regs[1] == (uint64_t)-1);
 
 	/* check an old know bug: the number of bytes is used as
 	 * the number of registers, so try 32 bytes.
-- 
2.5.5

--
To unsubscribe from this list: send the line "unsubscribe kvm-ppc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [KVM Development]     [KVM ARM]     [KVM ia64]     [Linux Virtualization]     [Linux USB Devel]     [Linux Video]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux