#include "macros.inc"

test_suite break

#if XCHAL_HAVE_DEBUG

#define debug_level XCHAL_DEBUGLEVEL
#define debug_vector glue(level, XCHAL_DEBUGLEVEL)
#define EPC_DEBUG glue(epc, XCHAL_DEBUGLEVEL)

test break
    set_vector debug_vector, 0
    rsil    a2, debug_level
    _break  0, 0

    set_vector debug_vector, 2f
    rsil    a2, debug_level - 1
1:
    _break  0, 0
    test_fail
2:
    rsr     a2, ps
    movi    a3, 0x1f
    and     a2, a2, a3
    movi    a3, 0x10 | debug_level
    assert  eq, a2, a3
    rsr     a2, EPC_DEBUG
    movi    a3, 1b
    assert  eq, a2, a3
    rsr     a2, debugcause
    movi    a3, 0x8
    assert  eq, a2, a3
test_end

test breakn
    set_vector debug_vector, 0
    rsil    a2, debug_level
    _break.n  0

    set_vector debug_vector, 2f
    rsil    a2, debug_level - 1
1:
    _break.n  0
    test_fail
2:
    rsr     a2, ps
    movi    a3, 0x1f
    and     a2, a2, a3
    movi    a3, 0x10 | debug_level
    assert  eq, a2, a3
    rsr     a2, EPC_DEBUG
    movi    a3, 1b
    assert  eq, a2, a3
    rsr     a2, debugcause
    movi    a3, 0x10
    assert  eq, a2, a3
test_end

#if XCHAL_NUM_IBREAK
test ibreak
    set_vector debug_vector, 0
    rsil    a2, debug_level
    movi    a2, 1f
    wsr     a2, ibreaka0
    movi    a2, 1
    wsr     a2, ibreakenable
    isync
1:
    rsil    a2, debug_level - 1
    movi    a2, 1f
    wsr     a2, ibreaka0
    movi    a2, 0
    wsr     a2, ibreakenable
    isync
1:
    set_vector debug_vector, 2f
    movi    a2, 1f
    wsr     a2, ibreaka0
    movi    a2, 1
    wsr     a2, ibreakenable
    isync
1:
    test_fail
2:
    rsr     a2, ps
    movi    a3, 0x1f
    and     a2, a2, a3
    movi    a3, 0x10 | debug_level
    assert  eq, a2, a3
    rsr     a2, EPC_DEBUG
    movi    a3, 1b
    assert  eq, a2, a3
    rsr     a2, debugcause
    movi    a3, 0x2
    assert  eq, a2, a3
test_end

test ibreak_remove
    set_vector debug_vector, 3f
    rsil    a2, debug_level - 1
    movi    a2, 2f
    wsr     a2, ibreaka0
    movi    a3, 1
1:
    wsr     a3, ibreakenable
    isync
2:
    beqz    a3, 4f
    test_fail
3:
    assert  eqi, a3, 1
    rsr     a2, ps
    movi    a3, 0x1f
    and     a2, a2, a3
    movi    a3, 0x10 | debug_level
    assert  eq, a2, a3
    rsr     a2, EPC_DEBUG
    movi    a3, 2b
    assert  eq, a2, a3
    rsr     a2, debugcause
    movi    a3, 0x2
    assert  eq, a2, a3

    movi    a2, 0x40000
    wsr     a2, ps
    isync
    movi    a3, 0
    j       1b
4:
test_end

test ibreak_priority
    set_vector debug_vector, 2f
    rsil    a2, debug_level - 1
    movi    a2, 1f
    wsr     a2, ibreaka0
    movi    a2, 1
    wsr     a2, ibreakenable
    isync
1:
    break   0, 0
    test_fail
2:
    rsr     a2, debugcause
    movi    a3, 0x2
    assert  eq, a2, a3
test_end
#endif

test icount
    set_vector debug_vector, 2f
    rsil    a2, debug_level - 1
    movi    a2, -2
    wsr     a2, icount
    movi    a2, 1
    wsr     a2, icountlevel
    isync
    rsil    a2, 0
    nop
1:
    break   0, 0
    test_fail
2:
    movi    a2, 0
    wsr     a2, icountlevel
    rsr     a2, EPC_DEBUG
    movi    a3, 1b
    assert  eq, a2, a3
    rsr     a2, debugcause
    movi    a3, 0x1
    assert  eq, a2, a3
test_end

.macro check_dbreak dr
    rsr     a2, EPC_DEBUG
    movi    a3, 1b
    assert  eq, a2, a3
    rsr     a2, debugcause
    movi    a3, 0x4 | (\dr << 8)
    assert  eq, a2, a3
    movi    a2, 0
    wsr     a2, dbreakc\dr
.endm

.macro dbreak_test dr, ctl, break, access, op
    set_vector debug_vector, 2f
    rsil    a2, debug_level - 1
    movi    a2, \ctl
    wsr     a2, dbreakc\dr
    movi    a2, \break
    wsr     a2, dbreaka\dr
    movi    a2, \access
    isync
1:
    \op     a3, a2, 0
    test_fail
2:
    check_dbreak \dr
    reset_ps
.endm

#if XCHAL_NUM_DBREAK
test dbreak_exact
    dbreak_test 0, 0x4000003f, 0xd000007f, 0xd000007f, l8ui
    dbreak_test 1, 0x4000003e, 0xd000007e, 0xd000007e, l16ui
    dbreak_test 0, 0x4000003c, 0xd000007c, 0xd000007c, l32i

    dbreak_test 1, 0x8000003f, 0xd000007f, 0xd000007f, s8i
    dbreak_test 0, 0x8000003e, 0xd000007e, 0xd000007e, s16i
    dbreak_test 1, 0x8000003c, 0xd000007c, 0xd000007c, s32i
test_end

test dbreak_overlap
    dbreak_test 0, 0x4000003f, 0xd000007d, 0xd000007c, l16ui
    dbreak_test 1, 0x4000003f, 0xd000007d, 0xd000007c, l32i

    dbreak_test 0, 0x4000003e, 0xd000007e, 0xd000007f, l8ui
    dbreak_test 1, 0x4000003e, 0xd000007e, 0xd000007c, l32i

    dbreak_test 0, 0x4000003c, 0xd000007c, 0xd000007d, l8ui
    dbreak_test 1, 0x4000003c, 0xd000007c, 0xd000007c, l16ui

    dbreak_test 0, 0x40000038, 0xd0000078, 0xd000007b, l8ui
    dbreak_test 1, 0x40000038, 0xd0000078, 0xd000007a, l16ui
    dbreak_test 0, 0x40000038, 0xd0000078, 0xd000007c, l32i

    dbreak_test 1, 0x40000030, 0xd0000070, 0xd0000075, l8ui
    dbreak_test 0, 0x40000030, 0xd0000070, 0xd0000076, l16ui
    dbreak_test 1, 0x40000030, 0xd0000070, 0xd0000078, l32i

    dbreak_test 0, 0x40000020, 0xd0000060, 0xd000006f, l8ui
    dbreak_test 1, 0x40000020, 0xd0000060, 0xd0000070, l16ui
    dbreak_test 0, 0x40000020, 0xd0000060, 0xd0000074, l32i


    dbreak_test 0, 0x8000003f, 0xd000007d, 0xd000007c, s16i
    dbreak_test 1, 0x8000003f, 0xd000007d, 0xd000007c, s32i

    dbreak_test 0, 0x8000003e, 0xd000007e, 0xd000007f, s8i
    dbreak_test 1, 0x8000003e, 0xd000007e, 0xd000007c, s32i

    dbreak_test 0, 0x8000003c, 0xd000007c, 0xd000007d, s8i
    dbreak_test 1, 0x8000003c, 0xd000007c, 0xd000007c, s16i

    dbreak_test 0, 0x80000038, 0xd0000078, 0xd000007b, s8i
    dbreak_test 1, 0x80000038, 0xd0000078, 0xd000007a, s16i
    dbreak_test 0, 0x80000038, 0xd0000078, 0xd000007c, s32i

    dbreak_test 1, 0x80000030, 0xd0000070, 0xd0000075, s8i
    dbreak_test 0, 0x80000030, 0xd0000070, 0xd0000076, s16i
    dbreak_test 1, 0x80000030, 0xd0000070, 0xd0000078, s32i

    dbreak_test 0, 0x80000020, 0xd0000060, 0xd000006f, s8i
    dbreak_test 1, 0x80000020, 0xd0000060, 0xd0000070, s16i
    dbreak_test 0, 0x80000020, 0xd0000060, 0xd0000074, s32i
test_end

test dbreak_invalid
    dbreak_test 0, 0x40000030, 0xd0000071, 0xd0000070, l16ui
    dbreak_test 1, 0x40000035, 0xd0000072, 0xd0000070, l32i
test_end
#endif

#endif

test_suite_end
