summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorAndrew Boie <andrew.p.boie@intel.com>2016-10-21 10:39:43 -0700
committerAnas Nashif <nashif@linux.intel.com>2016-10-21 23:30:04 +0000
commitcaf19b2503a9d27b47132b511723f0a02d4590d3 (patch)
tree29952f062474819ddd5770f64a7dd5d942590d8c /include
parentbce6b337a57b6d67044a44ac8730e7c8a9b25d3b (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.h27
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