提交 bbff2d28 编写于 作者: K Kumar Gala 提交者: Tom Rix

ppc/85xx: Introduce RESET_VECTOR_ADDRESS to handle non-standard link address

Some board ports place TEXT_BASE at a location that would cause the
RESET_VECTOR_ADDRESS not to be at 0xfffffffc when we link.  By default
we assume RESET_VECTOR_ADDRESS will be 0xfffffffc if the board doesn't
explicitly set it.
Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
Acked-by: NWolfgang Denk <wd@denx.de>
上级 5079ae4a
...@@ -26,3 +26,5 @@ ...@@ -26,3 +26,5 @@
ifndef TEXT_BASE ifndef TEXT_BASE
TEXT_BASE = 0xeff80000 TEXT_BASE = 0xeff80000
endif endif
RESET_VECTOR_ADDRESS = 0xeffffffc
...@@ -26,3 +26,5 @@ ...@@ -26,3 +26,5 @@
ifndef TEXT_BASE ifndef TEXT_BASE
TEXT_BASE = 0xeff80000 TEXT_BASE = 0xeff80000
endif endif
RESET_VECTOR_ADDRESS = 0xeffffffc
...@@ -27,3 +27,5 @@ ...@@ -27,3 +27,5 @@
ifndef TEXT_BASE ifndef TEXT_BASE
TEXT_BASE = 0xeff80000 TEXT_BASE = 0xeff80000
endif endif
RESET_VECTOR_ADDRESS = 0xeffffffc
...@@ -26,3 +26,5 @@ ...@@ -26,3 +26,5 @@
ifndef TEXT_BASE ifndef TEXT_BASE
TEXT_BASE = 0xeff80000 TEXT_BASE = 0xeff80000
endif endif
RESET_VECTOR_ADDRESS = 0xeffffffc
...@@ -128,6 +128,10 @@ ifneq ($(TEXT_BASE),) ...@@ -128,6 +128,10 @@ ifneq ($(TEXT_BASE),)
CPPFLAGS += -DTEXT_BASE=$(TEXT_BASE) CPPFLAGS += -DTEXT_BASE=$(TEXT_BASE)
endif endif
ifneq ($(RESET_VECTOR_ADDRESS),)
CPPFLAGS += -DRESET_VECTOR_ADDRESS=$(RESET_VECTOR_ADDRESS)
endif
ifneq ($(OBJTREE),$(SRCTREE)) ifneq ($(OBJTREE),$(SRCTREE))
CPPFLAGS += -I$(OBJTREE)/include2 -I$(OBJTREE)/include CPPFLAGS += -I$(OBJTREE)/include2 -I$(OBJTREE)/include
endif endif
......
...@@ -20,6 +20,10 @@ ...@@ -20,6 +20,10 @@
* MA 02111-1307 USA * MA 02111-1307 USA
*/ */
#ifndef RESET_VECTOR_ADDRESS
#define RESET_VECTOR_ADDRESS 0xfffffffc
#endif
OUTPUT_ARCH(powerpc) OUTPUT_ARCH(powerpc)
/* Do we need any of these for elf? /* Do we need any of these for elf?
__DYNAMIC = 0; */ __DYNAMIC = 0; */
...@@ -116,17 +120,17 @@ SECTIONS ...@@ -116,17 +120,17 @@ SECTIONS
. = ALIGN(256); . = ALIGN(256);
__init_end = .; __init_end = .;
.bootpg ADDR(.text) + 0x7f000 : .bootpg RESET_VECTOR_ADDRESS - 0xffc :
{ {
cpu/mpc85xx/start.o (.bootpg) cpu/mpc85xx/start.o (.bootpg)
} :text = 0xffff } :text = 0xffff
.resetvec ADDR(.text) + 0x7fffc : .resetvec RESET_VECTOR_ADDRESS :
{ {
*(.resetvec) *(.resetvec)
} :text = 0xffff } :text = 0xffff
. = ADDR(.text) + 0x80000; . = RESET_VECTOR_ADDRESS + 0x4;
__bss_start = .; __bss_start = .;
.bss (NOLOAD) : .bss (NOLOAD) :
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册