From: Andrew Cagney Date: Fri, 27 Jun 1997 08:33:16 +0000 (+0000) Subject: Add test for dbt/rtd instructions X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3a8e858f24704fbd4493b8a7f98dfb0578768159;p=binutils-gdb.git Add test for dbt/rtd instructions --- diff --git a/sim/testsuite/d30v-elf/os-dbt.S b/sim/testsuite/d30v-elf/os-dbt.S new file mode 100644 index 00000000000..34688674c9d --- /dev/null +++ b/sim/testsuite/d30v-elf/os-dbt.S @@ -0,0 +1,38 @@ + .globl _start + # + # NOTE: Registers r10-r11 are reserved for the interrupt handler + # while the others can be used by the main loop/start code. + +_start: + # patch the DBT handler + add r1, r0, handler + ldw r2, @(r1, 0) + ldw r3, @(r1, 4) + # DBT vector address + add r1, r0, 0xfffff120 + stw r2, @(r1, 0) + stw r3, @(r1, 4) + + # try out the breakpoint/return + add r2, r0, 47 + #dbt + nop + .long 0x00b00000 + nop + + # exit with what ever the breakpoint hander set r2 to. + nop + .long 0x0e000004 + nop + +handler: + jmp real_handler + + # The Breakpoint handler sets r2 to 0 if PSW was set correctly. +real_handler: + mvfsys r2, cr0 + sub r2, r0, 0x08000000 + #rtd + nop + .long 0x00a00000 + nop