1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- /*
- * (C) Copyright 2009
- * Graeme Russ, graeme.russ@gmail.com
- *
- * (C) Copyright 2002
- * Daniel Engström, Omicron Ceti AB, daniel@omicron.se
- *
- * SPDX-License-Identifier: GPL-2.0+
- */
- #ifndef __ASM_INTERRUPT_H_
- #define __ASM_INTERRUPT_H_ 1
- #include <asm/types.h>
- #define SYS_NUM_IRQS 16
- /* Architecture defined exceptions */
- enum x86_exception {
- EXC_DE = 0,
- EXC_DB,
- EXC_NMI,
- EXC_BP,
- EXC_OF,
- EXC_BR,
- EXC_UD,
- EXC_NM,
- EXC_DF,
- EXC_CSO,
- EXC_TS,
- EXC_NP,
- EXC_SS,
- EXC_GP,
- EXC_PF,
- EXC_MF = 16,
- EXC_AC,
- EXC_MC,
- EXC_XM,
- EXC_VE
- };
- /* arch/x86/cpu/interrupts.c */
- void set_vector(u8 intnum, void *routine);
- /* Architecture specific functions */
- void mask_irq(int irq);
- void unmask_irq(int irq);
- void specific_eoi(int irq);
- extern char exception_stack[];
- /**
- * configure_irq_trigger() - Configure IRQ triggering
- *
- * Switch the given interrupt to be level / edge triggered
- *
- * @param int_num legacy interrupt number (3-7, 9-15)
- * @param is_level_triggered true for level triggered interrupt, false for
- * edge triggered interrupt
- */
- void configure_irq_trigger(int int_num, bool is_level_triggered);
- void *x86_get_idt(void);
- #endif
|