summaryrefslogtreecommitdiff
path: root/arch/xtensa/boot/lib/memcpy.S
blob: a029f5df2d5c9e444a97bf7570d0adc3fd7a1665 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
/*
 *  arch/xtensa/lib/memcpy.S
 *
 *  ANSI C standard library function memcpy
 *
 *  This file is subject to the terms and conditions of the GNU General
 *  Public License.  See the file "COPYING" in the main directory of
 *  this archive for more details.
 *
 *  Copyright (C) 2002 Tensilica Inc.
 */

#define _ASMLANGUAGE
#include <xtensa/config/core.h>

.text
.align	4
.global	bcopy
.type   bcopy,@function
bcopy:
        movi    a14, xthal_bcopy        // a14 safe to use regardless of whether caller
                                        //   used call4 or call8 (can't have used call12)
        jx      a14                     // let the Core HAL do the work

.text
.align	4
.global	memcpy
.type   memcpy,@function
memcpy:
.global	memmove
.type   memmove,@function
memmove:
        movi    a14, xthal_memcpy      // a14 safe to use regardless of whether caller
                                        //   used call4 or call8 (can't have used call12)
        jx      a14                     // let the Core HAL do the work