blob: b0449b9c27e6e84e833f17a6b1f5f98a57eb6224 [file] [log] [blame]
/*
* romwrappers.S
*
* Copyright (C) 2001, 2002, 2005 Imagination Technologies.
*
* This program is free software; you can redistribute it and/or modify it under
* the terms of the GNU General Public License version 2 as published by the
* Free Software Foundation.
*
* ROM interrupt wrap routines that divert the return path from the default
* code to a replacement. Only install these handlers if the tbi_vectors[]
* entry is valid!
*/
.file "romwrappers.S"
#include <asm/traps.h>
/** Function - wrapper for fault handler */
.text
.type _fault_wrapper,function
.global _fault_wrapper
_fault_wrapper:
MOVT D0Re0,#HI(_tbi_vectors + (TBI_VEC_RESUME * 4))
ADD D0Re0,D0Re0,#LO(_tbi_vectors + (TBI_VEC_RESUME * 4))
GETD D1RtP,[D0Re0]
B _fault_handler
.size _fault_wrapper,.-_fault_wrapper
/** Function - wrapper for switch 1 (syscall) handler */
.type _switch1_wrapper,function
.global _switch1_wrapper
_switch1_wrapper:
MOVT D0Re0,#HI(_tbi_vectors + (TBI_VEC_RESUME * 4))
ADD D0Re0,D0Re0,#LO(_tbi_vectors + (TBI_VEC_RESUME * 4))
GETD D1RtP,[D0Re0]
B _switch1_handler
.size _switch1_wrapper,.-_switch1_wrapper
/** Function - wrapper for unhandled switch handler */
.type _switchx_wrapper,function
.global _switchx_wrapper
_switchx_wrapper:
MOVT D0Re0,#HI(_tbi_vectors + (TBI_VEC_RESUME * 4))
ADD D0Re0,D0Re0,#LO(_tbi_vectors + (TBI_VEC_RESUME * 4))
GETD D1RtP,[D0Re0]
B _switchx_handler
.size _switchx_wrapper,.-_switchx_wrapper
/** Function - wrapper for generic interrupt handler */
.type _trigger_wrapper,function
.global _trigger_wrapper
_trigger_wrapper:
MOVT D0Re0,#HI(_tbi_vectors + (TBI_VEC_RESUME * 4))
ADD D0Re0,D0Re0,#LO(_tbi_vectors + (TBI_VEC_RESUME * 4))
GETD D1RtP,[D0Re0]
B _trigger_handler
.size _trigger_wrapper,.-_trigger_wrapper
/** Function - wrapper for kick interrupt handler */
.type _kick_wrapper,function
.global _kick_wrapper
_kick_wrapper:
MOVT D0Re0,#HI(_tbi_vectors + (TBI_VEC_RESUME * 4))
ADD D0Re0,D0Re0,#LO(_tbi_vectors + (TBI_VEC_RESUME * 4))
GETD D1RtP,[D0Re0]
B _kick_handler
.size _kick_wrapper,.-_kick_wrapper