Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb

* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb:
  vt,console,kdb: preserve console_blanked while in kdb
  vt: fix regression warnings from KMS merge
  arm,kgdb: fix GDB_MAX_REGS no longer used
  kgdb: add missing __percpu markup in arch/x86/kernel/kgdb.c
  kdb: fix compile error without CONFIG_KALLSYMS
This commit is contained in:
Linus Torvalds 2010-08-17 18:36:19 -07:00
commit 392abeea52
4 changed files with 17 additions and 7 deletions

View File

@ -194,7 +194,7 @@ static struct hw_breakpoint {
unsigned long addr; unsigned long addr;
int len; int len;
int type; int type;
struct perf_event **pev; struct perf_event * __percpu *pev;
} breakinfo[HBP_NUM]; } breakinfo[HBP_NUM];
static unsigned long early_dr7; static unsigned long early_dr7;

View File

@ -194,10 +194,11 @@ static DECLARE_WORK(console_work, console_callback);
int fg_console; int fg_console;
int last_console; int last_console;
int want_console = -1; int want_console = -1;
int saved_fg_console; static int saved_fg_console;
int saved_last_console; static int saved_last_console;
int saved_want_console; static int saved_want_console;
int saved_vc_mode; static int saved_vc_mode;
static int saved_console_blanked;
/* /*
* For each existing display, we have a pointer to console currently visible * For each existing display, we have a pointer to console currently visible
@ -3449,6 +3450,7 @@ int con_debug_enter(struct vc_data *vc)
saved_last_console = last_console; saved_last_console = last_console;
saved_want_console = want_console; saved_want_console = want_console;
saved_vc_mode = vc->vc_mode; saved_vc_mode = vc->vc_mode;
saved_console_blanked = console_blanked;
vc->vc_mode = KD_TEXT; vc->vc_mode = KD_TEXT;
console_blanked = 0; console_blanked = 0;
if (vc->vc_sw->con_debug_enter) if (vc->vc_sw->con_debug_enter)
@ -3492,6 +3494,7 @@ int con_debug_leave(void)
fg_console = saved_fg_console; fg_console = saved_fg_console;
last_console = saved_last_console; last_console = saved_last_console;
want_console = saved_want_console; want_console = saved_want_console;
console_blanked = saved_console_blanked;
vc_cons[fg_console].d->vc_mode = saved_vc_mode; vc_cons[fg_console].d->vc_mode = saved_vc_mode;
vc = vc_cons[fg_console].d; vc = vc_cons[fg_console].d;

View File

@ -255,7 +255,14 @@ extern void kdb_ps1(const struct task_struct *p);
extern void kdb_print_nameval(const char *name, unsigned long val); extern void kdb_print_nameval(const char *name, unsigned long val);
extern void kdb_send_sig_info(struct task_struct *p, struct siginfo *info); extern void kdb_send_sig_info(struct task_struct *p, struct siginfo *info);
extern void kdb_meminfo_proc_show(void); extern void kdb_meminfo_proc_show(void);
#ifdef CONFIG_KALLSYMS
extern const char *kdb_walk_kallsyms(loff_t *pos); extern const char *kdb_walk_kallsyms(loff_t *pos);
#else /* ! CONFIG_KALLSYMS */
static inline const char *kdb_walk_kallsyms(loff_t *pos)
{
return NULL;
}
#endif /* ! CONFIG_KALLSYMS */
extern char *kdb_getstr(char *, size_t, char *); extern char *kdb_getstr(char *, size_t, char *);
/* Defines for kdb_symbol_print */ /* Defines for kdb_symbol_print */

View File

@ -82,8 +82,8 @@ static char *kdb_name_table[100]; /* arbitrary size */
int kdbnearsym(unsigned long addr, kdb_symtab_t *symtab) int kdbnearsym(unsigned long addr, kdb_symtab_t *symtab)
{ {
int ret = 0; int ret = 0;
unsigned long symbolsize; unsigned long symbolsize = 0;
unsigned long offset; unsigned long offset = 0;
#define knt1_size 128 /* must be >= kallsyms table size */ #define knt1_size 128 /* must be >= kallsyms table size */
char *knt1 = NULL; char *knt1 = NULL;