Subversion Repositories HelenOS-historic

Rev

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

Rev 666 Rev 667
Line 28... Line 28...
28
 
28
 
29
/**
29
/**
30
 * This file contains interrupt vector trap handler.
30
 * This file contains interrupt vector trap handler.
31
 */
31
 */
32
 
32
 
33
#ifndef __sparc64_INTERRUPT_H__
33
#ifndef __sparc64_TRAP_INTERRUPT_H__
34
#define __sparc64_INTERRUPT_H__
34
#define __sparc64_TRAP_INTERRUPT_H__
35
 
35
 
36
#include <arch/trap/trap_table.h>
36
#include <arch/trap/trap_table.h>
37
#include <arch/stack.h>
37
#include <arch/stack.h>
38
 
38
 
39
#define TT_INTERRUPT_LEVEL_1            0x41
39
#define TT_INTERRUPT_LEVEL_1            0x41
Line 57... Line 57...
57
#define INTERRUPT_LEVEL_N_HANDLER_SIZE      TRAP_TABLE_ENTRY_SIZE
57
#define INTERRUPT_LEVEL_N_HANDLER_SIZE      TRAP_TABLE_ENTRY_SIZE
58
#define INTERRUPT_VECTOR_TRAP_HANDLER_SIZE  TRAP_TABLE_ENTRY_SIZE
58
#define INTERRUPT_VECTOR_TRAP_HANDLER_SIZE  TRAP_TABLE_ENTRY_SIZE
59
 
59
 
60
#ifdef __ASM__
60
#ifdef __ASM__
61
.macro INTERRUPT_LEVEL_N_HANDLER n
61
.macro INTERRUPT_LEVEL_N_HANDLER n
62
    save %sp, -STACK_WINDOW_SAVE_AREA_SIZE, %sp
62
    save %sp, -PREEMPTIBLE_HANDLER_STACK_FRAME_SIZE, %sp
63
    mov \n - 1, %o0
63
    mov \n - 1, %o0
64
    mov %fp, %o1
64
    mov %fp, %o1
65
    SAVING_HANDLER exc_dispatch
65
    PREEMPTIBLE_HANDLER exc_dispatch
66
.endm
66
.endm
67
 
67
 
68
.macro INTERRUPT_VECTOR_TRAP_HANDLER
68
.macro INTERRUPT_VECTOR_TRAP_HANDLER
69
    retry
69
    retry
70
.endm
70
.endm