summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libcpu/powerpc/mpc55xx/misc/copy.S
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libcpu/powerpc/mpc55xx/misc/copy.S')
-rw-r--r--c/src/lib/libcpu/powerpc/mpc55xx/misc/copy.S81
1 files changed, 0 insertions, 81 deletions
diff --git a/c/src/lib/libcpu/powerpc/mpc55xx/misc/copy.S b/c/src/lib/libcpu/powerpc/mpc55xx/misc/copy.S
deleted file mode 100644
index f993936752..0000000000
--- a/c/src/lib/libcpu/powerpc/mpc55xx/misc/copy.S
+++ /dev/null
@@ -1,81 +0,0 @@
-/**
- * @file
- *
- * @ingroup mpc55xx_asm
- *
- * @brief Memory copy functions.
- */
-
-/*
- * Copyright (c) 2008
- * Embedded Brains GmbH
- * Obere Lagerstr. 30
- * D-82178 Puchheim
- * Germany
- * rtems@embedded-brains.de
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#include <libcpu/powerpc-utility.h>
-#include <bspopts.h>
-
- .section ".bsp_start_text", "ax"
-
-/**
- * @fn int mpc55xx_copy_8( const void *src, void *dest, size_t n)
- *
- * @brief Copy @a n bytes from @a src to @a dest with 8 byte reads and writes.
- *
- * The memory areas should not overlap. The addresses @a src and @a dest have
- * to be aligned on 8 byte boundaries. The size @a n must be evenly divisible by 8.
- * The SPE operations @b evxor, @b evlddx and @b evstddx will be used.
- */
-#if ((MPC55XX_CHIP_TYPE>=5510) && (MPC55XX_CHIP_TYPE<=5517))
-GLOBAL_FUNCTION mpc55xx_copy_8
-#endif /* ((MPC55XX_CHIP_TYPE>=5510) && (MPC55XX_CHIP_TYPE<=5517)) */
-GLOBAL_FUNCTION mpc55xx_copy_4
- /* Loop counter = data size / 4 */
- srwi. r5, r5, 2
- beqlr
- mtctr r5
- xor r5,r5,r5
-copy_data4:
- lwzx r6, r5, r3
- stwx r6, r5, r4
- addi r5, r5, 4
- bdnz copy_data4
-
- /* Return */
- blr
-
-#if !((MPC55XX_CHIP_TYPE>=5510) && (MPC55XX_CHIP_TYPE<=5517))
-/**
- * @fn int mpc55xx_copy_8( const void *src, void *dest, size_t n)
- *
- * @brief Copy @a n bytes from @a src to @a dest with 8 byte reads and writes.
- *
- * The memory areas should not overlap. The addresses @a src and @a dest have
- * to be aligned on 8 byte boundaries. The size @a n must be evenly divisible by 8.
- * The SPE operations @b evxor, @b evlddx and @b evstddx will be used.
- */
-GLOBAL_FUNCTION mpc55xx_copy_8
- /* Loop counter = data size / 8 */
- srwi. r5, r5, 3
- beqlr
- mtctr r5
-
- /* Set offset */
- evxor r5, r5, r5
-
-copy_data:
- evlddx r6, r3, r5
- evstddx r6, r4, r5
- addi r5, r5, 8
- bdnz copy_data
-
- /* Return */
- blr
-#endif /*!((MPC55XX_CHIP_TYPE>=5510) && (MPC55XX_CHIP_TYPE<=5517))*/