Avoid using NVRAM area for ROM, add SRE vector

git-svn-id: svn://coreboot.org/openbios/openbios-devel@303 f158a5a8-5612-0410-a976-696ce0be7e32
This commit is contained in:
Blue Swirl
2008-12-21 10:17:03 +00:00
parent e7b906fd86
commit 7456a60d4b
2 changed files with 20 additions and 4 deletions

View File

@@ -5,6 +5,14 @@ OUTPUT_ARCH(powerpc)
*/
BASE_ADDR = 0xfff00000;
/* As NVRAM is at 0xfff04000, the .text needs to be after that
*/
TEXT_ADDR = 0xfff06000;
/* Hard reset vector address
*/
HRESET_ADDR = 0xfffffffc;
CSTACK_SIZE = 32768; /* client stack size */
SECTIONS
@@ -12,10 +20,13 @@ SECTIONS
. = BASE_ADDR;
_start = BASE_ADDR + 0x0100;
.text.vectors ALIGN(4096): {
*(.text.vectors)
}
. = TEXT_ADDR;
/* Normal sections */
.text ALIGN(4096): {
*(.text.vectors)
*(.text)
*(.text.*)
}
@@ -41,7 +52,7 @@ SECTIONS
_ebss = .;
}
. = 0xfffffffc;
. = HRESET_ADDR;
.romentry : { *(.romentry) }

View File

@@ -62,7 +62,7 @@
/************************************************************************/
.text
.section .text.vectors, "ax"
.space 0x0100
GLOBL(_start):
/* clear MSR, disable MMU */
@@ -152,8 +152,10 @@ GLOBL(_start):
* r6 = address of client program arguments (unused)
* r7 = length of client program arguments (unsed)
*/
.data
saved_stack:
.long 0
.previous
/* void call_elf( entry ) */
GLOBL(call_elf):
mflr r0
@@ -276,7 +278,9 @@ trap_error:
mflr r3
b unexpected_excep
ILLEGAL_VECTOR( 0x100 )
VECTOR( 0x100, "SRE" ):
b _start
ILLEGAL_VECTOR( 0x200 )
VECTOR( 0x300, "DSI" ):
@@ -389,5 +393,6 @@ memloop:
exit_memloop:
blr
/* Hard reset vector */
.section .romentry,"ax"
bl _start