xtensa: only build windowed register support code when needed
There's no need in window overflow/underflow/alloca exception handlers or window spill code when neither kernel nor userspace support windowed registers. Don't build or link it. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
This commit is contained in:
parent
09af39f649
commit
da0a4e5c8f
7 changed files with 45 additions and 5 deletions
|
|
@ -94,7 +94,9 @@ SECTIONS
|
|||
. = ALIGN(PAGE_SIZE);
|
||||
_vecbase = .;
|
||||
|
||||
#ifdef SUPPORT_WINDOWED
|
||||
SECTION_VECTOR2 (.WindowVectors.text, WINDOW_VECTORS_VADDR)
|
||||
#endif
|
||||
#if XCHAL_EXCM_LEVEL >= 2
|
||||
SECTION_VECTOR2 (.Level2InterruptVector.text, INTLEVEL2_VECTOR_VADDR)
|
||||
#endif
|
||||
|
|
@ -166,8 +168,10 @@ SECTIONS
|
|||
__boot_reloc_table_start = ABSOLUTE(.);
|
||||
|
||||
#if !MERGED_VECTORS
|
||||
#ifdef SUPPORT_WINDOWED
|
||||
RELOCATE_ENTRY(_WindowVectors_text,
|
||||
.WindowVectors.text);
|
||||
#endif
|
||||
#if XCHAL_EXCM_LEVEL >= 2
|
||||
RELOCATE_ENTRY(_Level2InterruptVector_text,
|
||||
.Level2InterruptVector.text);
|
||||
|
|
@ -229,14 +233,18 @@ SECTIONS
|
|||
#if !MERGED_VECTORS
|
||||
/* The vectors are relocated to the real position at startup time */
|
||||
|
||||
#ifdef SUPPORT_WINDOWED
|
||||
SECTION_VECTOR4 (_WindowVectors_text,
|
||||
.WindowVectors.text,
|
||||
WINDOW_VECTORS_VADDR,
|
||||
.dummy)
|
||||
LAST)
|
||||
#undef LAST
|
||||
#define LAST .WindowVectors.text
|
||||
#endif
|
||||
SECTION_VECTOR4 (_DebugInterruptVector_text,
|
||||
.DebugInterruptVector.text,
|
||||
DEBUG_VECTOR_VADDR,
|
||||
.WindowVectors.text)
|
||||
LAST)
|
||||
#undef LAST
|
||||
#define LAST .DebugInterruptVector.text
|
||||
#if XCHAL_EXCM_LEVEL >= 2
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue