0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 #include <asm/spu_csa.h>
0013
0014 .data
0015 .align 7
0016 .globl regs_spill
0017 regs_spill:
0018 .space SIZEOF_SPU_SPILL_REGS, 0x0
0019
0020 .text
0021 .global _start
0022 _start:
0023
0024 stqa $0, regs_spill + 0
0025 stqa $1, regs_spill + 16
0026 stqa $2, regs_spill + 32
0027 stqa $3, regs_spill + 48
0028 stqa $4, regs_spill + 64
0029 stqa $5, regs_spill + 80
0030 stqa $6, regs_spill + 96
0031 stqa $7, regs_spill + 112
0032 stqa $8, regs_spill + 128
0033 stqa $9, regs_spill + 144
0034 stqa $10, regs_spill + 160
0035 stqa $11, regs_spill + 176
0036 stqa $12, regs_spill + 192
0037 stqa $13, regs_spill + 208
0038 stqa $14, regs_spill + 224
0039 stqa $15, regs_spill + 240
0040
0041
0042 ila $3, regs_spill + 256
0043 save_regs:
0044 lqr $4, save_reg_insts
0045 save_reg_loop:
0046 ai $4, $4, 4
0047 .balignl 16, 0x40200000
0048 save_reg_insts:
0049 stqd $16, 0($3)
0050 stqd $17, 16($3)
0051 stqd $18, 32($3)
0052 stqd $19, 48($3)
0053 andi $5, $4, 0x7F
0054 stqr $4, save_reg_insts
0055 ai $3, $3, 64
0056 brnz $5, save_reg_loop
0057
0058
0059
0060
0061
0062 il $0, 0
0063 il $SP, 16368
0064 stqd $0, 0($SP)
0065
0066
0067
0068
0069
0070 stqd $SP, -160($SP)
0071 ai $SP, $SP, -160
0072
0073
0074 brsl $0, main
0075
0076
0077
0078
0079
0080 .global exit
0081 .global _exit
0082 exit:
0083 _exit:
0084 stop 0x0
0085
0086
0087 .balignl 16, 0x0
0088