diff options
Diffstat (limited to 'powerpc/pmu/ebb/busy_loop.S')
-rw-r--r-- | powerpc/pmu/ebb/busy_loop.S | 271 |
1 files changed, 0 insertions, 271 deletions
diff --git a/powerpc/pmu/ebb/busy_loop.S b/powerpc/pmu/ebb/busy_loop.S deleted file mode 100644 index c7e4093..0000000 --- a/powerpc/pmu/ebb/busy_loop.S +++ /dev/null @@ -1,271 +0,0 @@ -/* - * Copyright 2014, Michael Ellerman, IBM Corp. - * Licensed under GPLv2. - */ - -#include <ppc-asm.h> - - .text - -FUNC_START(core_busy_loop) - stdu %r1, -168(%r1) - std r14, 160(%r1) - std r15, 152(%r1) - std r16, 144(%r1) - std r17, 136(%r1) - std r18, 128(%r1) - std r19, 120(%r1) - std r20, 112(%r1) - std r21, 104(%r1) - std r22, 96(%r1) - std r23, 88(%r1) - std r24, 80(%r1) - std r25, 72(%r1) - std r26, 64(%r1) - std r27, 56(%r1) - std r28, 48(%r1) - std r29, 40(%r1) - std r30, 32(%r1) - std r31, 24(%r1) - - li r3, 0x3030 - std r3, -96(%r1) - li r4, 0x4040 - std r4, -104(%r1) - li r5, 0x5050 - std r5, -112(%r1) - li r6, 0x6060 - std r6, -120(%r1) - li r7, 0x7070 - std r7, -128(%r1) - li r8, 0x0808 - std r8, -136(%r1) - li r9, 0x0909 - std r9, -144(%r1) - li r10, 0x1010 - std r10, -152(%r1) - li r11, 0x1111 - std r11, -160(%r1) - li r14, 0x1414 - std r14, -168(%r1) - li r15, 0x1515 - std r15, -176(%r1) - li r16, 0x1616 - std r16, -184(%r1) - li r17, 0x1717 - std r17, -192(%r1) - li r18, 0x1818 - std r18, -200(%r1) - li r19, 0x1919 - std r19, -208(%r1) - li r20, 0x2020 - std r20, -216(%r1) - li r21, 0x2121 - std r21, -224(%r1) - li r22, 0x2222 - std r22, -232(%r1) - li r23, 0x2323 - std r23, -240(%r1) - li r24, 0x2424 - std r24, -248(%r1) - li r25, 0x2525 - std r25, -256(%r1) - li r26, 0x2626 - std r26, -264(%r1) - li r27, 0x2727 - std r27, -272(%r1) - li r28, 0x2828 - std r28, -280(%r1) - li r29, 0x2929 - std r29, -288(%r1) - li r30, 0x3030 - li r31, 0x3131 - - li r3, 0 -0: addi r3, r3, 1 - cmpwi r3, 100 - blt 0b - - /* Return 1 (fail) unless we get through all the checks */ - li r3, 1 - - /* Check none of our registers have been corrupted */ - cmpwi r4, 0x4040 - bne 1f - cmpwi r5, 0x5050 - bne 1f - cmpwi r6, 0x6060 - bne 1f - cmpwi r7, 0x7070 - bne 1f - cmpwi r8, 0x0808 - bne 1f - cmpwi r9, 0x0909 - bne 1f - cmpwi r10, 0x1010 - bne 1f - cmpwi r11, 0x1111 - bne 1f - cmpwi r14, 0x1414 - bne 1f - cmpwi r15, 0x1515 - bne 1f - cmpwi r16, 0x1616 - bne 1f - cmpwi r17, 0x1717 - bne 1f - cmpwi r18, 0x1818 - bne 1f - cmpwi r19, 0x1919 - bne 1f - cmpwi r20, 0x2020 - bne 1f - cmpwi r21, 0x2121 - bne 1f - cmpwi r22, 0x2222 - bne 1f - cmpwi r23, 0x2323 - bne 1f - cmpwi r24, 0x2424 - bne 1f - cmpwi r25, 0x2525 - bne 1f - cmpwi r26, 0x2626 - bne 1f - cmpwi r27, 0x2727 - bne 1f - cmpwi r28, 0x2828 - bne 1f - cmpwi r29, 0x2929 - bne 1f - cmpwi r30, 0x3030 - bne 1f - cmpwi r31, 0x3131 - bne 1f - - /* Load junk into all our registers before we reload them from the stack. */ - li r3, 0xde - li r4, 0xad - li r5, 0xbe - li r6, 0xef - li r7, 0xde - li r8, 0xad - li r9, 0xbe - li r10, 0xef - li r11, 0xde - li r14, 0xad - li r15, 0xbe - li r16, 0xef - li r17, 0xde - li r18, 0xad - li r19, 0xbe - li r20, 0xef - li r21, 0xde - li r22, 0xad - li r23, 0xbe - li r24, 0xef - li r25, 0xde - li r26, 0xad - li r27, 0xbe - li r28, 0xef - li r29, 0xdd - - ld r3, -96(%r1) - cmpwi r3, 0x3030 - bne 1f - ld r4, -104(%r1) - cmpwi r4, 0x4040 - bne 1f - ld r5, -112(%r1) - cmpwi r5, 0x5050 - bne 1f - ld r6, -120(%r1) - cmpwi r6, 0x6060 - bne 1f - ld r7, -128(%r1) - cmpwi r7, 0x7070 - bne 1f - ld r8, -136(%r1) - cmpwi r8, 0x0808 - bne 1f - ld r9, -144(%r1) - cmpwi r9, 0x0909 - bne 1f - ld r10, -152(%r1) - cmpwi r10, 0x1010 - bne 1f - ld r11, -160(%r1) - cmpwi r11, 0x1111 - bne 1f - ld r14, -168(%r1) - cmpwi r14, 0x1414 - bne 1f - ld r15, -176(%r1) - cmpwi r15, 0x1515 - bne 1f - ld r16, -184(%r1) - cmpwi r16, 0x1616 - bne 1f - ld r17, -192(%r1) - cmpwi r17, 0x1717 - bne 1f - ld r18, -200(%r1) - cmpwi r18, 0x1818 - bne 1f - ld r19, -208(%r1) - cmpwi r19, 0x1919 - bne 1f - ld r20, -216(%r1) - cmpwi r20, 0x2020 - bne 1f - ld r21, -224(%r1) - cmpwi r21, 0x2121 - bne 1f - ld r22, -232(%r1) - cmpwi r22, 0x2222 - bne 1f - ld r23, -240(%r1) - cmpwi r23, 0x2323 - bne 1f - ld r24, -248(%r1) - cmpwi r24, 0x2424 - bne 1f - ld r25, -256(%r1) - cmpwi r25, 0x2525 - bne 1f - ld r26, -264(%r1) - cmpwi r26, 0x2626 - bne 1f - ld r27, -272(%r1) - cmpwi r27, 0x2727 - bne 1f - ld r28, -280(%r1) - cmpwi r28, 0x2828 - bne 1f - ld r29, -288(%r1) - cmpwi r29, 0x2929 - bne 1f - - /* Load 0 (success) to return */ - li r3, 0 - -1: ld r14, 160(%r1) - ld r15, 152(%r1) - ld r16, 144(%r1) - ld r17, 136(%r1) - ld r18, 128(%r1) - ld r19, 120(%r1) - ld r20, 112(%r1) - ld r21, 104(%r1) - ld r22, 96(%r1) - ld r23, 88(%r1) - ld r24, 80(%r1) - ld r25, 72(%r1) - ld r26, 64(%r1) - ld r27, 56(%r1) - ld r28, 48(%r1) - ld r29, 40(%r1) - ld r30, 32(%r1) - ld r31, 24(%r1) - addi %r1, %r1, 168 - blr |