x86: set IRQ vectors properly for MVIC

With MVIC these can't be arbitrarily assigned and the vector must be
<irq num> + 0x20.

The correct number of vectors is now set for footprint-min on D2000.

Change-Id: Ibf59921dbc438c7465b7050dd74d0badc9a91fc3
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
This commit is contained in:
Andrew Boie 2015-11-19 10:00:27 -08:00 committed by Anas Nashif
commit abc85a3d3e
2 changed files with 17 additions and 2 deletions

View file

@ -162,11 +162,18 @@ typedef struct s_isrList {
* @return N/A
*
*/
#define IRQ_CONNECT_STATIC(device, irq, priority, isr, parameter, flags) \
#ifdef CONFIG_MVIC
#define IRQ_CONNECT_STATIC(device, irq, priority, isr, parameter, flags) \
extern void *_##device##_##isr##_stub; \
const uint32_t _##device##_irq_flags = (flags); \
NANO_CPU_INT_REGISTER(_##device##_##isr##_stub, (irq), \
((irq) + 0x20) / 16, (irq) + 0x20, 0)
#else
#define IRQ_CONNECT_STATIC(device, irq, priority, isr, parameter, flags) \
extern void *_##device##_##isr##_stub; \
const uint32_t _##device##_irq_flags = (flags); \
NANO_CPU_INT_REGISTER(_##device##_##isr##_stub, (irq), (priority), -1, 0)
#endif
extern unsigned char _irq_to_interrupt_vector[];
/**

View file

@ -0,0 +1,8 @@
CONFIG_ISR_STACK_SIZE=128
CONFIG_MAIN_STACK_SIZE=128
CONFIG_SYS_CLOCK_TICKS_PER_SEC=0
CONFIG_PRINTK=n
CONFIG_HPET_TIMER_IRQ_PRIORITY=2
CONFIG_IDT_NUM_VECTORS=64
CONFIG_CONSOLE=n
CONFIG_SERIAL=n