x86: Call cpu_init_interrupts() from interrupt_init()

Currently cpu_init_interrupts() is called from cpu_init_r() to
setup the interrupt and exception of the cpu core, but at that
time the i8259 has not been initialized to mask all the irqs
and remap the master i8259 interrupt vector base, so the whole
system is at risk of being interrupted, and if interrupted,
wrong interrupt/exception message is shown.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Bin Meng 2014-11-20 16:10:49 +08:00 committed by Simon Glass
parent 18739e2ccc
commit 4372a9eca5
2 changed files with 3 additions and 2 deletions

View File

@ -322,8 +322,6 @@ int x86_cpu_init_f(void)
int x86_cpu_init_r(void)
{
/* Initialize core interrupt and exception functionality of CPU */
cpu_init_interrupts();
return 0;
}
int cpu_init_r(void) __attribute__((weak, alias("x86_cpu_init_r")));

View File

@ -65,6 +65,9 @@ int interrupt_init(void)
/* Interrupt 9 should be level triggered (SCI). The OS might do this */
configure_irq_trigger(9, true);
/* Initialize core interrupt and exception functionality of CPU */
cpu_init_interrupts();
enable_interrupts();
return 0;