1 /******************************************************************************
2 * Copyright (c) 2004, 2011 IBM Corporation
4 * This program and the accompanying materials
5 * are made available under the terms of the BSD License
6 * which accompanies this distribution, and is available at
7 * http://www.opensource.org/licenses/bsd-license.php
10 * IBM Corporation - initial implementation
11 *****************************************************************************/
14 #include "../../llfw/boot_abort.h"
16 /*#################### defines #####################*/
17 #define STACK_SIZE 0x4000
19 /*#################### code ########################*/
29 /* clear out bss section */
30 LOAD64(r3, (__bss_start - 8))
31 LOAD64(r4, __bss_size)
33 /* divide __bss_size by 8 to get number */
34 /* of dwords to clear */
43 LOAD64(r1, __stack_end + STACK_SIZE)
45 /* save return address beside stack */
53 /* ------------------------------------ */
56 /* ------------------------------------ */
61 /* return to caller... */
62 LOAD64(r1, __stack_end + STACK_SIZE)
68 /* #################################### */
69 /* Basic Additional Functions */
70 /* for extended lib functions see */
71 /* external library */
72 /* #################################### */
75 /* ------------------------------------ */
76 /* updates toc in r2 */
77 /* ------------------------------------ */
79 LOAD64(r2, __toc_start)
84 /* ------------------------------------ */
85 /* stores arg#1 in r27 and stops */
86 /* ------------------------------------ */
89 BOOT_ABORT_R3HINT(ABORT_CANIO, ALTBOOT, msg_e_ierror);