Skip to contentSkip to conversation

Exceptions

DISCUSSION Jeff Harrell 3 participants 3 messages Dec 8, 1999 – Dec 9, 1999 MIPS

lore
Share & tools
lore
#0 lore raw

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]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

#1 lore raw
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

#2 lore raw
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 the BUILD_HANDLER macro 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