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

Subversion Repositories amber

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /amber/trunk/hw/tests
    from Rev 35 to Rev 36
    Reverse comparison

Rev 35 → Rev 36

/stm_stream.S
40,6 → 40,7
*****************************************************************/
 
#include "amber_registers.h"
#include "amber_macros.h"
 
.section .text
.globl main
108,9 → 109,7
1: mov r9, r14
2: add r9, r9, #1
ldr r12, [r0], #4
cmp r12, r9
addne r10, r9, r13
bne testfail
compare r12, r9, __LINE__
add r10, r14, #8
cmp r9, r10
bne 2b
/timeouts.txt
1,60 → 1,60
flow4 3936
tmp 2756
add 1716
adc 1440
sub 1536
sbc 2676
barrel_shift 1536
barrel_shift_rs 1380
change_sbits 2232
change_mode 1680
bl 1572
bcc 1200
ldr 4276
ldr_str_pc 1576
strb 2300
ldm1 2556
ldm2 2016
ldm3 1832
ldm4 1808
stm1 7012
stm2 2332
ldm_stm_onetwo 5284
stm_stream 52924
mul 180768
mla 383544
swp 2040
irq 101116
firq 29568
swi 1620
undefined_ins 2676
addr_ex 1772
irq_stm 12332
cache1 16408
cache2 1484
cache3 122460
cache_swap 85704
cacheable_area 6348
cache_flush 19460
flow1 3072
flow2 5748
flow3 3396
conflict_rd 2832
hiboot_mem 1436
ddr31 99868
ddr32 205836
ddr33 24684
ethmac_reg 4740
ethmac_mem 79896
ethmac_tx 20364
uart_reg 2028
uart_tx 134116
uart_rx 132420
uart_rxint 127120
bic_bug 1524
movs_bug 1616
flow_bug 1452
mlas_bug 1972
inflate_bug 1408
swp_lock_bug 1356
cache_swap_bug 32656
add 3576
adc 3228
sub 3356
sbc 4256
barrel_shift 5924
barrel_shift_rs 3260
change_sbits 4004
change_mode 3524
bl 3420
bcc 3068
ldr 5712
ldr_str_pc 3428
strb 3948
ldm1 4372
ldm2 3880
ldm3 3684
ldm4 3676
stm1 8708
stm2 4120
ldm_stm_onetwo 5868
stm_stream 69180
mul 175432
mla 362840
swp 3848
irq 96492
firq 29972
swi 3468
undefined_ins 4444
addr_ex 3640
irq_stm 11504
cache1 14884
cache2 3156
cache3 102596
cache_swap 69936
cacheable_area 8428
cache_flush 21828
flow1 4500
flow2 5992
flow3 4716
conflict_rd 4088
hiboot_mem 3240
ddr31 106792
ddr32 216400
ddr33 24656
ethmac_reg 6476
ethmac_mem 73360
ethmac_tx 23744
uart_reg 3632
uart_tx 133872
uart_rx 133924
uart_rxint 126924
bic_bug 3392
movs_bug 3396
flow_bug 3292
mlas_bug 3812
inflate_bug 3220
swp_lock_bug 3220
cache_swap_bug 25448
/Makefile
46,24 → 46,26
AMBER_CROSSTOOL ?= amber-crosstool-not-defined
TOOLSPATH = ../../sw/tools
 
TGT = $(addsuffix .elf, $(basename $(TEST)))
MMP = $(addsuffix _memparams.v, $(basename $(TGT)))
SRC = $(addsuffix .S, $(basename $(TEST)))
MEM = $(addsuffix .mem, $(basename $(TGT)))
DIS = $(addsuffix .dis, $(basename $(TGT)))
OBJ = $(addsuffix .o, $(basename $(SRC)))
MAP = $(addsuffix .map, $(basename $(TGT)))
LDS = sections.lds
TGT = $(addsuffix .elf, $(basename $(TEST)))
MMP32 = $(addsuffix _memparams32.v, $(basename $(TGT)))
MMP128 = $(addsuffix _memparams128.v, $(basename $(TGT)))
SRC = $(addsuffix .S, $(basename $(TEST)))
MEM = $(addsuffix .mem, $(basename $(TGT)))
DIS = $(addsuffix .dis, $(basename $(TGT)))
OBJ = $(addsuffix .o, $(basename $(SRC)))
MAP = $(addsuffix .map, $(basename $(TGT)))
LDS = sections.lds
 
AS = $(AMBER_CROSSTOOL)-as
CC = $(AMBER_CROSSTOOL)-gcc
CXX = $(AMBER_CROSSTOOL)-g++
AR = $(AMBER_CROSSTOOL)-ar
LD = $(AMBER_CROSSTOOL)-ld
DS = $(AMBER_CROSSTOOL)-objdump
OC = $(AMBER_CROSSTOOL)-objcopy
ELF = ../../sw/tools/amber-elfsplitter
BMF = ../../sw/tools/amber-memparams.sh
AS = $(AMBER_CROSSTOOL)-as
CC = $(AMBER_CROSSTOOL)-gcc
CXX = $(AMBER_CROSSTOOL)-g++
AR = $(AMBER_CROSSTOOL)-ar
LD = $(AMBER_CROSSTOOL)-ld
DS = $(AMBER_CROSSTOOL)-objdump
OC = $(AMBER_CROSSTOOL)-objcopy
ELF = ../../sw/tools/amber-elfsplitter
BMF32 = ../../sw/tools/amber-memparams32.sh
BMF128 = ../../sw/tools/amber-memparams128.sh
ASFLAGS = -I../../sw/include
CFLAGS = -c -march=armv2a -mno-thumb-interwork -I../../sw/include
71,11 → 73,14
LDFLAGS = -Bstatic -Map $(MAP) --fix-v4bx
 
all: $(ELF) $(MMP) $(DIS)
all: $(ELF) $(MMP32) $(MMP128) $(DIS)
 
$(MMP): $(MEM)
$(BMF) $(MEM) $(MMP)
$(MMP32): $(MEM)
$(BMF32) $(MEM) $(MMP32)
 
$(MMP128): $(MEM)
$(BMF128) $(MEM) $(MMP128)
 
$(MEM): $(TGT)
$(ELF) $(TGT) > $(MEM)
 
92,5 → 97,5
$(MAKE) -C $(TOOLSPATH)
 
clean:
@rm -rfv *.o *.elf *.dis *.map *.mem *_memparams.v
@rm -rfv *.o *.elf *.dis *.map *.mem *_memparams*.v
 
/barrel_shift.S
39,53 → 39,114
*****************************************************************/
 
#include "amber_registers.h"
#include "amber_macros.h"
 
.section .text
.globl main
main:
 
@ Run through the test 4 times
@ 1 - cache off
@ 2 - cache on but empty
@ 3 - cache on and loaded
@ 4 - same as 3
mov r10, #4
 
 
/* lsl 0 */
mov r1, #1
1: mov r1, #1
mov r2, r1, lsl #0
mov r3, #0x1
cmp r2, r3
bne testfail
expect r2, 1, __LINE__
 
/* lsl 1 */
mov r4, #1
mov r5, r4, lsl #1
mov r6, #2
cmp r5, r6
bne testfail
expect r5, 2, __LINE__
/* lsl 31 */
mov r7, #1
mov r8, r1, lsl #31
mov r9, #0x80000000
cmp r8, r9
bne testfail
expect r8, 0x80000000, __LINE__
/* lsr 1 */
mov r1, #2
mov r2, r1, lsr #1
mov r3, #0x1
cmp r2, r3
bne testfail
expect r2, 1, __LINE__
/* lsr 8 */
mov r4, #0xff00
mov r5, r4, lsr #8
cmp r5, #0xff
bne testfail
expect r5, 0xff, __LINE__
/* ror 8 */
ldr r6, Data1
mov r7, r6, ror #8
ldr r8, Data2
cmp r7, r8
bne testfail
compare r7, r8, __LINE__
 
 
@ ---------------------
@ Sequences of shift operations
@ ---------------------
 
@ lsl
mov r0, #0
mov r1, #1
mov r2, #2
mov r3, #3
mov r4, #4
mov r5, #5
mov r6, r3, lsl #31
mov r7, r0, lsl #2
mov r8, r1, lsl #11
mov r9, r2, lsl #17
expect r6, 0x80000000, __LINE__
expect r7, 0x00000000, __LINE__
expect r8, 0x00000800, __LINE__
expect r9, 0x00040000, __LINE__
 
mov r6, r3, lsl #30
mov r7, r1, lsl #2
mov r8, r2, lsl #4
mov r9, r3, lsl #5
expect r6, 0xc0000000, __LINE__
expect r7, 0x00000004, __LINE__
expect r8, 0x00000020, __LINE__
expect r9, 0x00000060, __LINE__
 
@ lsr
mov r0, #0x80000000
mov r1, #0x7f000000
mov r2, #0x80000001
mov r3, #0x7fffffff
mov r4, #0x7ffffffe
mov r5, #0x55000000
orr r5, r5, #0x55
 
mov r6, r0, lsr #1
mov r7, r0, lsr #2
mov r8, r1, lsr #24
mov r9, r2, lsr #1
expect r6, 0x40000000, __LINE__
expect r7, 0x20000000, __LINE__
expect r8, 0x0000007f, __LINE__
expect r9, 0x40000000, __LINE__
 
@ ---------------------
@ Enable the cache
@ ---------------------
mvn r0, #0
mcr 15, 0, r0, cr3, cr0, 0 @ cacheable area
mov r0, #1
mcr 15, 0, r0, cr2, cr0, 0 @ cache enable
 
subs r10, r10, #1
bne 1b
b testpass
 
/.
. Property changes : Modified: svn:ignore ## -1,5 +1,5 ## *.elf -*_memparams.v +*_memparams*.v *.map *.mem *.dis

powered by: WebSVN 2.1.0

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