diff --git a/minix/tests/Makefile b/minix/tests/Makefile index c0bcc8557..4662fe872 100644 --- a/minix/tests/Makefile +++ b/minix/tests/Makefile @@ -126,6 +126,8 @@ PROGS+= test63 mod OBJS.${o} += common.o .endfor +.include "./arch/${MACHINE_ARCH}/Makefile.inc" + # LSC Make sure there is not leftover after a failed testrun clean: .PHONY .MAKE @rm -rf DIR* diff --git a/minix/tests/arch/earm/Makefile.inc b/minix/tests/arch/earm/Makefile.inc new file mode 100644 index 000000000..18c590c9b --- /dev/null +++ b/minix/tests/arch/earm/Makefile.inc @@ -0,0 +1,7 @@ +PROGS+= test_arm_segfault +PROGS+= test_arm_unaligned + +.PATH: ${.CURDIR}/arch/${MACHINE_ARCH} + +test_arm_segfault.o : test_arm_segfault.S +test_arm_unaligned.o : test_arm_unaligned.S diff --git a/minix/tests/arch/earm/test_arm_segfault.S b/minix/tests/arch/earm/test_arm_segfault.S new file mode 100644 index 000000000..db13dc544 --- /dev/null +++ b/minix/tests/arch/earm/test_arm_segfault.S @@ -0,0 +1,16 @@ +.text +.global main +main: + push {lr} + ldr r0, =0xDEADBEE0 /* Hopefully this is not mapped... */ + ldr r1, [r0] + ldr r0, =0x01010100 /* In case we survived, try something else */ + ldr r1, [r0] + + ldr r0, =msg + bl puts + + mov r0, #0 /* test should check for non-zero exit code / signal */ + pop {pc} +msg: + .ascii "ERROR - caused no segfault\n" diff --git a/minix/tests/arch/earm/test_arm_unaligned.S b/minix/tests/arch/earm/test_arm_unaligned.S new file mode 100644 index 000000000..1d4486e7f --- /dev/null +++ b/minix/tests/arch/earm/test_arm_unaligned.S @@ -0,0 +1,26 @@ +.text +.global main +main: + push {lr} + mov r0, sp + + /* This should work */ + ldr r0, [sp] + + /* Unalign it */ + add r0, #2 + + /* Try a non-word aligned word-load, this may work if SCTRL.A == 0 */ + ldr r1, [r0] + + /* Load non-word aligned dword, should die even with SCTRL.A == 0 */ + ldrd r2, r3, [r0] + + + ldr r0, =msg + bl puts + + mov r0, #0 /* test should check for non-zero exit code / signal */ + pop {pc} +msg: + .ascii "ERROR - caused no sigbus\n" diff --git a/minix/tests/arch/i386/Makefile.inc b/minix/tests/arch/i386/Makefile.inc new file mode 100644 index 000000000..e69de29bb