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)
82
/* ------------------------------------ */
83
/* stores arg#1 in r27 and stops */
84
/* ------------------------------------ */
87
BOOT_ABORT_R3HINT(ABORT_CANIO, ALTBOOT, msg_e_ierror);