Skip to content

Commit

Permalink
sh: kgdb stub cleanups.
Browse files Browse the repository at this point in the history
Some kgdb cleanup. Move hexchars/highhex/lowhex to the header, so it can
be reused by sh-sci. Also drop silly ctrl_inl/outl() overloading being
done by the kgdb stub.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
  • Loading branch information
Paul Mundt committed Sep 27, 2006
1 parent 2549b32 commit 56e8d7b
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 28 deletions.
33 changes: 5 additions & 28 deletions arch/sh/kernel/kgdb_stub.c
Original file line number Diff line number Diff line change
Expand Up @@ -101,16 +101,17 @@
#include <linux/linkage.h>
#include <linux/init.h>

#ifdef CONFIG_SH_KGDB_CONSOLE
#include <linux/console.h>
#endif

#include <asm/system.h>
#include <asm/current.h>
#include <asm/signal.h>
#include <asm/pgtable.h>
#include <asm/ptrace.h>
#include <asm/kgdb.h>

#ifdef CONFIG_SH_KGDB_CONSOLE
#include <linux/console.h>
#endif
#include <asm/io.h>

/* Function pointers for linkage */
kgdb_debug_hook_t *kgdb_debug_hook;
Expand Down Expand Up @@ -240,7 +241,6 @@ static jmp_buf rem_com_env;
/* Misc static */
static int stepped_address;
static short stepped_opcode;
static const char hexchars[] = "0123456789abcdef";
static char in_buffer[BUFMAX];
static char out_buffer[OUTBUFMAX];

Expand All @@ -253,29 +253,6 @@ typedef unsigned char threadref[8];
#define BUF_THREAD_ID_SIZE 16
#endif

/* Return addr as a real volatile address */
static inline unsigned int ctrl_inl(const unsigned long addr)
{
return *(volatile unsigned long *) addr;
}

/* Correctly set *addr using volatile */
static inline void ctrl_outl(const unsigned int b, unsigned long addr)
{
*(volatile unsigned long *) addr = b;
}

/* Get high hex bits */
static char highhex(const int x)
{
return hexchars[(x >> 4) & 0xf];
}

/* Get low hex bits */
static char lowhex(const int x)
{
return hexchars[x & 0xf];
}

/* Convert ch to hex */
static int hex(const char ch)
Expand Down
15 changes: 15 additions & 0 deletions include/asm-sh/kgdb.h
Original file line number Diff line number Diff line change
Expand Up @@ -128,4 +128,19 @@ extern int setjmp(jmp_buf __jmpb);
#define KGDB_ASSERT(condition, message)
#endif

/* Taken from sh-stub.c of GDB 4.18 */
static const char hexchars[] = "0123456789abcdef";

/* Get high hex bits */
static inline char highhex(const int x)
{
return hexchars[(x >> 4) & 0xf];
}

/* Get low hex bits */
static inline char lowhex(const int x)
{
return hexchars[x & 0xf];
}

#endif

0 comments on commit 56e8d7b

Please sign in to comment.