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: kgdb: gdb documentation fix kgdb,i386: use address that SP register points to in the exception frame sysrq, intel_fb: fix sysrq g collision
This commit is contained in:
Коммит
ade385e4d1
|
@ -281,7 +281,7 @@
|
|||
seriously wrong while debugging, it will most often be the case
|
||||
that you want to enable gdb to be verbose about its target
|
||||
communications. You do this prior to issuing the <constant>target
|
||||
remote</constant> command by typing in: <constant>set remote debug 1</constant>
|
||||
remote</constant> command by typing in: <constant>set debug remote 1</constant>
|
||||
</para>
|
||||
</chapter>
|
||||
<chapter id="KGDBTestSuite">
|
||||
|
|
|
@ -88,6 +88,7 @@ void pt_regs_to_gdb_regs(unsigned long *gdb_regs, struct pt_regs *regs)
|
|||
gdb_regs[GDB_SS] = __KERNEL_DS;
|
||||
gdb_regs[GDB_FS] = 0xFFFF;
|
||||
gdb_regs[GDB_GS] = 0xFFFF;
|
||||
gdb_regs[GDB_SP] = (int)®s->sp;
|
||||
#else
|
||||
gdb_regs[GDB_R8] = regs->r8;
|
||||
gdb_regs[GDB_R9] = regs->r9;
|
||||
|
@ -100,8 +101,8 @@ void pt_regs_to_gdb_regs(unsigned long *gdb_regs, struct pt_regs *regs)
|
|||
gdb_regs32[GDB_PS] = regs->flags;
|
||||
gdb_regs32[GDB_CS] = regs->cs;
|
||||
gdb_regs32[GDB_SS] = regs->ss;
|
||||
#endif
|
||||
gdb_regs[GDB_SP] = regs->sp;
|
||||
#endif
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -406,7 +406,7 @@ static struct sysrq_key_op *sysrq_key_table[36] = {
|
|||
&sysrq_showlocks_op, /* d */
|
||||
&sysrq_term_op, /* e */
|
||||
&sysrq_moom_op, /* f */
|
||||
/* g: May be registered by ppc for kgdb */
|
||||
/* g: May be registered for the kernel debugger */
|
||||
NULL, /* g */
|
||||
NULL, /* h - reserved for help */
|
||||
&sysrq_kill_op, /* i */
|
||||
|
@ -431,7 +431,7 @@ static struct sysrq_key_op *sysrq_key_table[36] = {
|
|||
&sysrq_sync_op, /* s */
|
||||
&sysrq_showstate_op, /* t */
|
||||
&sysrq_mountro_op, /* u */
|
||||
/* v: May be registered at init time by SMP VOYAGER */
|
||||
/* v: May be registered for frame buffer console restore */
|
||||
NULL, /* v */
|
||||
&sysrq_showstate_blocked_op, /* w */
|
||||
/* x: May be registered on ppc/powerpc for xmon */
|
||||
|
|
|
@ -864,7 +864,7 @@ static void intelfb_sysrq(int dummy1, struct tty_struct *dummy3)
|
|||
|
||||
static struct sysrq_key_op sysrq_intelfb_restore_op = {
|
||||
.handler = intelfb_sysrq,
|
||||
.help_msg = "force-fb(G)",
|
||||
.help_msg = "force-fb(V)",
|
||||
.action_msg = "Restore framebuffer console",
|
||||
};
|
||||
|
||||
|
@ -898,7 +898,7 @@ int intelfb_probe(struct drm_device *dev)
|
|||
ret = intelfb_single_fb_probe(dev);
|
||||
}
|
||||
|
||||
register_sysrq_key('g', &sysrq_intelfb_restore_op);
|
||||
register_sysrq_key('v', &sysrq_intelfb_restore_op);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
|
|
@ -1583,8 +1583,8 @@ static void sysrq_handle_gdb(int key, struct tty_struct *tty)
|
|||
|
||||
static struct sysrq_key_op sysrq_gdb_op = {
|
||||
.handler = sysrq_handle_gdb,
|
||||
.help_msg = "Gdb",
|
||||
.action_msg = "GDB",
|
||||
.help_msg = "debug(G)",
|
||||
.action_msg = "DEBUG",
|
||||
};
|
||||
#endif
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче