Commit ab139902 authored by davidcunado-arm's avatar davidcunado-arm Committed by GitHub
Browse files

Merge pull request #870 from douglas-raillard-arm/dr/remove_asm_signed_test

Replace ASM signed tests with unsigned
parents 1ae5c8bb 768baf6e
...@@ -118,7 +118,7 @@ loop1: ...@@ -118,7 +118,7 @@ loop1:
mov r12, r2, LSR r10 // extract cache type bits from clidr mov r12, r2, LSR r10 // extract cache type bits from clidr
and r12, r12, #7 // mask the bits for current cache only and r12, r12, #7 // mask the bits for current cache only
cmp r12, #2 // see what cache we have at this level cmp r12, #2 // see what cache we have at this level
blt level_done // no cache or only instruction cache at this level blo level_done // no cache or only instruction cache at this level
stcopr r1, CSSELR // select current cache level in csselr stcopr r1, CSSELR // select current cache level in csselr
isb // isb to sych the new cssr&csidr isb // isb to sych the new cssr&csidr
...@@ -138,14 +138,14 @@ loop3: ...@@ -138,14 +138,14 @@ loop3:
blx r6 blx r6
subs r7, r7, #1 // decrement the set number subs r7, r7, #1 // decrement the set number
bge loop3 bhs loop3
subs r9, r9, #1 // decrement the way number subs r9, r9, #1 // decrement the way number
bge loop2 bhs loop2
level_done: level_done:
add r1, r1, #2 // increment the cache number add r1, r1, #2 // increment the cache number
cmp r3, r1 cmp r3, r1
dsb sy // ensure completion of previous cache maintenance instruction dsb sy // ensure completion of previous cache maintenance instruction
bgt loop1 bhi loop1
mov r6, #0 mov r6, #0
stcopr r6, CSSELR //select cache level 0 in csselr stcopr r6, CSSELR //select cache level 0 in csselr
......
...@@ -170,7 +170,7 @@ func memcpy4 ...@@ -170,7 +170,7 @@ func memcpy4
/* copy 4 bytes at a time */ /* copy 4 bytes at a time */
m_loop4: m_loop4:
cmp r2, #4 cmp r2, #4
blt m_loop1 blo m_loop1
ldr r3, [r1], #4 ldr r3, [r1], #4
str r3, [r0], #4 str r3, [r0], #4
sub r2, r2, #4 sub r2, r2, #4
......
...@@ -119,7 +119,7 @@ loop1: ...@@ -119,7 +119,7 @@ loop1:
lsr x1, x0, x2 // extract cache type bits from clidr lsr x1, x0, x2 // extract cache type bits from clidr
and x1, x1, #7 // mask the bits for current cache only and x1, x1, #7 // mask the bits for current cache only
cmp x1, #2 // see what cache we have at this level cmp x1, #2 // see what cache we have at this level
b.lt level_done // nothing to do if no cache or icache b.lo level_done // nothing to do if no cache or icache
msr csselr_el1, x10 // select current cache level in csselr msr csselr_el1, x10 // select current cache level in csselr
isb // isb to sych the new cssr&csidr isb // isb to sych the new cssr&csidr
...@@ -144,10 +144,10 @@ loop3_\_op: ...@@ -144,10 +144,10 @@ loop3_\_op:
orr w11, w9, w7 // combine cache, way and set number orr w11, w9, w7 // combine cache, way and set number
dc \_op, x11 dc \_op, x11
subs w7, w7, w17 // decrement set number subs w7, w7, w17 // decrement set number
b.ge loop3_\_op b.hs loop3_\_op
subs x9, x9, x16 // decrement way number subs x9, x9, x16 // decrement way number
b.ge loop2_\_op b.hs loop2_\_op
b level_done b level_done
.endm .endm
...@@ -155,7 +155,7 @@ loop3_\_op: ...@@ -155,7 +155,7 @@ loop3_\_op:
level_done: level_done:
add x10, x10, #2 // increment cache number add x10, x10, #2 // increment cache number
cmp x3, x10 cmp x3, x10
b.gt loop1 b.hi loop1
msr csselr_el1, xzr // select cache level 0 in csselr msr csselr_el1, xzr // select cache level 0 in csselr
dsb sy // barrier to complete final cache operation dsb sy // barrier to complete final cache operation
isb isb
......
...@@ -157,7 +157,7 @@ func get_cpu_ops_ptr ...@@ -157,7 +157,7 @@ func get_cpu_ops_ptr
1: 1:
/* Check if we have reached end of list */ /* Check if we have reached end of list */
cmp r4, r5 cmp r4, r5
bge error_exit bhs error_exit
/* load the midr from the cpu_ops */ /* load the midr from the cpu_ops */
ldr r1, [r4], #CPU_OPS_SIZE ldr r1, [r4], #CPU_OPS_SIZE
......
...@@ -289,7 +289,7 @@ func plat_reset_handler ...@@ -289,7 +289,7 @@ func plat_reset_handler
mov x2, #BL31_SIZE mov x2, #BL31_SIZE
_loop16: _loop16:
cmp x2, #16 cmp x2, #16
b.lt _loop1 b.lo _loop1
ldp x3, x4, [x1], #16 ldp x3, x4, [x1], #16
stp x3, x4, [x0], #16 stp x3, x4, [x0], #16
sub x2, x2, #16 sub x2, x2, #16
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment