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

Subversion Repositories or1k

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /or1k/branches/branch_qmem/orp
    from Rev 1173 to Rev 1765
    Reverse comparison

Rev 1173 → Rev 1765

/orp_soc/sw/icm/icm.S
0,0 → 1,122
/* Basic instruction set test */
#include "../support/spr_defs.h"
 
.global _main
.global _buserr_except
.global _dpf_except
.global _ipf_except
.global _lpint_except
.global _align_except
.global _illegal_except
.global _hpint_except
.global _dtlbmiss_except
.global _itlbmiss_except
.global _range_except
.global _syscall_except
.global _res1_except
.global _trap_except
.global _res2_except
.global _icm_test
 
.section .text
 
_buserr_except:
_dpf_except:
_ipf_except:
_lpint_except:
_align_except:
_illegal_except:
_hpint_except:
_dtlbmiss_except:
_itlbmiss_except:
_range_except:
_syscall_except:
_res1_except:
_trap_except:
_res2_except:
 
_main:
l.nop
l.addi r6,r0,0
 
/* Store array */
/* r4 pointer */
/* r5 loop counter */
l.movhi r4,hi(_icm_var)
l.ori r4,r4,lo(_icm_var)
l.addi r5,r0,6
loop1: l.sw 0(r4),r4
l.addi r4,r4,4
l.sfeq r5,r0
l.bnf loop1
l.addi r5,r5,-1
 
/* Check array */
/* r4 pointer */
/* r5 loop counter */
/* r6 chksum */
/* r7 tmp loaded value */
l.movhi r4,hi(_icm_var)
l.ori r4,r4,lo(_icm_var)
l.addi r5,r0,6
loop2: l.lwz r7,0(r4)
l.addi r4,r4,4
l.add r6,r6,r7
l.sfeq r5,r0
l.bnf loop2
l.addi r5,r5,-1
 
/* Run from ICM */
l.jal _icm_test
l.addi r6,r6,50
 
l.add r3,r0,r6
l.jal _report
 
l.nop
l.jal _exit
l.nop
l.nop
 
.section .icm,"ax"
 
_icm_var:
.space 100
 
_icm_test:
l.addi r6,r6,1
l.addi r6,r6,5
 
/* Store array */
/* r4 pointer */
/* r5 loop counter */
l.movhi r4,hi(_icm_var)
l.ori r4,r4,lo(_icm_var)
l.addi r5,r0,6
loop3: l.sw 0(r4),r4
l.addi r4,r4,4
l.sfeq r5,r0
l.bnf loop3
l.addi r5,r5,-1
 
/* Check array */
/* r4 pointer */
/* r5 loop counter */
/* r6 chksum */
/* r7 tmp loaded value */
l.movhi r4,hi(_icm_var)
l.ori r4,r4,lo(_icm_var)
l.addi r5,r0,6
loop4:
/* l.lwz r7,0(r4)*/
l.add r7,r0,r0
l.addi r4,r4,4
l.add r6,r6,r7
l.sfeq r5,r0
l.bnf loop4
l.addi r5,r5,-1
 
l.nop
l.jr r9
l.addi r6,r6,20
 
orp_soc/sw/icm/icm.S Property changes : Added: svn:executable ## -0,0 +1 ## +* \ No newline at end of property Index: orp_soc/sw/icm/Makefile =================================================================== --- orp_soc/sw/icm/Makefile (nonexistent) +++ orp_soc/sw/icm/Makefile (revision 1765) @@ -0,0 +1,33 @@ + +all: icm-nocache icm-icdc icm-ic icm-dc + + +icm-nocache: icm.o ../support/reset-nocache.o + or32-uclinux-ld -T ../support/orp.ld $? -o $@.or32 ../support/libsupport.a + or32-uclinux-objcopy -O binary $@.or32 $@.bin + ../utils/bin2hex $@.bin > $@.hex + cp $@.hex ../../sim/src/ + +icm-icdc: icm.o ../support/reset-icdc.o + or32-uclinux-ld -T ../support/orp.ld $? -o $@.or32 ../support/libsupport.a + or32-uclinux-objcopy -O binary $@.or32 $@.bin + ../utils/bin2hex $@.bin > $@.hex + cp $@.hex ../../sim/src/ + +icm-ic: icm.o ../support/reset-ic.o + or32-uclinux-ld -T ../support/orp.ld $? -o $@.or32 ../support/libsupport.a + or32-uclinux-objcopy -O binary $@.or32 $@.bin + ../utils/bin2hex $@.bin > $@.hex + cp $@.hex ../../sim/src/ + +icm-dc: icm.o ../support/reset-dc.o + or32-uclinux-ld -T ../support/orp.ld $? -o $@.or32 ../support/libsupport.a + or32-uclinux-objcopy -O binary $@.or32 $@.bin + ../utils/bin2hex $@.bin > $@.hex + cp $@.hex ../../sim/src/ + +icm.o: icm.S + or32-uclinux-gcc -O0 $? -c -o $@ + +clean: + rm -f *.o *.or32 *.log *.bin *.hex

powered by: WebSVN 2.1.0

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