0001
0002
0003
0004
0005
0006 #include <ppc-asm.h>
0007
0008 .text
0009
0010 FUNC_START(core_busy_loop)
0011 stdu %r1, -168(%r1)
0012 std r14, 160(%r1)
0013 std r15, 152(%r1)
0014 std r16, 144(%r1)
0015 std r17, 136(%r1)
0016 std r18, 128(%r1)
0017 std r19, 120(%r1)
0018 std r20, 112(%r1)
0019 std r21, 104(%r1)
0020 std r22, 96(%r1)
0021 std r23, 88(%r1)
0022 std r24, 80(%r1)
0023 std r25, 72(%r1)
0024 std r26, 64(%r1)
0025 std r27, 56(%r1)
0026 std r28, 48(%r1)
0027 std r29, 40(%r1)
0028 std r30, 32(%r1)
0029 std r31, 24(%r1)
0030
0031 li r3, 0x3030
0032 std r3, -96(%r1)
0033 li r4, 0x4040
0034 std r4, -104(%r1)
0035 li r5, 0x5050
0036 std r5, -112(%r1)
0037 li r6, 0x6060
0038 std r6, -120(%r1)
0039 li r7, 0x7070
0040 std r7, -128(%r1)
0041 li r8, 0x0808
0042 std r8, -136(%r1)
0043 li r9, 0x0909
0044 std r9, -144(%r1)
0045 li r10, 0x1010
0046 std r10, -152(%r1)
0047 li r11, 0x1111
0048 std r11, -160(%r1)
0049 li r14, 0x1414
0050 std r14, -168(%r1)
0051 li r15, 0x1515
0052 std r15, -176(%r1)
0053 li r16, 0x1616
0054 std r16, -184(%r1)
0055 li r17, 0x1717
0056 std r17, -192(%r1)
0057 li r18, 0x1818
0058 std r18, -200(%r1)
0059 li r19, 0x1919
0060 std r19, -208(%r1)
0061 li r20, 0x2020
0062 std r20, -216(%r1)
0063 li r21, 0x2121
0064 std r21, -224(%r1)
0065 li r22, 0x2222
0066 std r22, -232(%r1)
0067 li r23, 0x2323
0068 std r23, -240(%r1)
0069 li r24, 0x2424
0070 std r24, -248(%r1)
0071 li r25, 0x2525
0072 std r25, -256(%r1)
0073 li r26, 0x2626
0074 std r26, -264(%r1)
0075 li r27, 0x2727
0076 std r27, -272(%r1)
0077 li r28, 0x2828
0078 std r28, -280(%r1)
0079 li r29, 0x2929
0080 std r29, -288(%r1)
0081 li r30, 0x3030
0082 li r31, 0x3131
0083
0084 li r3, 0
0085 0: addi r3, r3, 1
0086 cmpwi r3, 100
0087 blt 0b
0088
0089
0090 li r3, 1
0091
0092
0093 cmpwi r4, 0x4040
0094 bne 1f
0095 cmpwi r5, 0x5050
0096 bne 1f
0097 cmpwi r6, 0x6060
0098 bne 1f
0099 cmpwi r7, 0x7070
0100 bne 1f
0101 cmpwi r8, 0x0808
0102 bne 1f
0103 cmpwi r9, 0x0909
0104 bne 1f
0105 cmpwi r10, 0x1010
0106 bne 1f
0107 cmpwi r11, 0x1111
0108 bne 1f
0109 cmpwi r14, 0x1414
0110 bne 1f
0111 cmpwi r15, 0x1515
0112 bne 1f
0113 cmpwi r16, 0x1616
0114 bne 1f
0115 cmpwi r17, 0x1717
0116 bne 1f
0117 cmpwi r18, 0x1818
0118 bne 1f
0119 cmpwi r19, 0x1919
0120 bne 1f
0121 cmpwi r20, 0x2020
0122 bne 1f
0123 cmpwi r21, 0x2121
0124 bne 1f
0125 cmpwi r22, 0x2222
0126 bne 1f
0127 cmpwi r23, 0x2323
0128 bne 1f
0129 cmpwi r24, 0x2424
0130 bne 1f
0131 cmpwi r25, 0x2525
0132 bne 1f
0133 cmpwi r26, 0x2626
0134 bne 1f
0135 cmpwi r27, 0x2727
0136 bne 1f
0137 cmpwi r28, 0x2828
0138 bne 1f
0139 cmpwi r29, 0x2929
0140 bne 1f
0141 cmpwi r30, 0x3030
0142 bne 1f
0143 cmpwi r31, 0x3131
0144 bne 1f
0145
0146
0147 li r3, 0xde
0148 li r4, 0xad
0149 li r5, 0xbe
0150 li r6, 0xef
0151 li r7, 0xde
0152 li r8, 0xad
0153 li r9, 0xbe
0154 li r10, 0xef
0155 li r11, 0xde
0156 li r14, 0xad
0157 li r15, 0xbe
0158 li r16, 0xef
0159 li r17, 0xde
0160 li r18, 0xad
0161 li r19, 0xbe
0162 li r20, 0xef
0163 li r21, 0xde
0164 li r22, 0xad
0165 li r23, 0xbe
0166 li r24, 0xef
0167 li r25, 0xde
0168 li r26, 0xad
0169 li r27, 0xbe
0170 li r28, 0xef
0171 li r29, 0xdd
0172
0173 ld r3, -96(%r1)
0174 cmpwi r3, 0x3030
0175 bne 1f
0176 ld r4, -104(%r1)
0177 cmpwi r4, 0x4040
0178 bne 1f
0179 ld r5, -112(%r1)
0180 cmpwi r5, 0x5050
0181 bne 1f
0182 ld r6, -120(%r1)
0183 cmpwi r6, 0x6060
0184 bne 1f
0185 ld r7, -128(%r1)
0186 cmpwi r7, 0x7070
0187 bne 1f
0188 ld r8, -136(%r1)
0189 cmpwi r8, 0x0808
0190 bne 1f
0191 ld r9, -144(%r1)
0192 cmpwi r9, 0x0909
0193 bne 1f
0194 ld r10, -152(%r1)
0195 cmpwi r10, 0x1010
0196 bne 1f
0197 ld r11, -160(%r1)
0198 cmpwi r11, 0x1111
0199 bne 1f
0200 ld r14, -168(%r1)
0201 cmpwi r14, 0x1414
0202 bne 1f
0203 ld r15, -176(%r1)
0204 cmpwi r15, 0x1515
0205 bne 1f
0206 ld r16, -184(%r1)
0207 cmpwi r16, 0x1616
0208 bne 1f
0209 ld r17, -192(%r1)
0210 cmpwi r17, 0x1717
0211 bne 1f
0212 ld r18, -200(%r1)
0213 cmpwi r18, 0x1818
0214 bne 1f
0215 ld r19, -208(%r1)
0216 cmpwi r19, 0x1919
0217 bne 1f
0218 ld r20, -216(%r1)
0219 cmpwi r20, 0x2020
0220 bne 1f
0221 ld r21, -224(%r1)
0222 cmpwi r21, 0x2121
0223 bne 1f
0224 ld r22, -232(%r1)
0225 cmpwi r22, 0x2222
0226 bne 1f
0227 ld r23, -240(%r1)
0228 cmpwi r23, 0x2323
0229 bne 1f
0230 ld r24, -248(%r1)
0231 cmpwi r24, 0x2424
0232 bne 1f
0233 ld r25, -256(%r1)
0234 cmpwi r25, 0x2525
0235 bne 1f
0236 ld r26, -264(%r1)
0237 cmpwi r26, 0x2626
0238 bne 1f
0239 ld r27, -272(%r1)
0240 cmpwi r27, 0x2727
0241 bne 1f
0242 ld r28, -280(%r1)
0243 cmpwi r28, 0x2828
0244 bne 1f
0245 ld r29, -288(%r1)
0246 cmpwi r29, 0x2929
0247 bne 1f
0248
0249
0250 li r3, 0
0251
0252 1: ld r14, 160(%r1)
0253 ld r15, 152(%r1)
0254 ld r16, 144(%r1)
0255 ld r17, 136(%r1)
0256 ld r18, 128(%r1)
0257 ld r19, 120(%r1)
0258 ld r20, 112(%r1)
0259 ld r21, 104(%r1)
0260 ld r22, 96(%r1)
0261 ld r23, 88(%r1)
0262 ld r24, 80(%r1)
0263 ld r25, 72(%r1)
0264 ld r26, 64(%r1)
0265 ld r27, 56(%r1)
0266 ld r28, 48(%r1)
0267 ld r29, 40(%r1)
0268 ld r30, 32(%r1)
0269 ld r31, 24(%r1)
0270 addi %r1, %r1, 168
0271 blr