Subversion Repositories HelenOS-historic

Rev

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

Rev 664 Rev 666
Line 32... Line 32...
32
 
32
 
33
#ifndef __sparc64_INTERRUPT_H__
33
#ifndef __sparc64_INTERRUPT_H__
34
#define __sparc64_INTERRUPT_H__
34
#define __sparc64_INTERRUPT_H__
35
 
35
 
36
#include <arch/trap/trap_table.h>
36
#include <arch/trap/trap_table.h>
-
 
37
#include <arch/stack.h>
37
 
38
 
38
#define TT_INTERRUPT_LEVEL_1            0x41
39
#define TT_INTERRUPT_LEVEL_1            0x41
39
#define TT_INTERRUPT_LEVEL_2            0x42
40
#define TT_INTERRUPT_LEVEL_2            0x42
40
#define TT_INTERRUPT_LEVEL_3            0x43
41
#define TT_INTERRUPT_LEVEL_3            0x43
41
#define TT_INTERRUPT_LEVEL_4            0x44
42
#define TT_INTERRUPT_LEVEL_4            0x44
Line 56... Line 57...
56
#define INTERRUPT_LEVEL_N_HANDLER_SIZE      TRAP_TABLE_ENTRY_SIZE
57
#define INTERRUPT_LEVEL_N_HANDLER_SIZE      TRAP_TABLE_ENTRY_SIZE
57
#define INTERRUPT_VECTOR_TRAP_HANDLER_SIZE  TRAP_TABLE_ENTRY_SIZE
58
#define INTERRUPT_VECTOR_TRAP_HANDLER_SIZE  TRAP_TABLE_ENTRY_SIZE
58
 
59
 
59
#ifdef __ASM__
60
#ifdef __ASM__
60
.macro INTERRUPT_LEVEL_N_HANDLER n
61
.macro INTERRUPT_LEVEL_N_HANDLER n
61
    save %sp, -128, %sp
62
    save %sp, -STACK_WINDOW_SAVE_AREA_SIZE, %sp
62
    mov \n - 1, %o0
63
    mov \n - 1, %o0
63
    call exc_dispatch
-
 
64
    mov %fp, %o1
64
    mov %fp, %o1
65
    restore
65
    SAVING_HANDLER exc_dispatch
66
    retry
-
 
67
.endm
66
.endm
68
 
67
 
69
.macro INTERRUPT_VECTOR_TRAP_HANDLER
68
.macro INTERRUPT_VECTOR_TRAP_HANDLER
70
    retry
69
    retry
71
.endm
70
.endm