2012-01-21 21:57:41 +01:00
|
|
|
# Copyright 2008-2009 Segher Boessenkool <segher@kernel.crashing.org>
|
|
|
|
# This code is licensed to you under the terms of the GNU GPL, version 2;
|
|
|
|
# see file COPYING or http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
|
|
|
|
|
2014-03-23 21:14:59 +01:00
|
|
|
.extern _main
|
2012-01-21 21:57:41 +01:00
|
|
|
.globl _start
|
|
|
|
_start:
|
|
|
|
|
|
|
|
# Disable interrupts, enable FP.
|
|
|
|
mfmsr 3 ; rlwinm 3,3,0,17,15 ; ori 3,3,0x2000 ; mtmsr 3 ; isync
|
|
|
|
|
|
|
|
# Setup stack.
|
|
|
|
lis 1,_stack_top@ha ; addi 1,1,_stack_top@l ; li 0,0 ; stwu 0,-64(1)
|
|
|
|
|
|
|
|
# Clear BSS.
|
|
|
|
lis 3,__bss_start@ha ; addi 3,3,__bss_start@l
|
|
|
|
li 4,0
|
|
|
|
lis 5,__bss_end@ha ; addi 5,5,__bss_end@l ; sub 5,5,3
|
|
|
|
bl memset
|
|
|
|
|
|
|
|
# Go!
|
2014-03-23 21:14:59 +01:00
|
|
|
bl _main
|