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