new init format
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@961 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
parent
109959d6b1
commit
8052f4d5da
|
@ -0,0 +1,2 @@
|
||||||
|
init crt0.S.lb
|
||||||
|
#initobject stuff.o
|
|
@ -0,0 +1,66 @@
|
||||||
|
/* $Id$ */
|
||||||
|
/* Copyright 2000 AG Electronics Ltd. */
|
||||||
|
/* This code is distributed without warranty under the GPL v2 (see COPYING) */
|
||||||
|
|
||||||
|
#define ASM
|
||||||
|
#include "ppcreg.h"
|
||||||
|
#include <ppc_asm.tmpl>
|
||||||
|
|
||||||
|
.section ".rom.data", "a", @progbits
|
||||||
|
.section ".rom.text", "ax", @progbits
|
||||||
|
|
||||||
|
.globl _start
|
||||||
|
.type _start, @function
|
||||||
|
.globl __bss_end
|
||||||
|
.globl __start_address_check
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Locate at hreset vector
|
||||||
|
*/
|
||||||
|
.space (0x100)
|
||||||
|
|
||||||
|
_start:
|
||||||
|
b system_reset
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Space for exception table
|
||||||
|
*/
|
||||||
|
.space (0x3000)
|
||||||
|
|
||||||
|
system_reset:
|
||||||
|
|
||||||
|
%%EARLY_INIT%%
|
||||||
|
|
||||||
|
start_payload:
|
||||||
|
/*
|
||||||
|
* Relocate payload (text & data) to ram
|
||||||
|
*/
|
||||||
|
lis r3, _liseg@ha
|
||||||
|
addi r3, r3, _liseg@l
|
||||||
|
lis r4, _iseg@ha
|
||||||
|
addi r4, r4, _iseg@l
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Skip if they're the same
|
||||||
|
*/
|
||||||
|
cmp 0, 0, r3, r4
|
||||||
|
beq 1f
|
||||||
|
|
||||||
|
lis r7, _eliseg@ha
|
||||||
|
addi r7, r7, _eliseg@l
|
||||||
|
|
||||||
|
2:
|
||||||
|
lwzx r5, 0, r3
|
||||||
|
stwx r5, 0, r4
|
||||||
|
addi r3, r3, 4
|
||||||
|
addi r4, r4, 4
|
||||||
|
cmp 0, 0, r3, r7
|
||||||
|
ble 2b
|
||||||
|
|
||||||
|
1:
|
||||||
|
/*
|
||||||
|
* Start payload
|
||||||
|
*/
|
||||||
|
b _iseg
|
||||||
|
|
||||||
|
%%NORTHBRIDGE_INIT%%
|
Loading…
Reference in New Issue