OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [tags/] [gdb/] [gdb-6.8/] [gdb-6.8.openrisc-2.1/] [sim/] [testsuite/] [sim/] [frv/] [interrupts/] [illinsn.cgs] - Diff between revs 24 and 33

Only display areas with differences | Details | Blame | View Log

Rev 24 Rev 33
# FRV testcase
# FRV testcase
# mach: fr500 fr550 fr400
# mach: fr500 fr550 fr400
        .include "testutils.inc"
        .include "testutils.inc"
        start
        start
        .global tra
        .global tra
tra:
tra:
        and_spr_immed   0x3fffffff,hsr0         ; no caches enabled
        and_spr_immed   0x3fffffff,hsr0         ; no caches enabled
        and_spr_immed   -4081,tbr               ; clear tbr.tt
        and_spr_immed   -4081,tbr               ; clear tbr.tt
        set_gr_spr      tbr,gr7
        set_gr_spr      tbr,gr7
        inc_gr_immed    0x070,gr7               ; address of exception handler
        inc_gr_immed    0x070,gr7               ; address of exception handler
        set_bctrlr_0_0  gr7
        set_bctrlr_0_0  gr7
        inc_gr_immed    0x790,gr7               ; address of exception handler
        inc_gr_immed    0x790,gr7               ; address of exception handler
        set_bctrlr_0_0  gr7
        set_bctrlr_0_0  gr7
        set_spr_immed   128,lcr
        set_spr_immed   128,lcr
        set_psr_et      1
        set_psr_et      1
        set_spr_addr    ok0,lr
        set_spr_addr    ok0,lr
        set_gr_addr     ill1,gr7
        set_gr_addr     ill1,gr7
        set_mem_immed   0x81f80000,gr7  ; unknown opcode: 7E
        set_mem_immed   0x81f80000,gr7  ; unknown opcode: 7E
ill1:   tira            gr0,0           ; should be overridden
ill1:   tira            gr0,0           ; should be overridden
ill2:   nop                             ; also illegal, but prev has priority
ill2:   nop                             ; also illegal, but prev has priority
bad0:   fail
bad0:   fail
        ; check interrupt
        ; check interrupt
ok0:    test_spr_addr   ill1,pcsr
ok0:    test_spr_addr   ill1,pcsr
        test_spr_immed  1,esfr1         ; esr0 active
        test_spr_immed  1,esfr1         ; esr0 active
        test_spr_bits   0x3f,0,0xb,esr0
        test_spr_bits   0x3f,0,0xb,esr0
        movsg           psr,gr28
        movsg           psr,gr28
        srli            gr28,28,gr28
        srli            gr28,28,gr28
        subicc          gr28,0x3,gr0,icc3 ; is fr550?
        subicc          gr28,0x3,gr0,icc3 ; is fr550?
        beq             icc3,0,no_epcr
        beq             icc3,0,no_epcr
        test_spr_addr   ill1,epcr0
        test_spr_addr   ill1,epcr0
no_epcr:
no_epcr:
        pass
        pass
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.