summaryrefslogtreecommitdiff
path: root/arch/x86/cpu
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2015-07-31 09:31:32 -0600
committerSimon Glass <sjg@chromium.org>2015-08-05 08:42:41 -0600
commit8aba36d89675ff52f57410c8f5c42d37ef2ac8b4 (patch)
tree718de1bfc3e3a861b40ca79da5d420becbf657a4 /arch/x86/cpu
parent8b097916faa20f04ff4b0147ebcf0331204ec96b (diff)
downloadu-boot-imx-8aba36d89675ff52f57410c8f5c42d37ef2ac8b4.zip
u-boot-imx-8aba36d89675ff52f57410c8f5c42d37ef2ac8b4.tar.gz
u-boot-imx-8aba36d89675ff52f57410c8f5c42d37ef2ac8b4.tar.bz2
x86: Tidy up a few minor issues with interrupts
Fix a typo, remove an unused field and make sure to use existing #define constants instead of open-coded values. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Diffstat (limited to 'arch/x86/cpu')
-rw-r--r--arch/x86/cpu/interrupts.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/arch/x86/cpu/interrupts.c b/arch/x86/cpu/interrupts.c
index 853c82f..3a9c2d4 100644
--- a/arch/x86/cpu/interrupts.c
+++ b/arch/x86/cpu/interrupts.c
@@ -19,6 +19,7 @@
#include <asm/processor-flags.h>
#include <linux/compiler.h>
#include <asm/msr.h>
+#include <asm/processor.h>
#include <asm/u-boot-x86.h>
#include <asm/i8259.h>
@@ -46,7 +47,7 @@ static char *exceptions[] = {
"Invalid TSS",
"Segment Not Present",
"Stack Segment Fault",
- "Gerneral Protection",
+ "General Protection",
"Page Fault",
"Reserved",
"x87 FPU Floating-Point Error",
@@ -165,7 +166,6 @@ struct idt_entry {
struct desc_ptr {
unsigned short size;
unsigned long address;
- unsigned short segment;
} __packed;
struct idt_entry idt[256] __aligned(16);
@@ -202,14 +202,13 @@ int cpu_init_interrupts(void)
for (i = 0; i < 256; i++) {
idt[i].access = 0x8e;
idt[i].res = 0;
- idt[i].selector = 0x10;
+ idt[i].selector = X86_GDT_ENTRY_32BIT_CS * X86_GDT_ENTRY_SIZE;
set_vector(i, irq_entry);
irq_entry += irq_entry_size;
}
- idt_ptr.size = 256 * 8;
+ idt_ptr.size = 256 * 8 - 1;
idt_ptr.address = (unsigned long) idt;
- idt_ptr.segment = 0x18;
load_idt(&idt_ptr);