#include "macros.inc"

test_suite mmu

#if XCHAL_HAVE_PTP_MMU && !XCHAL_HAVE_SPANNING_WAY

.purgem test_init

.macro clean_tlb_way way, page_size, n_entries
    movi    a2, \way
    movi    a3, \page_size
    movi    a4, \n_entries
    loop    a4, 1f
    idtlb   a2
    iitlb   a2
    add     a2, a2, a3
1:
.endm

.macro test_init
    clean_tlb_way 0, 0x00001000, 4
    clean_tlb_way 1, 0x00001000, 4
    clean_tlb_way 2, 0x00001000, 4
    clean_tlb_way 3, 0x00001000, 4
    clean_tlb_way 4, 0x00100000, 4
    movi    a2, 0x00000007
    idtlb   a2
    movi    a2, 0x00000008
    idtlb   a2
    movi    a2, 0x00000009
    idtlb   a2
.endm

test tlb_group
    movi    a2, 0x04000002 /* PPN */
    movi    a3, 0x01200004 /* VPN */
    wdtlb   a2, a3
    witlb   a2, a3
    movi    a3, 0x00200004
    rdtlb0  a1, a3
    ritlb0  a2, a3
    movi    a3, 0x01000001
    assert  eq, a1, a3
    assert  eq, a2, a3
    movi    a3, 0x00200004
    rdtlb1  a1, a3
    ritlb1  a2, a3
    movi    a3, 0x04000002
    assert  eq, a1, a3
    assert  eq, a2, a3
    movi    a3, 0x01234567
    pdtlb   a1, a3
    pitlb   a2, a3
    movi    a3, 0x01234014
    assert  eq, a1, a3
    movi    a3, 0x0123400c
    assert  eq, a2, a3
    movi    a3, 0x00200004
    idtlb   a3
    iitlb   a3
    movi    a3, 0x01234567
    pdtlb   a1, a3
    pitlb   a2, a3
    movi    a3, 0x00000010
    and     a1, a1, a3
    assert  eqi, a1, 0
    movi    a3, 0x00000008
    and     a2, a2, a3
    assert  eqi, a2, 0
test_end

test itlb_miss
    set_vector kernel, 1f

    movi    a3, 0x00100000
    jx      a3
    test_fail
1:
    rsr     a2, excvaddr
    assert  eq, a2, a3
    rsr     a2, exccause
    movi    a3, 16
    assert  eq, a2, a3
test_end

test dtlb_miss
    set_vector kernel, 1f

    movi    a3, 0x00100000
    l8ui    a2, a3, 0
    test_fail
1:
    rsr     a2, excvaddr
    assert  eq, a2, a3
    rsr     a2, exccause
    movi    a3, 24
    assert  eq, a2, a3
test_end

test itlb_multi_hit
    set_vector kernel, 1f

    movi    a2, 0x04000002 /* PPN */
    movi    a3, 0xf0000004 /* VPN */
    witlb   a2, a3
    movi    a3, 0xf0000000
    pitlb   a2, a3
    test_fail
1:
    rsr     a2, exccause
    movi    a3, 17
    assert  eq, a2, a3
test_end

test dtlb_multi_hit
    set_vector kernel, 1f

    movi    a2, 0x04000002 /* PPN */
    movi    a3, 0x01200004 /* VPN */
    wdtlb   a2, a3
    movi    a3, 0x01200007 /* VPN */
    wdtlb   a2, a3
    movi    a3, 0x01200000
    pdtlb   a2, a3
    test_fail
1:
    rsr     a2, exccause
    movi    a3, 25
    assert  eq, a2, a3
test_end

test inst_fetch_privilege
    set_vector kernel, 3f

    movi    a2, 0x4004f
    wsr     a2, ps
1:
    isync
    nop
2:
    test_fail
3:
    movi    a1, 1b
    rsr     a2, excvaddr
    rsr     a3, epc1
    assert  ge, a2, a1
    assert  ge, a3, a1
    movi    a1, 2b
    assert  lt, a2, a1
    assert  lt, a3, a1
    rsr     a2, exccause
    movi    a3, 18
    assert  eq, a2, a3
    rsr     a2, ps
    movi    a3, 0x4005f
    assert  eq, a2, a3
test_end

test load_store_privilege
    set_vector kernel, 2f

    movi    a3, 10f
    pitlb   a3, a3
    ritlb1  a2, a3
    movi    a1, 0x10
    or      a2, a2, a1
    movi    a1, 0x000ff000
    and     a3, a3, a1
    movi    a1, 4
    or      a3, a3, a1
    witlb   a2, a3
    movi    a3, 10f
    movi    a1, 0x000fffff
    and     a1, a3, a1

    movi    a2, 0x04000003 /* PPN */
    movi    a3, 0x01200004 /* VPN */
    wdtlb   a2, a3
    movi    a3, 0x01200001
    movi    a2, 0x4004f
    jx      a1
10:
    wsr     a2, ps
    isync
1:
    l8ui    a2, a3, 0
    test_fail
2:
    rsr     a2, excvaddr
    assert  eq, a2, a3
    rsr     a2, epc1
    movi    a3, 1b
    movi    a1, 0x000fffff
    and     a3, a3, a1
    assert  eq, a2, a3
    rsr     a2, exccause
    movi    a3, 26
    assert  eq, a2, a3
    rsr     a2, ps
    movi    a3, 0x4005f
    assert  eq, a2, a3
test_end

test cring_load_store_privilege
    set_vector kernel, 0
    set_vector double, 2f

    movi    a2, 0x04000003 /* PPN */
    movi    a3, 0x01200004 /* VPN */
    wdtlb   a2, a3
    movi    a3, 0x01200004
    movi    a2, 0x4005f    /* ring 1 + excm => cring == 0 */
    wsr     a2, ps
    isync
    l8ui    a2, a3, 0      /* cring used */
1:
    l32e    a2, a3, -4     /* ring used */
    test_fail
2:
    rsr     a2, excvaddr
    addi    a2, a2, 4
    assert  eq, a2, a3
    rsr     a2, depc
    movi    a3, 1b
    assert  eq, a2, a3
    rsr     a2, exccause
    movi    a3, 26
    assert  eq, a2, a3
    rsr     a2, ps
    movi    a3, 0x4005f
    assert  eq, a2, a3
test_end

test inst_fetch_prohibited
    set_vector kernel, 2f

    movi    a3, 10f
    pitlb   a3, a3
    ritlb1  a2, a3
    movi    a1, 0xfffff000
    and     a2, a2, a1
    movi    a1, 0x4
    or      a2, a2, a1
    movi    a1, 0x000ff000
    and     a3, a3, a1
    movi    a1, 4
    or      a3, a3, a1
    witlb   a2, a3
    movi    a3, 10f
    movi    a1, 0x000fffff
    and     a1, a3, a1
    jx      a1
    .align  4
10:
    nop
    test_fail
2:
    rsr     a2, excvaddr
    assert  eq, a2, a1
    rsr     a2, epc1
    assert  eq, a2, a1
    rsr     a2, exccause
    movi    a3, 20
    assert  eq, a2, a3
test_end

test load_prohibited
    set_vector kernel, 2f

    movi    a2, 0x0400000c /* PPN */
    movi    a3, 0x01200004 /* VPN */
    wdtlb   a2, a3
    movi    a3, 0x01200002
1:
    l8ui    a2, a3, 0
    test_fail
2:
    rsr     a2, excvaddr
    assert  eq, a2, a3
    rsr     a2, epc1
    movi    a3, 1b
    assert  eq, a2, a3
    rsr     a2, exccause
    movi    a3, 28
    assert  eq, a2, a3
test_end

test store_prohibited
    set_vector kernel, 2f

    movi    a2, 0x04000001 /* PPN */
    movi    a3, 0x01200004 /* VPN */
    wdtlb   a2, a3
    movi    a3, 0x01200003
    l8ui    a2, a3, 0
1:
    s8i     a2, a3, 0
    test_fail
2:
    rsr     a2, excvaddr
    assert  eq, a2, a3
    rsr     a2, epc1
    movi    a3, 1b
    assert  eq, a2, a3
    rsr     a2, exccause
    movi    a3, 29
    assert  eq, a2, a3
test_end

/* Set up page table entry vaddr->paddr, ring=pte_ring, attr=pte_attr
 * and DTLB way 7 to cover this PTE, ring=pt_ring, attr=pt_attr
 */
.macro pt_setup pt_ring, pt_attr, pte_ring, vaddr, paddr, pte_attr
    movi    a2, 0x80000000
    wsr     a2, ptevaddr

    movi    a3, 0x80000007 | (((\vaddr) >> 10) & 0xfffff000) /* way 7 */
    movi    a4, 0x04000003 | ((\pt_ring) << 4) /* PADDR 64M */
    wdtlb   a4, a3
    isync

    movi    a3, ((\paddr) & 0xfffff000) | ((\pte_ring) << 4) | (\pte_attr)
    movi    a1, ((\vaddr) >> 12) << 2
    add     a2, a1, a2
    s32i    a3, a2, 0

    movi    a3, 0x80000007 | (((\vaddr) >> 10) & 0xfffff000) /* way 7 */
    movi    a4, 0x04000000 | ((\pt_ring) << 4) | (\pt_attr) /* PADDR 64M */
    wdtlb   a4, a3
    isync

    movi    a3, (\vaddr)
.endm

/* out: PS.RING=ring, PS.EXCM=excm, a3=vaddr */
.macro go_ring ring, excm, vaddr
    movi    a3, 10f
    pitlb   a3, a3
    ritlb1  a2, a3
    movi    a1, 0x10
    or      a2, a2, a1
    movi    a1, 0x000ff000
    and     a3, a3, a1
    movi    a1, 4
    or      a3, a3, a1
    witlb   a2, a3
    movi    a3, 10f
    movi    a1, 0x000fffff
    and     a1, a3, a1

    movi    a2, 0
    wsr     a2, excvaddr

    movi    a3, \vaddr
    movi    a2, 0x4000f | ((\ring) << 6) | ((\excm) << 4)
    jx      a1
10:
    wsr     a2, ps
    isync
.endm

/* in: a3 -- virtual address to test */
.macro assert_auto_tlb
    movi    a2, 0x4000f
    wsr     a2, ps
    isync
    pdtlb   a2, a3
    movi    a1, 0xfffff01f
    and     a2, a2, a1
    movi    a1, 0xfffff000
    and     a1, a1, a3
    xor     a1, a1, a2
    assert  gei, a1, 0x10
    movi    a2, 0x14
    assert  lt, a1, a2
.endm

/* in: a3 -- virtual address to test */
.macro assert_no_auto_tlb
    movi    a2, 0x4000f
    wsr     a2, ps
    isync
    pdtlb   a2, a3
    movi    a1, 0x10
    and     a1, a1, a2
    assert  eqi, a1, 0
.endm

.macro assert_sr sr, v
    rsr     a2, \sr
    movi    a1, (\v)
    assert  eq, a1, a2
.endm

.macro assert_epc1_1m vaddr
    movi    a2, (\vaddr)
    movi    a1, 0xfffff
    and     a1, a1, a2
    rsr     a2, epc1
    assert  eq, a1, a2
.endm

test dtlb_autoload
    set_vector kernel, 0

    pt_setup    0, 3, 1, 0x1000, 0x1000, 3
    assert_no_auto_tlb

    l8ui    a1, a3, 0

    rsr     a2, excvaddr
    assert  eq, a2, a3

    assert_auto_tlb
test_end

test autoload_load_store_privilege
    set_vector kernel, 0
    set_vector double, 2f

    pt_setup    0, 3, 0, 0x2000, 0x2000, 3
    movi    a3, 0x2004
    assert_no_auto_tlb

    movi    a2, 0x4005f    /* ring 1 + excm => cring == 0 */
    wsr     a2, ps
    isync
1:
    l32e    a2, a3, -4     /* ring used */
    test_fail
2:
    rsr     a2, excvaddr
    addi    a1, a3, -4
    assert  eq, a1, a2

    assert_auto_tlb
    assert_sr depc, 1b
    assert_sr exccause, 26
test_end

test autoload_pte_load_prohibited
    set_vector kernel, 2f

    pt_setup    0, 3, 0, 0x3000, 0, 0xc
    assert_no_auto_tlb
1:
    l32i    a2, a3, 0
    test_fail
2:
    rsr     a2, excvaddr
    assert  eq, a2, a3

    assert_auto_tlb
    assert_sr epc1, 1b
    assert_sr exccause, 28
test_end

test autoload_pt_load_prohibited
    set_vector kernel, 2f

    pt_setup    0, 0xc, 0, 0x4000, 0x4000, 3
    assert_no_auto_tlb
1:
    l32i    a2, a3, 0
    test_fail
2:
    rsr     a2, excvaddr
    assert  eq, a2, a3

    assert_no_auto_tlb
    assert_sr epc1, 1b
    assert_sr exccause, 24
test_end

test autoload_pt_privilege
    set_vector  kernel, 2f
    pt_setup    0, 3, 1, 0x5000, 0, 3
    go_ring     1, 0, 0x5001

    l8ui    a2, a3, 0
1:
    syscall
2:
    rsr     a2, excvaddr
    assert  eq, a2, a3

    assert_auto_tlb
    assert_epc1_1m 1b
    assert_sr exccause, 1
test_end

test autoload_pte_privilege
    set_vector  kernel, 2f
    pt_setup    0, 3, 0, 0x6000, 0, 3
    go_ring     1, 0, 0x6001
1:
    l8ui    a2, a3, 0
    syscall
2:
    rsr     a2, excvaddr
    assert  eq, a2, a3

    assert_auto_tlb
    assert_epc1_1m 1b
    assert_sr exccause, 26
test_end

test autoload_3_level_pt
    set_vector  kernel, 2f
    pt_setup    1, 3, 1, 0x00400000, 0, 3
    pt_setup    1, 3, 1, 0x80001000, 0x2000000, 3
    go_ring     1, 0, 0x00400001
1:
    l8ui    a2, a3, 0
    syscall
2:
    rsr     a2, excvaddr
    assert  eq, a2, a3

    assert_no_auto_tlb
    assert_epc1_1m 1b
    assert_sr exccause, 24
test_end

test cross_page_insn
    set_vector kernel, 2f

    movi    a2, 0x04000003 /* PPN */
    movi    a3, 0x00007000 /* VPN */
    witlb   a2, a3
    wdtlb   a2, a3
    movi    a3, 0x00008000 /* VPN */
    witlb   a2, a3
    wdtlb   a2, a3

    movi    a2, 0x00007fff
    movi    a3, 20f
    movi    a4, 21f
    sub     a4, a4, a3
    loop    a4, 1f
    l8ui    a5, a3, 0
    s8i     a5, a2, 0
    addi    a2, a2, 1
    addi    a3, a3, 1
1:
    movi    a2, 0x00007fff
    movi    a3, 0x00008000
    /* DTLB: OK, ITLB: OK */
    jx      a2

    .begin  no-transform
20:
    l32i    a2, a3, 0
    syscall
21:
    .end    no-transform

2:
    rsr     a2, exccause
    movi    a3, 1
    assert  eq, a2, a3
    rsr     a2, epc1
    movi    a3, 0x8002
    assert  eq, a2, a3
    rsr     a2, excsave1
    movi    a3, 0x00007fff
    assert  ne, a2, a3

    reset_ps
    set_vector kernel, 3f

    movi    a2, 0x0400000c /* PPN */
    movi    a3, 0x00008000 /* VPN */
    wdtlb   a2, a3
    movi    a2, 0x00007fff
    movi    a3, 0x00008000
    /* DTLB: FAIL, ITLB: OK */
    jx      a2
3:
    rsr     a2, exccause
    movi    a3, 28
    assert  eq, a2, a3
    rsr     a2, epc1
    movi    a3, 0x7fff
    assert  eq, a2, a3
    rsr     a2, excsave1
    movi    a3, 0x00007fff
    assert  eq, a2, a3

    reset_ps
    set_vector kernel, 4f

    movi    a2, 0x0400000c /* PPN */
    movi    a3, 0x00008000 /* VPN */
    witlb   a2, a3
    movi    a2, 0x04000003 /* PPN */
    wdtlb   a2, a3
    movi    a2, 0x00007fff
    movi    a3, 0x00008000
    /* DTLB: OK, ITLB: FAIL */
    jx      a2
4:
    rsr     a2, exccause
    movi    a3, 20
    assert  eq, a2, a3
    rsr     a2, epc1
    movi    a3, 0x7fff
    assert  eq, a2, a3
    rsr     a2, excsave1
    movi    a3, 0x00007fff
    assert  eq, a2, a3

    reset_ps
    set_vector kernel, 5f

    movi    a2, 0x0400000c /* PPN */
    movi    a3, 0x00008000 /* VPN */
    wdtlb   a2, a3
    movi    a2, 0x00007fff
    movi    a3, 0x00008000
    /* DTLB: FAIL, ITLB: FAIL */
    jx      a2
5:
    rsr     a2, exccause
    movi    a3, 20
    assert  eq, a2, a3
    rsr     a2, epc1
    movi    a3, 0x7fff
    assert  eq, a2, a3
    rsr     a2, excsave1
    movi    a3, 0x00007fff
    assert  eq, a2, a3
test_end

test cross_page_tb
    set_vector kernel, 2f

    movi    a2, 0x04000003 /* PPN */
    movi    a3, 0x00007000 /* VPN */
    witlb   a2, a3
    wdtlb   a2, a3
    movi    a3, 0x00008000 /* VPN */
    witlb   a2, a3
    wdtlb   a2, a3

    movi    a2, 0x00007ffc
    movi    a3, 20f
    movi    a4, 21f
    sub     a4, a4, a3
    loop    a4, 1f
    l8ui    a5, a3, 0
    s8i     a5, a2, 0
    addi    a2, a2, 1
    addi    a3, a3, 1
1:
    movi    a2, 0x00007ffc
    movi    a3, 0x00008000
    /* DTLB: OK, ITLB: OK */
    jx      a2

    .begin  no-transform
20:
    l32i    a2, a3, 0
    syscall
21:
    .end    no-transform

2:
    rsr     a2, exccause
    movi    a3, 1
    assert  eq, a2, a3
    rsr     a2, epc1
    movi    a3, 0x7fff
    assert  eq, a2, a3
    rsr     a2, excsave1
    movi    a3, 0x00007ffc
    assert  ne, a2, a3

    reset_ps
    set_vector kernel, 3f

    movi    a2, 0x0400000c /* PPN */
    movi    a3, 0x00008000 /* VPN */
    wdtlb   a2, a3
    movi    a2, 0x00007ffc
    movi    a3, 0x00008000
    /* DTLB: FAIL, ITLB: OK */
    jx      a2
3:
    rsr     a2, exccause
    movi    a3, 28
    assert  eq, a2, a3
    rsr     a2, epc1
    movi    a3, 0x7ffc
    assert  eq, a2, a3
    rsr     a2, excsave1
    movi    a3, 0x00007ffc
    assert  eq, a2, a3

    reset_ps
    set_vector kernel, 4f

    movi    a2, 0x0400000c /* PPN */
    movi    a3, 0x00008000 /* VPN */
    witlb   a2, a3
    movi    a2, 0x04000003 /* PPN */
    wdtlb   a2, a3
    movi    a2, 0x00007ffc
    movi    a3, 0x00008000
    /* DTLB: OK, ITLB: FAIL */
    jx      a2
4:
    rsr     a2, exccause
    movi    a3, 20
    assert  eq, a2, a3
    rsr     a2, epc1
    movi    a3, 0x7fff
    assert  eq, a2, a3
    rsr     a2, excsave1
    movi    a3, 0x00007ffc
    assert  ne, a2, a3

    reset_ps
    set_vector kernel, 5f

    movi    a2, 0x0400000c /* PPN */
    movi    a3, 0x00008000 /* VPN */
    wdtlb   a2, a3
    movi    a2, 0x00007ffc
    movi    a3, 0x00008000
    /* DTLB: FAIL, ITLB: FAIL */
    jx      a2
5:
    rsr     a2, exccause
    movi    a3, 28
    assert  eq, a2, a3
    rsr     a2, epc1
    movi    a3, 0x7ffc
    assert  eq, a2, a3
    rsr     a2, excsave1
    movi    a3, 0x00007ffc
    assert  eq, a2, a3
test_end

#endif

test_suite_end
