Skip to content
Permalink
Browse files

arch/x86: remove CONFIG_X86_FIXED_IRQ_MAPPING support

This was only enabled by the MVIC, which in turn was only used
by the Quark D2000, which has been removed.

Signed-off-by: Charles E. Youse <charles.youse@intel.com>
  • Loading branch information...
Charles E. Youse authored and nashif committed Jun 23, 2019
1 parent 3dc7c7a commit a506aa3dfb0ad10acf105880bce06a599fdfba87
@@ -368,12 +368,6 @@ config X86_DYNAMIC_IRQ_STUBS
some stub code to be generated at build time, one stub per dynamic
interrupt.

config X86_FIXED_IRQ_MAPPING
bool
help
Specify whether the current interrupt controller in use has a fixed
mapping between IDT vectors and IRQ lines.

endmenu

endif # !X86_LONGMODE
@@ -129,7 +129,6 @@ static unsigned int next_irq_stub;
*/
extern char z_dynamic_stubs_begin[];

#ifndef CONFIG_X86_FIXED_IRQ_MAPPING
/**
* @brief Allocate a free interrupt vector given <priority>
*
@@ -211,7 +210,6 @@ static unsigned int priority_to_free_vector(unsigned int requested_priority)

return vector;
}
#endif /* !CONFIG_X86_FIXED_IRQ_MAPPING */

/**
* @brief Get the memory address of an unused dynamic IRQ or exception stub
@@ -303,15 +301,11 @@ int z_arch_irq_connect_dynamic(unsigned int irq, unsigned int priority,

key = irq_lock();

#ifdef CONFIG_X86_FIXED_IRQ_MAPPING
vector = Z_IRQ_TO_INTERRUPT_VECTOR(irq);
#else
vector = priority_to_free_vector(priority);
/* 0 indicates not used, vectors for interrupts start at 32 */
__ASSERT(_irq_to_interrupt_vector[irq] == 0U,
"IRQ %d already configured", irq);
_irq_to_interrupt_vector[irq] = vector;
#endif
z_irq_controller_irq_config(vector, irq, flags);

stub_idx = next_irq_stub++;
@@ -165,11 +165,7 @@ typedef struct s_isrList {
*
* These macros are only intended to be used by IRQ_CONNECT() macro.
*/
#if CONFIG_X86_FIXED_IRQ_MAPPING
#define _VECTOR_ARG(irq_p) Z_IRQ_CONTROLLER_VECTOR_MAPPING(irq_p)
#else
#define _VECTOR_ARG(irq_p) (-1)
#endif /* CONFIG_X86_FIXED_IRQ_MAPPING */

/**
* Configure a static interrupt.
@@ -245,12 +241,6 @@ typedef struct s_isrList {
})


#ifdef CONFIG_X86_FIXED_IRQ_MAPPING
/* Fixed vector-to-irq association mapping.
* No need for the table at all.
*/
#define Z_IRQ_TO_INTERRUPT_VECTOR(irq) Z_IRQ_CONTROLLER_VECTOR_MAPPING(irq)
#else
/**
* @brief Convert a statically connected IRQ to its interrupt vector number
*
@@ -259,7 +249,6 @@ typedef struct s_isrList {
extern unsigned char _irq_to_interrupt_vector[];
#define Z_IRQ_TO_INTERRUPT_VECTOR(irq) \
((unsigned int) _irq_to_interrupt_vector[irq])
#endif

#ifdef CONFIG_SYS_POWER_MANAGEMENT
extern void z_arch_irq_direct_pm(void);
@@ -26,17 +26,6 @@
#ifndef _ASMLANGUAGE
#include <zephyr/types.h>

#if CONFIG_X86_FIXED_IRQ_MAPPING
/**
* @brief Return fixed mapping for an IRQ
*
* @param irq Interrupt line
* @return Vector this interrupt has been assigned to
*/
#define Z_IRQ_CONTROLLER_VECTOR_MAPPING(irq) \
__IRQ_CONTROLLER_VECTOR_MAPPING(irq)
#endif

/**
*
* @brief Program an interrupt
@@ -141,15 +141,13 @@ SECTIONS
. += CONFIG_IDT_NUM_VECTORS * 8;
#endif /* LINKER_PASS2 */

#ifndef CONFIG_X86_FIXED_IRQ_MAPPING
. = ALIGN(4);
_irq_to_interrupt_vector = .;
#ifdef LINKER_PASS2
KEEP(*(irq_int_vector_map))
#else
. += CONFIG_MAX_IRQ_LINES;
#endif
#endif /* CONFIG_X86_FIXED_IRQ_MAPPING */
#endif /* CONFIG_DYNAMIC_INTERRUPTS */

/* Located in generated directory. This file is populated by the
@@ -276,15 +274,13 @@ SECTIONS
*(".kernel.*")

#ifdef CONFIG_DYNAMIC_INTERRUPTS
#ifndef CONFIG_X86_FIXED_IRQ_MAPPING
. = ALIGN(4);
_irq_to_interrupt_vector = .;
#ifdef LINKER_PASS2
KEEP(*(irq_int_vector_map))
#else
. += CONFIG_MAX_IRQ_LINES;
#endif /* LINKER_PASS2 */
#endif /* CONFIG_X86_FIXED_IRQ_MAPPING */

z_interrupt_vectors_allocated = .;
#ifdef LINKER_PASS2

0 comments on commit a506aa3

Please sign in to comment.
You can’t perform that action at this time.