diff options
author | Andrew Boie <andrew.p.boie@intel.com> | 2016-10-21 10:39:43 -0700 |
---|---|---|
committer | Anas Nashif <nashif@linux.intel.com> | 2016-10-21 23:30:04 +0000 |
commit | caf19b2503a9d27b47132b511723f0a02d4590d3 (patch) | |
tree | 29952f062474819ddd5770f64a7dd5d942590d8c /include | |
parent | bce6b337a57b6d67044a44ac8730e7c8a9b25d3b (diff) |
x86: remove final-linker.cmd
This mechanism was intended to reserve space during the first pass for
certain data structures created by gen_idt, but this is unnecessary.
The only memory addresses that must be fixed between the two passes are the
locations of the interrupt stubs, which are in the .text section much
earlier than the generated data structures; they do not shift.
Change-Id: I3aab00e171e6a9ff439a7af8d69769e4c29337a7
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/arch/x86/linker-defs-arch.h | 27 |
1 files changed, 3 insertions, 24 deletions
diff --git a/include/arch/x86/linker-defs-arch.h b/include/arch/x86/linker-defs-arch.h index 0162cc09b..99750b66c 100644 --- a/include/arch/x86/linker-defs-arch.h +++ b/include/arch/x86/linker-defs-arch.h @@ -27,32 +27,11 @@ #define INT_STUB_NOINIT KEEP(*(.intStubSect)) -#ifdef FINAL_LINK - /* Use the real IDT */ - #define STATIC_IDT KEEP(*(staticIdt)) +#define STATIC_IDT KEEP(*(staticIdt)) - /* Use the real _interrupt_vectors_allocated[] array */ - #define INTERRUPT_VECTORS_ALLOCATED KEEP(*(int_vector_alloc)) +#define INTERRUPT_VECTORS_ALLOCATED KEEP(*(int_vector_alloc)) - /* Use the real _irq_to_interrupt_vector[] array */ - #define IRQ_TO_INTERRUPT_VECTOR KEEP(*(irq_int_vector_map)) -#else - /* - * Save space for the real IDT to prevent symbols from shifting. Note - * that an IDT entry is 8 bytes in size. - */ - #define STATIC_IDT . += (8 * CONFIG_IDT_NUM_VECTORS); - - /* - * Save space for the real _interrupt_vectors_allocated[] array to - * prevent symbols from shifting. - */ - #define INTERRUPT_VECTORS_ALLOCATED . += ((CONFIG_IDT_NUM_VECTORS + 31) / 32); - /* - * Both IRQs and interrupt vectors may be in the range of 0..255 inclusive. - */ - #define IRQ_TO_INTERRUPT_VECTOR . += CONFIG_MAX_IRQ_LINES; -#endif +#define IRQ_TO_INTERRUPT_VECTOR KEEP(*(irq_int_vector_map)) /* * The x86 manual recommends aligning the IDT on 8 byte boundary. This also |