[OpenBIOS] r303 - openbios-devel/arch/ppc/qemu
svn at openbios.org
svn at openbios.org
Sun Dec 21 11:17:03 CET 2008
Author: blueswirl
Date: 2008-12-21 11:17:03 +0100 (Sun, 21 Dec 2008)
New Revision: 303
Modified:
openbios-devel/arch/ppc/qemu/ldscript
openbios-devel/arch/ppc/qemu/start.S
Log:
Avoid using NVRAM area for ROM, add SRE vector
Modified: openbios-devel/arch/ppc/qemu/ldscript
===================================================================
--- openbios-devel/arch/ppc/qemu/ldscript 2008-12-21 09:15:57 UTC (rev 302)
+++ openbios-devel/arch/ppc/qemu/ldscript 2008-12-21 10:17:03 UTC (rev 303)
@@ -5,6 +5,14 @@
*/
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 @@
. = 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 @@
_ebss = .;
}
- . = 0xfffffffc;
+ . = HRESET_ADDR;
.romentry : { *(.romentry) }
Modified: openbios-devel/arch/ppc/qemu/start.S
===================================================================
--- openbios-devel/arch/ppc/qemu/start.S 2008-12-21 09:15:57 UTC (rev 302)
+++ openbios-devel/arch/ppc/qemu/start.S 2008-12-21 10:17:03 UTC (rev 303)
@@ -62,7 +62,7 @@
/************************************************************************/
- .text
+ .section .text.vectors, "ax"
.space 0x0100
GLOBL(_start):
/* clear MSR, disable MMU */
@@ -152,8 +152,10 @@
* 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 @@
mflr r3
b unexpected_excep
-ILLEGAL_VECTOR( 0x100 )
+VECTOR( 0x100, "SRE" ):
+ b _start
+
ILLEGAL_VECTOR( 0x200 )
VECTOR( 0x300, "DSI" ):
@@ -389,5 +393,6 @@
exit_memloop:
blr
+ /* Hard reset vector */
.section .romentry,"ax"
bl _start
More information about the OpenBIOS
mailing list