OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [tags/] [nog_patch_67/] [or1ksim/] [testbench/] [except.S] - Diff between revs 957 and 970

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 957 Rev 970
Line 31... Line 31...
        .extern _excpt_trap
        .extern _excpt_trap
 
 
 
 
              .section .except, "ax"
              .section .except, "ax"
_buserr_vector:
_buserr_vector:
        l.addi  r1,r1,-116
        l.addi  r1,r1,-120
        l.sw    0x18(r1),r9
        l.sw    0x1c(r1),r9
        l.sw    0x1c(r1),r10
        l.sw    0x20(r1),r10
        l.movhi r9,hi(store_regs)
        l.movhi r9,hi(store_regs)
        l.ori   r9,r9,lo(store_regs)
        l.ori   r9,r9,lo(store_regs)
        l.movhi r10,hi(_excpt_buserr)
        l.movhi r10,hi(_excpt_buserr)
        l.ori   r10,r10,lo(_excpt_buserr)
        l.ori   r10,r10,lo(_excpt_buserr)
        l.jr    r9
        l.jr    r9
        l.nop
        l.nop
_buserr_vector_end:
_buserr_vector_end:
 
 
_dpfault_vector:
_dpfault_vector:
        l.addi  r1,r1,-116
        l.addi  r1,r1,-120
        l.sw    0x18(r1),r9
        l.sw    0x1c(r1),r9
        l.sw    0x1c(r1),r10
        l.sw    0x20(r1),r10
        l.movhi r9,hi(store_regs)
        l.movhi r9,hi(store_regs)
        l.ori   r9,r9,lo(store_regs)
        l.ori   r9,r9,lo(store_regs)
        l.movhi r10,hi(_excpt_dpfault)
        l.movhi r10,hi(_excpt_dpfault)
        l.ori   r10,r10,lo(_excpt_dpfault)
        l.ori   r10,r10,lo(_excpt_dpfault)
        l.jr    r9
        l.jr    r9
        l.nop
        l.nop
_dpfault_vector_end:
_dpfault_vector_end:
 
 
_ipfault_vector:
_ipfault_vector:
        l.addi  r1,r1,-116
        l.addi  r1,r1,-120
        l.sw    0x18(r1),r9
        l.sw    0x1c(r1),r9
        l.sw    0x1c(r1),r10
        l.sw    0x20(r1),r10
        l.movhi r9,hi(store_regs)
        l.movhi r9,hi(store_regs)
        l.ori   r9,r9,lo(store_regs)
        l.ori   r9,r9,lo(store_regs)
        l.movhi r10,hi(_excpt_ipfault)
        l.movhi r10,hi(_excpt_ipfault)
        l.ori   r10,r10,lo(_excpt_ipfault)
        l.ori   r10,r10,lo(_excpt_ipfault)
        l.jr    r9
        l.jr    r9
        l.nop
        l.nop
_ipfault_vector_end:
_ipfault_vector_end:
 
 
_lpint_vector:
_lpint_vector:
        l.addi  r1,r1,-116
        l.addi  r1,r1,-120
        l.sw    0x18(r1),r9
        l.sw    0x1c(r1),r9
        l.sw    0x1c(r1),r10
        l.sw    0x20(r1),r10
        l.movhi r9,hi(store_regs)
        l.movhi r9,hi(store_regs)
        l.ori   r9,r9,lo(store_regs)
        l.ori   r9,r9,lo(store_regs)
        l.movhi r10,hi(_excpt_tick)
        l.movhi r10,hi(_excpt_tick)
        l.ori   r10,r10,lo(_excpt_tick)
        l.ori   r10,r10,lo(_excpt_tick)
        l.jr    r9
        l.jr    r9
        l.nop
        l.nop
_lpint_vector_end:
_lpint_vector_end:
 
 
_align_vector:
_align_vector:
        l.addi  r1,r1,-116
        l.addi  r1,r1,-120
        l.sw    0x18(r1),r9
        l.sw    0x1c(r1),r9
        l.sw    0x1c(r1),r10
        l.sw    0x20(r1),r10
        l.movhi r9,hi(store_regs)
        l.movhi r9,hi(store_regs)
        l.ori   r9,r9,lo(store_regs)
        l.ori   r9,r9,lo(store_regs)
        l.movhi r10,hi(_excpt_align)
        l.movhi r10,hi(_excpt_align)
        l.ori   r10,r10,lo(_excpt_align)
        l.ori   r10,r10,lo(_excpt_align)
        l.jr    r9
        l.jr    r9
        l.nop
        l.nop
_align_vector_end:
_align_vector_end:
 
 
_illinsn_vector:
_illinsn_vector:
        l.addi  r1,r1,-116
        l.addi  r1,r1,-120
        l.sw    0x18(r1),r9
        l.sw    0x1c(r1),r9
        l.sw    0x1c(r1),r10
        l.sw    0x20(r1),r10
        l.movhi r9,hi(store_regs)
        l.movhi r9,hi(store_regs)
        l.ori   r9,r9,lo(store_regs)
        l.ori   r9,r9,lo(store_regs)
        l.movhi r10,hi(_excpt_illinsn)
        l.movhi r10,hi(_excpt_illinsn)
        l.ori   r10,r10,lo(_excpt_illinsn)
        l.ori   r10,r10,lo(_excpt_illinsn)
        l.jr    r9
        l.jr    r9
        l.nop
        l.nop
_illinsn_vector_end:
_illinsn_vector_end:
 
 
_hpint_vector:
_hpint_vector:
        l.addi  r1,r1,-116
        l.addi  r1,r1,-120
        l.sw    0x18(r1),r9
        l.sw    0x1c(r1),r9
        l.sw    0x1c(r1),r10
        l.sw    0x20(r1),r10
        l.movhi r9,hi(store_regs)
        l.movhi r9,hi(store_regs)
        l.ori   r9,r9,lo(store_regs)
        l.ori   r9,r9,lo(store_regs)
        l.movhi r10,hi(_excpt_int)
        l.movhi r10,hi(_excpt_int)
        l.ori   r10,r10,lo(_excpt_int)
        l.ori   r10,r10,lo(_excpt_int)
        l.jr    r9
        l.jr    r9
        l.nop
        l.nop
_hpint_vector_end:
_hpint_vector_end:
 
 
_dtlbmiss_vector:
_dtlbmiss_vector:
        l.addi  r1,r1,-116
        l.addi  r1,r1,-120
        l.sw    0x18(r1),r9
        l.sw    0x1c(r1),r9
        l.sw    0x1c(r1),r10
        l.sw    0x20(r1),r10
        l.movhi r9,hi(store_regs)
        l.movhi r9,hi(store_regs)
        l.ori   r9,r9,lo(store_regs)
        l.ori   r9,r9,lo(store_regs)
        l.movhi r10,hi(_excpt_dtlbmiss)
        l.movhi r10,hi(_excpt_dtlbmiss)
        l.ori   r10,r10,lo(_excpt_dtlbmiss)
        l.ori   r10,r10,lo(_excpt_dtlbmiss)
        l.jr    r9
        l.jr    r9
        l.nop
        l.nop
_dtlbmiss_vector_end:
_dtlbmiss_vector_end:
 
 
_itlbmiss_vector:
_itlbmiss_vector:
        l.addi  r1,r1,-116
        l.addi  r1,r1,-120
        l.sw    0x18(r1),r9
        l.sw    0x1c(r1),r9
        l.sw    0x1c(r1),r10
        l.sw    0x20(r1),r10
        l.movhi r9,hi(store_regs)
        l.movhi r9,hi(store_regs)
        l.ori   r9,r9,lo(store_regs)
        l.ori   r9,r9,lo(store_regs)
        l.movhi r10,hi(_excpt_itlbmiss)
        l.movhi r10,hi(_excpt_itlbmiss)
        l.ori   r10,r10,lo(_excpt_itlbmiss)
        l.ori   r10,r10,lo(_excpt_itlbmiss)
        l.jr    r9
        l.jr    r9
        l.nop
        l.nop
_itlbmiss_vector_end:
_itlbmiss_vector_end:
 
 
_range_vector:
_range_vector:
        l.addi  r1,r1,-116
        l.addi  r1,r1,-120
        l.sw    0x18(r1),r9
        l.sw    0x1c(r1),r9
        l.sw    0x1c(r1),r10
        l.sw    0x20(r1),r10
        l.movhi r9,hi(store_regs)
        l.movhi r9,hi(store_regs)
        l.ori   r9,r9,lo(store_regs)
        l.ori   r9,r9,lo(store_regs)
        l.movhi r10,hi(_excpt_range)
        l.movhi r10,hi(_excpt_range)
        l.ori   r10,r10,lo(_excpt_range)
        l.ori   r10,r10,lo(_excpt_range)
        l.jr    r9
        l.jr    r9
        l.nop
        l.nop
_range_vector_end:
_range_vector_end:
 
 
_syscall_vector:
_syscall_vector:
        l.addi  r1,r1,-116
        l.addi  r1,r1,-120
        l.sw    0x18(r1),r9
        l.sw    0x1c(r1),r9
        l.sw    0x1c(r1),r10
        l.sw    0x20(r1),r10
        l.movhi r9,hi(store_regs)
        l.movhi r9,hi(store_regs)
        l.ori   r9,r9,lo(store_regs)
        l.ori   r9,r9,lo(store_regs)
        l.movhi r10,hi(_excpt_syscall)
        l.movhi r10,hi(_excpt_syscall)
        l.ori   r10,r10,lo(_excpt_syscall)
        l.ori   r10,r10,lo(_excpt_syscall)
        l.jr    r9
        l.jr    r9
        l.nop
        l.nop
_syscall_vector_end:
_syscall_vector_end:
 
 
_break_vector:
_break_vector:
        l.addi  r1,r1,-116
        l.addi  r1,r1,-120
        l.sw    0x18(r1),r9
        l.sw    0x1c(r1),r9
        l.sw    0x1c(r1),r10
        l.sw    0x20(r1),r10
        l.movhi r9,hi(store_regs)
        l.movhi r9,hi(store_regs)
        l.ori   r9,r9,lo(store_regs)
        l.ori   r9,r9,lo(store_regs)
        l.movhi r10,hi(_excpt_break)
        l.movhi r10,hi(_excpt_break)
        l.ori   r10,r10,lo(_excpt_break)
        l.ori   r10,r10,lo(_excpt_break)
        l.jr    r9
        l.jr    r9
        l.nop
        l.nop
_break_vector_end:
_break_vector_end:
 
 
_trap_vector:
_trap_vector:
        l.addi  r1,r1,-116
        l.addi  r1,r1,-120
        l.sw    0x18(r1),r9
        l.sw    0x1c(r1),r9
        l.sw    0x1c(r1),r10
        l.sw    0x20(r1),r10
        l.movhi r9,hi(store_regs)
        l.movhi r9,hi(store_regs)
        l.ori   r9,r9,lo(store_regs)
        l.ori   r9,r9,lo(store_regs)
        l.movhi r10,hi(_excpt_trap)
        l.movhi r10,hi(_excpt_trap)
        l.ori   r10,r10,lo(_excpt_trap)
        l.ori   r10,r10,lo(_excpt_trap)
        l.jr    r9
        l.jr    r9
Line 287... Line 287...
        l.movhi r3,hi(MC_BASE_ADDR)
        l.movhi r3,hi(MC_BASE_ADDR)
        l.ori   r3,r3,lo(MC_BASE_ADDR)
        l.ori   r3,r3,lo(MC_BASE_ADDR)
 
 
        l.addi  r4,r3,MC_CSC(0)
        l.addi  r4,r3,MC_CSC(0)
        l.movhi r5,hi(FLASH_BASE_ADDR)
        l.movhi r5,hi(FLASH_BASE_ADDR)
        l.srai  r5,r5,5
        l.srai  r5,r5,6
        l.ori   r5,r5,0x0025
        l.ori   r5,r5,0x0025
        l.sw    0(r4),r5
        l.sw    0(r4),r5
 
 
        l.addi  r4,r3,MC_TMS(0)
        l.addi  r4,r3,MC_TMS(0)
        l.movhi r5,hi(FLASH_TMS_VAL)
        l.movhi r5,hi(FLASH_TMS_VAL)
Line 312... Line 312...
        l.ori   r5,r5,lo(SDRAM_TMS_VAL)
        l.ori   r5,r5,lo(SDRAM_TMS_VAL)
        l.sw    0(r4),r5
        l.sw    0(r4),r5
 
 
        l.addi  r4,r3,MC_CSC(1)
        l.addi  r4,r3,MC_CSC(1)
        l.movhi r5,hi(SDRAM_BASE_ADDR)
        l.movhi r5,hi(SDRAM_BASE_ADDR)
        l.srai  r5,r5,5
        l.srai  r5,r5,6
        l.ori   r5,r5,0x0411
        l.ori   r5,r5,0x0411
        l.sw    0(r4),r5
        l.sw    0(r4),r5
 
 
        l.jr    r9
        l.jr    r9
        l.nop
        l.nop
 
 
store_regs:
store_regs:
        l.sw    0x00(r1),r3
        l.sw    0x00(r1),r2
        l.sw    0x04(r1),r4
        l.sw    0x04(r1),r3
        l.sw    0x08(r1),r5
        l.sw    0x08(r1),r4
        l.sw    0x0c(r1),r6
        l.sw    0x0c(r1),r5
        l.sw    0x10(r1),r7
        l.sw    0x10(r1),r6
        l.sw    0x14(r1),r8
        l.sw    0x14(r1),r7
        l.sw    0x20(r1),r11
        l.sw    0x18(r1),r8
        l.sw    0x24(r1),r12
        l.sw    0x24(r1),r11
        l.sw    0x28(r1),r13
        l.sw    0x28(r1),r12
        l.sw    0x2c(r1),r14
        l.sw    0x2c(r1),r13
        l.sw    0x30(r1),r15
        l.sw    0x30(r1),r14
        l.sw    0x34(r1),r16
        l.sw    0x34(r1),r15
        l.sw    0x38(r1),r17
        l.sw    0x38(r1),r16
        l.sw    0x3c(r1),r18
        l.sw    0x3c(r1),r17
        l.sw    0x40(r1),r19
        l.sw    0x40(r1),r18
        l.sw    0x44(r1),r20
        l.sw    0x44(r1),r19
        l.sw    0x48(r1),r21
        l.sw    0x48(r1),r20
        l.sw    0x4c(r1),r22
        l.sw    0x4c(r1),r21
        l.sw    0x50(r1),r23
        l.sw    0x50(r1),r22
        l.sw    0x54(r1),r24
        l.sw    0x54(r1),r23
        l.sw    0x58(r1),r25
        l.sw    0x58(r1),r24
        l.sw    0x5c(r1),r26
        l.sw    0x5c(r1),r25
        l.sw    0x60(r1),r27
        l.sw    0x60(r1),r26
        l.sw    0x64(r1),r28
        l.sw    0x64(r1),r27
        l.sw    0x68(r1),r29
        l.sw    0x68(r1),r28
        l.sw    0x6c(r1),r30
        l.sw    0x6c(r1),r29
        l.sw    0x70(r1),r31
        l.sw    0x70(r1),r30
 
        l.sw    0x74(r1),r31
        l.movhi r9,hi(end_except)
        l.movhi r9,hi(end_except)
        l.ori   r9,r9,lo(end_except)
        l.ori   r9,r9,lo(end_except)
        l.lwz   r10,0(r10)
        l.lwz   r10,0(r10)
        l.jr    r10
        l.jr    r10
        l.nop
        l.nop
 
 
end_except:
end_except:
        l.lwz   r3,0x00(r1)
        l.lwz   r2,0x00(r1)
        l.lwz   r4,0x04(r1)
        l.lwz   r3,0x04(r1)
        l.lwz   r5,0x08(r1)
        l.lwz   r4,0x08(r1)
        l.lwz   r6,0x0c(r1)
        l.lwz   r5,0x0c(r1)
        l.lwz   r7,0x10(r1)
        l.lwz   r6,0x10(r1)
        l.lwz   r8,0x14(r1)
        l.lwz   r7,0x14(r1)
        l.lwz   r9,0x18(r1)
        l.lwz   r8,0x18(r1)
        l.lwz   r10,0x1c(r1)
        l.lwz   r9,0x1c(r1)
        l.lwz   r11,0x20(r1)
        l.lwz   r10,0x20(r1)
        l.lwz   r12,0x24(r1)
        l.lwz   r11,0x24(r1)
        l.lwz   r13,0x28(r1)
        l.lwz   r12,0x28(r1)
        l.lwz   r14,0x2c(r1)
        l.lwz   r13,0x2c(r1)
        l.lwz   r15,0x30(r1)
        l.lwz   r14,0x30(r1)
        l.lwz   r16,0x34(r1)
        l.lwz   r15,0x34(r1)
        l.lwz   r17,0x38(r1)
        l.lwz   r16,0x38(r1)
        l.lwz   r18,0x3c(r1)
        l.lwz   r17,0x3c(r1)
        l.lwz   r19,0x40(r1)
        l.lwz   r18,0x40(r1)
        l.lwz   r20,0x44(r1)
        l.lwz   r19,0x44(r1)
        l.lwz   r21,0x48(r1)
        l.lwz   r20,0x48(r1)
        l.lwz   r22,0x4c(r1)
        l.lwz   r21,0x4c(r1)
        l.lwz   r23,0x50(r1)
        l.lwz   r22,0x50(r1)
        l.lwz   r24,0x54(r1)
        l.lwz   r23,0x54(r1)
        l.lwz   r25,0x58(r1)
        l.lwz   r24,0x58(r1)
        l.lwz   r26,0x5c(r1)
        l.lwz   r25,0x5c(r1)
        l.lwz   r27,0x60(r1)
        l.lwz   r26,0x60(r1)
        l.lwz   r28,0x64(r1)
        l.lwz   r27,0x64(r1)
        l.lwz   r29,0x68(r1)
        l.lwz   r28,0x68(r1)
        l.lwz   r30,0x6c(r1)
        l.lwz   r29,0x6c(r1)
        l.lwz   r31,0x70(r1)
        l.lwz   r30,0x70(r1)
        l.addi  r1,r1,116
        l.lwz   r31,0x74(r1)
 
        l.addi  r1,r1,120
        l.rfe
        l.rfe
        l.nop
        l.nop

powered by: WebSVN 2.1.0

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