Subversion Repositories HelenOS-historic

Compare Revisions

Ignore whitespace Rev 667 → Rev 666

/kernel/trunk/arch/sparc64/include/trap/exception.h
File deleted
/kernel/trunk/arch/sparc64/include/trap/interrupt.h
30,8 → 30,8
* This file contains interrupt vector trap handler.
*/
 
#ifndef __sparc64_TRAP_INTERRUPT_H__
#define __sparc64_TRAP_INTERRUPT_H__
#ifndef __sparc64_INTERRUPT_H__
#define __sparc64_INTERRUPT_H__
 
#include <arch/trap/trap_table.h>
#include <arch/stack.h>
59,10 → 59,10
 
#ifdef __ASM__
.macro INTERRUPT_LEVEL_N_HANDLER n
save %sp, -PREEMPTIBLE_HANDLER_STACK_FRAME_SIZE, %sp
save %sp, -STACK_WINDOW_SAVE_AREA_SIZE, %sp
mov \n - 1, %o0
mov %fp, %o1
PREEMPTIBLE_HANDLER exc_dispatch
SAVING_HANDLER exc_dispatch
.endm
 
.macro INTERRUPT_VECTOR_TRAP_HANDLER
/kernel/trunk/arch/sparc64/include/trap/trap_table.h
71,22 → 71,11
mov %l7, %g7
.endm
 
#define PREEMPTIBLE_HANDLER_STACK_FRAME_SIZE (STACK_WINDOW_SAVE_AREA_SIZE+(4*8))
#define SAVED_TSTATE -(1*8)
#define SAVED_TPC -(2*8)
#define SAVED_TNPC -(3*8)
#define SAVED_PSTATE -(4*8)
 
.macro PREEMPTIBLE_HANDLER f
.macro SAVING_HANDLER f
set \f, %l0
b preemptible_handler
b saving_handler
nop
.endm
 
.macro SIMPLE_HANDLER f
call \f
nop
.endm
#endif /* __ASM__ */
 
#endif