Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
Arm Trusted Firmware
Commits
a5a42310
Commit
a5a42310
authored
8 years ago
by
davidcunado-arm
Committed by
GitHub
8 years ago
Browse files
Options
Download
Plain Diff
Merge pull request #719 from yatharth-arm/yk/AArch32_porting_memcpy
AArch32: Add `memcpy4` function in assembly
parents
ecc95909
9c1dceb1
master
v2.5
v2.5-rc1
v2.5-rc0
v2.4
v2.4-rc2
v2.4-rc1
v2.4-rc0
v2.3
v2.3-rc2
v2.3-rc1
v2.3-rc0
v2.2
v2.2-rc2
v2.2-rc1
v2.2-rc0
v2.1
v2.1-rc1
v2.1-rc0
v2.0
v2.0-rc0
v1.6
v1.6-rc1
v1.6-rc0
v1.5
v1.5-rc3
v1.5-rc2
v1.5-rc1
v1.5-rc0
v1.4
v1.4-rc0
v1.3
v1.3_rc2
arm_cca_v0.2
arm_cca_v0.1
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
include/common/aarch32/el3_common_macros.S
+1
-1
include/common/aarch32/el3_common_macros.S
lib/aarch32/misc_helpers.S
+35
-0
lib/aarch32/misc_helpers.S
with
36 additions
and
1 deletion
+36
-1
include/common/aarch32/el3_common_macros.S
View file @
a5a42310
...
...
@@ -261,7 +261,7 @@
ldr
r0
,
=
__DATA_RAM_START__
ldr
r1
,
=
__DATA_ROM_START__
ldr
r2
,
=
__DATA_SIZE__
bl
memcpy
bl
memcpy
4
#endif
.
endif
/*
_init_c_runtime
*/
...
...
This diff is collapsed.
Click to expand it.
lib/aarch32/misc_helpers.S
View file @
a5a42310
...
...
@@ -34,6 +34,7 @@
.
globl
smc
.
globl
zeromem
.
globl
memcpy4
.
globl
disable_mmu_icache_secure
.
globl
disable_mmu_secure
...
...
@@ -73,6 +74,40 @@ z_end:
bx
lr
endfunc
zeromem
/*
--------------------------------------------------------------------------
*
void
memcpy4
(
void
*
dest
,
const
void
*
src
,
unsigned
int
length
)
*
*
Copy
length
bytes
from
memory
area
src
to
memory
area
dest
.
*
The
memory
areas
should
not
overlap
.
*
Destination
and
source
addresses
must
be
4
-
byte
aligned
.
*
--------------------------------------------------------------------------
*/
func
memcpy4
#if ASM_ASSERTION
orr
r3
,
r0
,
r1
tst
r3
,
#
0x3
ASM_ASSERT
(
eq
)
#endif
/*
copy
4
bytes
at
a
time
*/
m_loop4
:
cmp
r2
,
#
4
blt
m_loop1
ldr
r3
,
[
r1
],
#
4
str
r3
,
[
r0
],
#
4
sub
r2
,
r2
,
#
4
b
m_loop4
/*
copy
byte
per
byte
*/
m_loop1
:
cmp
r2
,#
0
beq
m_end
ldrb
r3
,
[
r1
],
#
1
strb
r3
,
[
r0
],
#
1
subs
r2
,
r2
,
#
1
bne
m_loop1
m_end
:
bx
lr
endfunc
memcpy4
/*
---------------------------------------------------------------------------
*
Disable
the
MMU
in
Secure
State
*
---------------------------------------------------------------------------
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment
Menu
Projects
Groups
Snippets
Help