diff options
Diffstat (limited to 'arch/sh')
-rw-r--r-- | arch/sh/include/asm/sh_bios.h | 1 | ||||
-rw-r--r-- | arch/sh/kernel/sh_bios.c | 17 |
2 files changed, 0 insertions, 18 deletions
diff --git a/arch/sh/include/asm/sh_bios.h b/arch/sh/include/asm/sh_bios.h index 0ca261956e3d..d9c96d7cf6c7 100644 --- a/arch/sh/include/asm/sh_bios.h +++ b/arch/sh/include/asm/sh_bios.h | |||
@@ -10,7 +10,6 @@ | |||
10 | 10 | ||
11 | extern void sh_bios_console_write(const char *buf, unsigned int len); | 11 | extern void sh_bios_console_write(const char *buf, unsigned int len); |
12 | extern void sh_bios_char_out(char ch); | 12 | extern void sh_bios_char_out(char ch); |
13 | extern int sh_bios_in_gdb_mode(void); | ||
14 | extern void sh_bios_gdb_detach(void); | 13 | extern void sh_bios_gdb_detach(void); |
15 | 14 | ||
16 | extern void sh_bios_get_node_addr(unsigned char *node_addr); | 15 | extern void sh_bios_get_node_addr(unsigned char *node_addr); |
diff --git a/arch/sh/kernel/sh_bios.c b/arch/sh/kernel/sh_bios.c index ae64e6df2957..c852f7805728 100644 --- a/arch/sh/kernel/sh_bios.c +++ b/arch/sh/kernel/sh_bios.c | |||
@@ -9,11 +9,9 @@ | |||
9 | #include <asm/sh_bios.h> | 9 | #include <asm/sh_bios.h> |
10 | 10 | ||
11 | #define BIOS_CALL_CONSOLE_WRITE 0 | 11 | #define BIOS_CALL_CONSOLE_WRITE 0 |
12 | #define BIOS_CALL_READ_BLOCK 1 | ||
13 | #define BIOS_CALL_ETH_NODE_ADDR 10 | 12 | #define BIOS_CALL_ETH_NODE_ADDR 10 |
14 | #define BIOS_CALL_SHUTDOWN 11 | 13 | #define BIOS_CALL_SHUTDOWN 11 |
15 | #define BIOS_CALL_CHAR_OUT 0x1f /* TODO: hack */ | 14 | #define BIOS_CALL_CHAR_OUT 0x1f /* TODO: hack */ |
16 | #define BIOS_CALL_GDB_GET_MODE_PTR 0xfe | ||
17 | #define BIOS_CALL_GDB_DETACH 0xff | 15 | #define BIOS_CALL_GDB_DETACH 0xff |
18 | 16 | ||
19 | static inline long sh_bios_call(long func, long arg0, long arg1, long arg2, | 17 | static inline long sh_bios_call(long func, long arg0, long arg1, long arg2, |
@@ -41,21 +39,6 @@ void sh_bios_char_out(char ch) | |||
41 | sh_bios_call(BIOS_CALL_CHAR_OUT, ch, 0, 0, 0); | 39 | sh_bios_call(BIOS_CALL_CHAR_OUT, ch, 0, 0, 0); |
42 | } | 40 | } |
43 | 41 | ||
44 | int sh_bios_in_gdb_mode(void) | ||
45 | { | ||
46 | static char queried = 0; | ||
47 | static char *gdb_mode_p = 0; | ||
48 | |||
49 | if (!queried) { | ||
50 | /* Query the gdb stub for address of its gdb mode variable */ | ||
51 | long r = sh_bios_call(BIOS_CALL_GDB_GET_MODE_PTR, 0, 0, 0, 0); | ||
52 | if (r != ~0) /* BIOS returns -1 for unknown function */ | ||
53 | gdb_mode_p = (char *)r; | ||
54 | queried = 1; | ||
55 | } | ||
56 | return (gdb_mode_p != 0 ? *gdb_mode_p : 0); | ||
57 | } | ||
58 | |||
59 | void sh_bios_gdb_detach(void) | 42 | void sh_bios_gdb_detach(void) |
60 | { | 43 | { |
61 | sh_bios_call(BIOS_CALL_GDB_DETACH, 0, 0, 0, 0); | 44 | sh_bios_call(BIOS_CALL_GDB_DETACH, 0, 0, 0, 0); |