1 1.1 christos # mach: all 2 1.1 christos # output: 3 1.1 christos # sim: --environment operating 4 1.1 christos # as: -W 5 1.1 christos 6 1.1 christos .include "t-macros.i" 7 1.1 christos 8 1.1 christos start 9 1.1 christos 10 1.1 christos PSW_BITS = PSW_DM 11 1.1 christos 12 1.1 christos ;;; Blat our DMAP registers so that they point at on-chip imem 13 1.1 christos 14 1.1 christos ldi r2, MAP_INSN | 0xf 15 1.1 christos st r2, @(DMAP_REG,r0) 16 1.1 christos ldi r2, MAP_INSN 17 1.1 christos st r2, @(IMAP1_REG,r0) 18 1.1 christos 19 1.1 christos ;;; Patch the interrupt vector's dbt entry with a jmp to success 20 1.1 christos 21 1.1 christos ldi r4, #trap 22 1.1 christos ldi r5, (VEC_DBT & DMAP_MASK) + DMAP_BASE 23 1.1 christos ld2w r2, @(0,r4) 24 1.1 christos st2w r2, @(0,r5) 25 1.1 christos ld2w r2, @(4,r4) 26 1.1 christos st2w r2, @(4,r5) 27 1.1 christos 28 1.1 christos test_dbt: 29 1.1 christos dbt -> nop 30 1.1 christos exit47 31 1.1 christos 32 1.1 christos success: 33 1.1 christos checkpsw2 1 PSW_BITS 34 1.1 christos exit0 35 1.1 christos 36 1.1 christos .data 37 1.1 christos trap: ldi r1, success@word 38 1.1 christos jmp r1 39