/* SPDX-License-Identifier: GPL-2.0-or-later */ /* * crt0_r.S: Entry function for SPU-side context restore. * * Copyright (C) 2005 IBM * * Entry and exit function for SPU-side of the context restore * sequence. Sets up an initial stack frame, then branches to * 'main'. On return, restores all 128 registers from the LSCSA * and exits.
*/
.text
.global _start
_start: /* Initialize the stack pointer to point to 16368 * (16kb-16). The back chain pointer is initialized * to NULL.
*/
il $0, 0
il $SP, 16368
stqd $0, 0($SP)
/* Allocate a minimum stack frame for the called main. * This is needed so that main has a place to save the * link register when it calls another function.
*/
stqd $SP, -160($SP)
ai $SP, $SP, -160
/* Call the program's main function. */
brsl $0, main
/* Under normal circumstances, the 'exit' function * terminates with 'stop SPU_RESTORE_COMPLETE', * indicating that the SPU-side restore code has * completed. * * However it is possible that instructions immediately * following the 'stop 0x3ffc' have been modified at run * time so as to recreate the exact SPU_Status settings * from the application, e.g. illegal instruciton, halt, * etc.
*/
.global exit_fini
.global _exit_fini
exit_fini:
_exit_fini:
stop SPU_RESTORE_COMPLETE
stop 0
stop 0
stop 0
/* Pad the size of this crt0.o to be multiple of 16 bytes. */
.balignl 16, 0x0
Messung V0.5
¤ Dauer der Verarbeitung: 0.12 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.