
Hi Bin,
On 28 April 2015 at 02:16, Bin Meng bmeng.cn@gmail.com wrote:
Hi Simon,
On Tue, Apr 28, 2015 at 6:48 AM, Simon Glass sjg@chromium.org wrote:
Add a function to return the address of the Interrupt Descriptor Table.
Signed-off-by: Simon Glass sjg@chromium.org
arch/x86/cpu/interrupts.c | 5 +++++ arch/x86/include/asm/interrupt.h | 2 ++ 2 files changed, 7 insertions(+)
diff --git a/arch/x86/cpu/interrupts.c b/arch/x86/cpu/interrupts.c index a21d2a6..c777d36 100644 --- a/arch/x86/cpu/interrupts.c +++ b/arch/x86/cpu/interrupts.c @@ -147,6 +147,11 @@ int cpu_init_interrupts(void) return 0; }
+void *x86_get_idt(void) +{
return &idt_ptr;
+}
idt_ptr is not declared as static, so this is unneeded? Or should we change it to static?
I think it is better to access it via a function. It is used from assembler so I would rather not make it static. Any thoughts?
void __do_irq(int irq) { printf("Unhandled IRQ : %d\n", irq); diff --git a/arch/x86/include/asm/interrupt.h b/arch/x86/include/asm/interrupt.h index 25abde7..0a75f89 100644 --- a/arch/x86/include/asm/interrupt.h +++ b/arch/x86/include/asm/interrupt.h @@ -38,4 +38,6 @@ extern char exception_stack[]; */ void configure_irq_trigger(int int_num, bool is_level_triggered);
+void *x86_get_idt(void);
#endif
Regards, Simon