|
@@ -18,6 +18,7 @@
|
|
|
#include <asm/page.h>
|
|
|
#include <asm/thread_info.h>
|
|
|
|
|
|
+#include <asm/vectors.h>
|
|
|
#include <variant/core.h>
|
|
|
#include <platform/hardware.h>
|
|
|
OUTPUT_ARCH(xtensa)
|
|
@@ -30,7 +31,7 @@ jiffies = jiffies_64;
|
|
|
#endif
|
|
|
|
|
|
#ifndef KERNELOFFSET
|
|
|
-#define KERNELOFFSET 0xd0001000
|
|
|
+#define KERNELOFFSET 0xd0003000
|
|
|
#endif
|
|
|
|
|
|
/* Note: In the following macros, it would be nice to specify only the
|
|
@@ -185,16 +186,16 @@ SECTIONS
|
|
|
|
|
|
SECTION_VECTOR (_WindowVectors_text,
|
|
|
.WindowVectors.text,
|
|
|
- XCHAL_WINDOW_VECTORS_VADDR, 4,
|
|
|
+ WINDOW_VECTORS_VADDR, 4,
|
|
|
.dummy)
|
|
|
SECTION_VECTOR (_DebugInterruptVector_literal,
|
|
|
.DebugInterruptVector.literal,
|
|
|
- XCHAL_DEBUG_VECTOR_VADDR - 4,
|
|
|
+ DEBUG_VECTOR_VADDR - 4,
|
|
|
SIZEOF(.WindowVectors.text),
|
|
|
.WindowVectors.text)
|
|
|
SECTION_VECTOR (_DebugInterruptVector_text,
|
|
|
.DebugInterruptVector.text,
|
|
|
- XCHAL_DEBUG_VECTOR_VADDR,
|
|
|
+ DEBUG_VECTOR_VADDR,
|
|
|
4,
|
|
|
.DebugInterruptVector.literal)
|
|
|
#undef LAST
|
|
@@ -202,7 +203,7 @@ SECTIONS
|
|
|
#if XCHAL_EXCM_LEVEL >= 2
|
|
|
SECTION_VECTOR (_Level2InterruptVector_text,
|
|
|
.Level2InterruptVector.text,
|
|
|
- XCHAL_INTLEVEL2_VECTOR_VADDR,
|
|
|
+ INTLEVEL2_VECTOR_VADDR,
|
|
|
SIZEOF(LAST), LAST)
|
|
|
# undef LAST
|
|
|
# define LAST .Level2InterruptVector.text
|
|
@@ -210,7 +211,7 @@ SECTIONS
|
|
|
#if XCHAL_EXCM_LEVEL >= 3
|
|
|
SECTION_VECTOR (_Level3InterruptVector_text,
|
|
|
.Level3InterruptVector.text,
|
|
|
- XCHAL_INTLEVEL3_VECTOR_VADDR,
|
|
|
+ INTLEVEL3_VECTOR_VADDR,
|
|
|
SIZEOF(LAST), LAST)
|
|
|
# undef LAST
|
|
|
# define LAST .Level3InterruptVector.text
|
|
@@ -218,7 +219,7 @@ SECTIONS
|
|
|
#if XCHAL_EXCM_LEVEL >= 4
|
|
|
SECTION_VECTOR (_Level4InterruptVector_text,
|
|
|
.Level4InterruptVector.text,
|
|
|
- XCHAL_INTLEVEL4_VECTOR_VADDR,
|
|
|
+ INTLEVEL4_VECTOR_VADDR,
|
|
|
SIZEOF(LAST), LAST)
|
|
|
# undef LAST
|
|
|
# define LAST .Level4InterruptVector.text
|
|
@@ -226,7 +227,7 @@ SECTIONS
|
|
|
#if XCHAL_EXCM_LEVEL >= 5
|
|
|
SECTION_VECTOR (_Level5InterruptVector_text,
|
|
|
.Level5InterruptVector.text,
|
|
|
- XCHAL_INTLEVEL5_VECTOR_VADDR,
|
|
|
+ INTLEVEL5_VECTOR_VADDR,
|
|
|
SIZEOF(LAST), LAST)
|
|
|
# undef LAST
|
|
|
# define LAST .Level5InterruptVector.text
|
|
@@ -234,39 +235,39 @@ SECTIONS
|
|
|
#if XCHAL_EXCM_LEVEL >= 6
|
|
|
SECTION_VECTOR (_Level6InterruptVector_text,
|
|
|
.Level6InterruptVector.text,
|
|
|
- XCHAL_INTLEVEL6_VECTOR_VADDR,
|
|
|
+ INTLEVEL6_VECTOR_VADDR,
|
|
|
SIZEOF(LAST), LAST)
|
|
|
# undef LAST
|
|
|
# define LAST .Level6InterruptVector.text
|
|
|
#endif
|
|
|
SECTION_VECTOR (_KernelExceptionVector_literal,
|
|
|
.KernelExceptionVector.literal,
|
|
|
- XCHAL_KERNEL_VECTOR_VADDR - 4,
|
|
|
+ KERNEL_VECTOR_VADDR - 4,
|
|
|
SIZEOF(LAST), LAST)
|
|
|
#undef LAST
|
|
|
SECTION_VECTOR (_KernelExceptionVector_text,
|
|
|
.KernelExceptionVector.text,
|
|
|
- XCHAL_KERNEL_VECTOR_VADDR,
|
|
|
+ KERNEL_VECTOR_VADDR,
|
|
|
4,
|
|
|
.KernelExceptionVector.literal)
|
|
|
SECTION_VECTOR (_UserExceptionVector_literal,
|
|
|
.UserExceptionVector.literal,
|
|
|
- XCHAL_USER_VECTOR_VADDR - 4,
|
|
|
+ USER_VECTOR_VADDR - 4,
|
|
|
SIZEOF(.KernelExceptionVector.text),
|
|
|
.KernelExceptionVector.text)
|
|
|
SECTION_VECTOR (_UserExceptionVector_text,
|
|
|
.UserExceptionVector.text,
|
|
|
- XCHAL_USER_VECTOR_VADDR,
|
|
|
+ USER_VECTOR_VADDR,
|
|
|
4,
|
|
|
.UserExceptionVector.literal)
|
|
|
SECTION_VECTOR (_DoubleExceptionVector_literal,
|
|
|
.DoubleExceptionVector.literal,
|
|
|
- XCHAL_DOUBLEEXC_VECTOR_VADDR - 16,
|
|
|
+ DOUBLEEXC_VECTOR_VADDR - 16,
|
|
|
SIZEOF(.UserExceptionVector.text),
|
|
|
.UserExceptionVector.text)
|
|
|
SECTION_VECTOR (_DoubleExceptionVector_text,
|
|
|
.DoubleExceptionVector.text,
|
|
|
- XCHAL_DOUBLEEXC_VECTOR_VADDR,
|
|
|
+ DOUBLEEXC_VECTOR_VADDR,
|
|
|
32,
|
|
|
.DoubleExceptionVector.literal)
|
|
|
|
|
@@ -284,11 +285,26 @@ SECTIONS
|
|
|
. = ALIGN(0x10);
|
|
|
.bootstrap : { *(.bootstrap.literal .bootstrap.text .bootstrap.data) }
|
|
|
|
|
|
- .ResetVector.text XCHAL_RESET_VECTOR_VADDR :
|
|
|
+ .ResetVector.text RESET_VECTOR_VADDR :
|
|
|
{
|
|
|
*(.ResetVector.text)
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ /*
|
|
|
+ * This is a remapped copy of the Secondary Reset Vector Code.
|
|
|
+ * It keeps gdb in sync with the PC after switching
|
|
|
+ * to the temporary mapping used while setting up
|
|
|
+ * the V2 MMU mappings for Linux.
|
|
|
+ *
|
|
|
+ * Only debug information about this section is put in the kernel image.
|
|
|
+ */
|
|
|
+ .SecondaryResetVector.remapped_text 0x46000000 (INFO):
|
|
|
+ {
|
|
|
+ *(.SecondaryResetVector.remapped_text)
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
.xt.lit : { *(.xt.lit) }
|
|
|
.xt.prop : { *(.xt.prop) }
|
|
|
|