Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 42288
b: refs/heads/master
c: e042604
h: refs/heads/master
v: v3
  • Loading branch information
Michael Ellerman authored and Paul Mackerras committed Dec 4, 2006
1 parent 6acafbd commit 20a0234
Show file tree
Hide file tree
Showing 7 changed files with 50 additions and 11 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: af89fb8041562508895c8f3ba04790d7c2f4338c
refs/heads/master: e0426047cb684842700f0098f74842a38260dbae
9 changes: 9 additions & 0 deletions trunk/arch/powerpc/Kconfig.debug
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,15 @@ config XMON_DEFAULT
xmon is normally disabled unless booted with 'xmon=on'.
Use 'xmon=off' to disable xmon init during runtime.

config XMON_DISASSEMBLY
bool "Include disassembly support in xmon"
depends on XMON
default y
help
Include support for disassembling in xmon. You probably want
to say Y here, unless you're building for a memory-constrained
system.

config IRQSTACKS
bool "Use separate kernel stacks when processing interrupts"
depends on PPC64
Expand Down
8 changes: 6 additions & 2 deletions trunk/arch/powerpc/xmon/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
ifdef CONFIG_PPC64
EXTRA_CFLAGS += -mno-minimal-toc
endif
obj-y += xmon.o ppc-dis.o ppc-opc.o setjmp.o start.o \
nonstdio.o

obj-y += xmon.o setjmp.o start.o nonstdio.o

ifdef CONFIG_XMON_DISASSEMBLY
obj-y += ppc-dis.o ppc-opc.o
obj-$(CONFIG_PPC_CELL) += spu-dis.o spu-opc.o
endif
31 changes: 31 additions & 0 deletions trunk/arch/powerpc/xmon/dis-asm.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
#ifndef _POWERPC_XMON_DIS_ASM_H
#define _POWERPC_XMON_DIS_ASM_H
/*
* Copyright (C) 2006 Michael Ellerman, IBM Corporation.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version
* 2 of the License, or (at your option) any later version.
*/

extern void print_address (unsigned long memaddr);

#ifdef CONFIG_XMON_DISASSEMBLY
extern int print_insn_powerpc(unsigned long insn, unsigned long memaddr);
extern int print_insn_spu(unsigned long insn, unsigned long memaddr);
#else
static inline int print_insn_powerpc(unsigned long insn, unsigned long memaddr)
{
printf("%.8x", insn);
return 0;
}

static inline int print_insn_spu(unsigned long insn, unsigned long memaddr)
{
printf("%.8x", insn);
return 0;
}
#endif

#endif /* _POWERPC_XMON_DIS_ASM_H */
3 changes: 1 addition & 2 deletions trunk/arch/powerpc/xmon/ppc-dis.c
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
#include "nonstdio.h"
#include "ansidecl.h"
#include "ppc.h"

extern void print_address (unsigned long memaddr);
#include "dis-asm.h"

/* Print a PowerPC or POWER instruction. */

Expand Down
3 changes: 1 addition & 2 deletions trunk/arch/powerpc/xmon/spu-dis.c
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,7 @@
#include "nonstdio.h"
#include "ansidecl.h"
#include "spu.h"

extern void print_address (unsigned long memaddr);
#include "dis-asm.h"

/* This file provides a disassembler function which uses
the disassembler interface defined in dis-asm.h. */
Expand Down
5 changes: 1 addition & 4 deletions trunk/arch/powerpc/xmon/xmon.c
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@
#endif

#include "nonstdio.h"
#include "dis-asm.h"

#define scanhex xmon_scanhex
#define skipbl xmon_skipbl
Expand Down Expand Up @@ -110,7 +111,6 @@ static int bsesc(void);
static void dump(void);
static void prdump(unsigned long, long);
static int ppc_inst_dump(unsigned long, long, int);
void print_address(unsigned long);
static void backtrace(struct pt_regs *);
static void excprint(struct pt_regs *);
static void prregs(struct pt_regs *);
Expand Down Expand Up @@ -154,9 +154,6 @@ static int do_spu_cmd(void);

int xmon_no_auto_backtrace;

extern int print_insn_powerpc(unsigned long insn, unsigned long memaddr);
extern int print_insn_spu(unsigned long insn, unsigned long memaddr);

extern void xmon_enter(void);
extern void xmon_leave(void);

Expand Down

0 comments on commit 20a0234

Please sign in to comment.