-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
sh: Use a jump call table for debug trap handlers.
This rips out most of the needlessly complicated sh_bios and kgdb trap handling, and forces it all through a common fast dispatch path. As more debug traps are inserted, it's important to keep them in sync for all of the parts, not just SH-3/4. As the SH-2 parts are unable to do traps in the >= 0x40 range, we restrict the debug traps to the 0x30-0x3f range on all parts, and also bump the kgdb breakpoint trap down in to this range (from 0xff to 0x3c) so it's possible to use for nommu. Optionally, this table can be padded out to catch spurious traps for SH-3/4, but we don't do that yet.. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
- Loading branch information
Paul Mundt
committed
Feb 13, 2007
1 parent
ec2f9d1
commit f413d0d
Showing
8 changed files
with
117 additions
and
89 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
/* | ||
* arch/sh/kernel/debugtraps.S | ||
* | ||
* Debug trap jump tables for SuperH | ||
* | ||
* Copyright (C) 2006 Paul Mundt | ||
* | ||
* This file is subject to the terms and conditions of the GNU General Public | ||
* License. See the file "COPYING" in the main directory of this archive | ||
* for more details. | ||
*/ | ||
#include <linux/sys.h> | ||
#include <linux/linkage.h> | ||
|
||
#if !defined(CONFIG_SH_KGDB) | ||
#define kgdb_handle_exception debug_trap_handler | ||
#endif | ||
|
||
#if !defined(CONFIG_SH_STANDARD_BIOS) | ||
#define sh_bios_handler debug_trap_handler | ||
#endif | ||
|
||
.data | ||
|
||
ENTRY(debug_trap_table) | ||
.long debug_trap_handler /* 0x30 */ | ||
.long debug_trap_handler /* 0x31 */ | ||
.long debug_trap_handler /* 0x32 */ | ||
.long debug_trap_handler /* 0x33 */ | ||
.long debug_trap_handler /* 0x34 */ | ||
.long debug_trap_handler /* 0x35 */ | ||
.long debug_trap_handler /* 0x36 */ | ||
.long debug_trap_handler /* 0x37 */ | ||
.long debug_trap_handler /* 0x38 */ | ||
.long debug_trap_handler /* 0x39 */ | ||
.long debug_trap_handler /* 0x3a */ | ||
.long debug_trap_handler /* 0x3b */ | ||
.long kgdb_handle_exception /* 0x3c */ | ||
.long debug_trap_handler /* 0x3d */ | ||
.long bug_trap_handler /* 0x3e */ | ||
.long sh_bios_handler /* 0x3f */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters