Subversion Repositories HelenOS-historic

Rev

Rev 534 | Rev 825 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 534 Rev 576
Line 24... Line 24...
24
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
25
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26
 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
 */
27
 */
28
 
28
 
29
#ifndef __INTERRUPT_H__
29
#ifndef __ia32_INTERRUPT_H__
30
#define __INTERRUPT_H__
30
#define __ia32_INTERRUPT_H__
31
 
31
 
32
#include <arch/types.h>
32
#include <arch/types.h>
33
#include <arch/pm.h>
33
#include <arch/pm.h>
34
 
34
 
35
#define IVT_ITEMS       IDT_ITEMS
35
#define IVT_ITEMS       IDT_ITEMS
Line 59... Line 59...
59
 
59
 
60
#define VECTOR_SYSCALL          (IVT_FREEBASE+0)
60
#define VECTOR_SYSCALL          (IVT_FREEBASE+0)
61
#define VECTOR_TLB_SHOOTDOWN_IPI    (IVT_FREEBASE+1)
61
#define VECTOR_TLB_SHOOTDOWN_IPI    (IVT_FREEBASE+1)
62
#define VECTOR_WAKEUP_IPI       (IVT_FREEBASE+2)
62
#define VECTOR_WAKEUP_IPI       (IVT_FREEBASE+2)
63
 
63
 
64
typedef void (* iroutine)(__u8 n, __native stack[]);
-
 
65
 
-
 
66
extern void (* disable_irqs_function)(__u16 irqmask);
64
extern void (* disable_irqs_function)(__u16 irqmask);
67
extern void (* enable_irqs_function)(__u16 irqmask);
65
extern void (* enable_irqs_function)(__u16 irqmask);
68
extern void (* eoi_function)(void);
66
extern void (* eoi_function)(void);
69
 
67
 
70
extern iroutine trap_register(__u8 n, iroutine f);
-
 
71
 
-
 
72
extern void trap_dispatcher(__u8 n, __native stack[]);
-
 
73
 
-
 
74
extern void null_interrupt(__u8 n, __native stack[]);
68
extern void null_interrupt(int n, void *stack);
75
extern void gp_fault(__u8 n, __native stack[]);
69
extern void gp_fault(int n, void *stack);
76
extern void nm_fault(__u8 n, __native stack[]);
70
extern void nm_fault(int n, void *stack);
77
extern void ss_fault(__u8 n, __native stack[]);
71
extern void ss_fault(int n, void *stack);
78
extern void page_fault(__u8 n, __native stack[]);
72
extern void page_fault(int n, void *stack);
79
extern void syscall(__u8 n, __native stack[]);
73
extern void syscall(int n, void *stack);
80
extern void tlb_shootdown_ipi(__u8 n, __native stack[]);
74
extern void tlb_shootdown_ipi(int n, void *stack);
81
extern void wakeup_ipi(__u8 n, __native stack[]);
75
extern void wakeup_ipi(int n, void *stack);
82
 
76
 
83
extern void trap_virtual_enable_irqs(__u16 irqmask);
77
extern void trap_virtual_enable_irqs(__u16 irqmask);
84
extern void trap_virtual_disable_irqs(__u16 irqmask);
78
extern void trap_virtual_disable_irqs(__u16 irqmask);
85
extern void trap_virtual_eoi(void);
79
extern void trap_virtual_eoi(void);
86
 
80