diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2013-05-07 10:14:55 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2013-05-10 12:10:14 +0200 |
commit | 39993d6d7693b9fd26d729efd199cc605cd2ae65 (patch) | |
tree | d06b29ef4cd1d68223c25e9de9069b445bf4aed1 /cpukit/score/cpu/powerpc/ppc-context-volatile-clobber.S | |
parent | arm: Add FUNCTION_THUMB_ENTRY(), etc. (diff) | |
download | rtems-39993d6d7693b9fd26d729efd199cc605cd2ae65.tar.bz2 |
score: Add CPU context validation
Diffstat (limited to '')
-rw-r--r-- | cpukit/score/cpu/powerpc/ppc-context-volatile-clobber.S | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/cpukit/score/cpu/powerpc/ppc-context-volatile-clobber.S b/cpukit/score/cpu/powerpc/ppc-context-volatile-clobber.S new file mode 100644 index 0000000000..f4a5721df6 --- /dev/null +++ b/cpukit/score/cpu/powerpc/ppc-context-volatile-clobber.S @@ -0,0 +1,45 @@ +/* + * Copyright (c) 2013 embedded brains GmbH. All rights reserved. + * + * embedded brains GmbH + * Dornierstr. 4 + * 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.com/license/LICENSE. + */ + +#ifdef HAVE_CONFIG_H + #include "config.h" +#endif + +#include <rtems/asm.h> + + .global _CPU_Context_volatile_clobber + +_CPU_Context_volatile_clobber: + + addi r4, r3, 10 + rlwinm r4, r4, 0, 20, 7 + mfcr r5 + rlwinm r5, r5, 0, 8, 19 + or r4, r4, r5 + mtcr r4 + addi r4, r3, 11 + mtctr r4 + addi r4, r3, 12 + mtxer r4 + addi r0, r3, 13 + addi r4, r3, 1 + addi r5, r3, 2 + addi r6, r3, 3 + addi r7, r3, 4 + addi r8, r3, 5 + addi r9, r3, 6 + addi r10, r3, 7 + addi r11, r3, 8 + addi r12, r3, 9 + blr |