Exceptions
I have been working through the initialization code for the MIPS/Linux kernel and have traced through to the point
where the MIPS exceptions are installed. I have not been able to locate the following routines
handle_adel
handle_ades
handle_sys
handle_bp
handle_n
handle_cpu
handle_ov
handle_tr
handle_fpe
I see where these are defined by "extern asmlinkage" references but can't locate the actual implementation of these exceptions. Any idea what files these routines might be located in? Any help would be greatly appreciated
Thank you,
Jeff Harrell
---------8< excerpt from kernel/traps.c -----
set_except_vector(1, handle_mod); set_except_vector(2, handle_tlbl); set_except_vector(3, handle_tlbs); set_except_vector(4, handle_adel); set_except_vector(5, handle_ades);
/*
* The Data Bus Error/ Instruction Bus Errors are signaled
* by external hardware. Therefore these two expection have
* board specific handlers.
*/
set_except_vector(6, handle_ibe); set_except_vector(7, handle_dbe); ibe_board_handler = default_be_board_handler; dbe_board_handler = default_be_board_handler;
set_except_vector(8, handle_sys);
set_except_vector(9, handle_bp);
set_except_vector(10, handle_ri);
set_except_vector(11, handle_cpu);
set_except_vector(12, handle_ov);
set_except_vector(13, handle_tr);
set_except_vector(15, handle_fpe);
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jeff Harrell Work: (801) 619-6104
Broadband Access group/TI
[email protected]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Quoted 15 lines · Jeff Harrell
I have been working through the initialization code for the MIPS/Linux kernel and have traced through to the point
where the MIPS exceptions are installed. I have not been able to locate the following routines
handle_adel
handle_ades
handle_sys
handle_bp
handle_n
handle_cpu
handle_ov
handle_tr
handle_fpe
Quoted 4 lines
I see where these are defined by "extern asmlinkage" references but can't locate the actual implementation of these exceptions. Any idea what files these routines might be located in? Any help would be greatly appreciated
They are located in arch/mips/kernel/entry.S
They are a little hard to find as they use the BUILD_HANDLER macro to extract the routines.
Quoted 30 lines
Thank you,
Jeff Harrell---------8< excerpt from
kernel/traps.c-----
set_except_vector(1, handle_mod);set_except_vector(2, handle_tlbl);set_except_vector(3, handle_tlbs);set_except_vector(4, handle_adel);set_except_vector(5, handle_ades);
/*
* The Data Bus Error/ Instruction Bus Errors are signaled
* by external hardware. Therefore these two expection have
* board specific handlers.
*/
set_except_vector(6, handle_ibe);set_except_vector(7, handle_dbe);ibe_board_handler=default_be_board_handler;dbe_board_handler=default_be_board_handler;
set_except_vector(8, handle_sys);
set_except_vector(9, handle_bp);
set_except_vector(10, handle_ri);
set_except_vector(11, handle_cpu);
set_except_vector(12, handle_ov);
set_except_vector(13, handle_tr);
set_except_vector(15, handle_fpe);
Quoted 6 lines
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jeff Harrell Work: (801) 619-6104
Broadband Access group/TI
[email protected]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--
_ _ ____ ___ Carsten Langgaard mailto:[email protected] |\ /|||___)(___ MIPS Denmark Direct: +45 4486 5527 | \/ ||| ____) Lautrupvang 2B Switch: +45 4486 5555 TECHNOLOGIES INC 2750 Ballerup Fax...: +45 4486 5556
Denmark http://www.mips.com
Quoted 15 lines · Carsten Langgaard
Quoted 15 lines
I have been working through the initialization code for the MIPS/Linux kernel and have traced through to the point
where the MIPS exceptions are installed. I have not been able to locate the following routines
handle_adel
handle_ades
handle_sys
handle_bp
handle_n
handle_cpu
handle_ov
handle_tr
handle_fpe
Quoted 8 lines
Quoted 4 lines
I see where these are defined by "extern asmlinkage" references but can't locate the actual implementation of these exceptions. Any idea what files these routines might be located in? Any help would be greatly appreciated
They are located in
arch/mips/kernel/entry.S
They are a little hard to find as they use theBUILD_HANDLERmacro to extract the routines.
No wonder why I haven't ever received a patch for these routines since the MIPS port exists :-)
They should be rewritten anyway; the current code expands the macro SAVE_ALL quite often, so has a bad cache performance.
Ralf