URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
Compare Revisions
- This comparison shows the changes necessary to convert path
/openrisc/trunk
- from Rev 811 to Rev 812
- ↔ Reverse comparison
Rev 811 → Rev 812
/gnu-src/newlib-1.18.0/newlib/libc/machine/or32/or1k-support-asm.S
411,14 → 411,14
l.addi r5,r4,-1 |
l.slli r6,r5,2 |
/* Add this to table bases */ |
l.add r6,r6,r7 |
l.add r14,r6,r7 |
l.add r13,r6,r12 |
|
/* Fetch handler function address */ |
l.lwz r6,0(r6) |
l.lwz r14,0(r14) |
|
/* Double check it's valid, compare against INTERRUPT_HANDLER_NOT_SET */ |
l.sfne r6,r8 |
l.sfne r14,r8 |
/* Skip if no handler: TODO: Indicate interrupt fired but no handler*/ |
l.bnf .L1 |
l.nop |
427,7 → 427,7
l.sw 4(r1),r3 |
l.lwz r3,0(r13) |
/* Call handler, save r5 in delay slot */ |
l.jalr r5 |
l.jalr r14 |
l.sw 8(r1),r5 |
|
/* Reload r3,r5 */ |
463,7 → 463,6
l.sw 0(r1),r6 |
/* Convert interrupt number into word address */ |
l.slli r3,r3,2 |
l.addi r3,r3,-4 |
/* Get address of interrupt handler table */ |
l.movhi r6,hi(or1k_interrupt_handler_table) |
l.ori r6,r6,lo(or1k_interrupt_handler_table) |
718,4 → 717,4
l.jr r9 |
/* Restore stack value */ |
l.addi r1,r1,4 |
|
|