summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBin Meng <bmeng.cn@gmail.com>2016-05-22 01:45:33 -0700
committerBin Meng <bmeng.cn@gmail.com>2016-05-23 15:27:41 +0800
commite2126711af40ae669610d3500fe23c81b7ad6307 (patch)
treec3ce06397c65d34b261e2dba02b020a66b5b2090
parentaaaa55751ab1e5a5cfa0962d604593a7e6f33ff6 (diff)
downloadu-boot-imx-e2126711af40ae669610d3500fe23c81b7ad6307.zip
u-boot-imx-e2126711af40ae669610d3500fe23c81b7ad6307.tar.gz
u-boot-imx-e2126711af40ae669610d3500fe23c81b7ad6307.tar.bz2
x86: Call lapic_setup() in interrupt_init()
Let's configure LAPIC in a common place - interrupt_init(). Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
-rw-r--r--arch/x86/cpu/interrupts.c8
-rw-r--r--arch/x86/cpu/ivybridge/model_206ax.c2
-rw-r--r--arch/x86/cpu/mp_init.c2
3 files changed, 5 insertions, 7 deletions
diff --git a/arch/x86/cpu/interrupts.c b/arch/x86/cpu/interrupts.c
index 10dc4d4..dd2819a 100644
--- a/arch/x86/cpu/interrupts.c
+++ b/arch/x86/cpu/interrupts.c
@@ -15,14 +15,14 @@
#include <dm.h>
#include <asm/cache.h>
#include <asm/control_regs.h>
+#include <asm/i8259.h>
#include <asm/interrupt.h>
#include <asm/io.h>
-#include <asm/processor-flags.h>
-#include <linux/compiler.h>
+#include <asm/lapic.h>
#include <asm/msr.h>
+#include <asm/processor-flags.h>
#include <asm/processor.h>
#include <asm/u-boot-x86.h>
-#include <asm/i8259.h>
DECLARE_GLOBAL_DATA_PTR;
@@ -266,6 +266,8 @@ int interrupt_init(void)
i8259_init();
#endif
+ lapic_setup();
+
/* Initialize core interrupt and exception functionality of CPU */
cpu_init_interrupts();
diff --git a/arch/x86/cpu/ivybridge/model_206ax.c b/arch/x86/cpu/ivybridge/model_206ax.c
index e710ac4..38e244b 100644
--- a/arch/x86/cpu/ivybridge/model_206ax.c
+++ b/arch/x86/cpu/ivybridge/model_206ax.c
@@ -14,7 +14,6 @@
#include <malloc.h>
#include <asm/cpu.h>
#include <asm/cpu_x86.h>
-#include <asm/lapic.h>
#include <asm/msr.h>
#include <asm/msr-index.h>
#include <asm/mtrr.h>
@@ -418,7 +417,6 @@ static int model_206ax_init(struct udevice *dev)
/* Enable the local cpu apics */
enable_lapic_tpr();
- lapic_setup();
/* Enable virtualization if enabled in CMOS */
enable_vmx();
diff --git a/arch/x86/cpu/mp_init.c b/arch/x86/cpu/mp_init.c
index 8207274..2b6b3bd 100644
--- a/arch/x86/cpu/mp_init.c
+++ b/arch/x86/cpu/mp_init.c
@@ -408,8 +408,6 @@ static int init_bsp(struct udevice **devp)
cpu_get_name(processor_name);
debug("CPU: %s\n", processor_name);
- lapic_setup();
-
apic_id = lapicid();
ret = find_cpu_by_apic_id(apic_id, devp);
if (ret) {