Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9731191f authored by Jason Wessel's avatar Jason Wessel
Browse files

kgdboc: Add ekgdboc for early use of the kernel debugger



The ekgdboc= differs from kgdboc= in that you can begin debuggin as
soon as the exceptions are setup and the kgdb I/O driver is available,
instead of waiting until the tty subsystem is available.

CC: kgdb-bugreport@lists.sourceforge.net
Signed-off-by: default avatarJason Wessel <jason.wessel@windriver.com>
parent 0bb9fef9
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -713,6 +713,12 @@ and is between 256 and 4096 characters. It is defined in the file
			The VGA output is eventually overwritten by the real
			console.

	ekgdboc=	[X86,KGDB] Allow early kernel console debugging
			ekgdboc=kbd

			This is desgined to be used in conjunction with
			the boot argument: earlyprintk=vga

	eata=		[HW,SCSI]

	edd=		[EDD]
+19 −0
Original line number Diff line number Diff line
@@ -223,6 +223,25 @@ static struct kgdb_io kgdboc_io_ops = {
	.post_exception		= kgdboc_post_exp_handler,
};

#ifdef CONFIG_KGDB_SERIAL_CONSOLE
/* This is only available if kgdboc is a built in for early debugging */
int __init kgdboc_early_init(char *opt)
{
	/* save the first character of the config string because the
	 * init routine can destroy it.
	 */
	char save_ch;

	kgdboc_option_setup(opt);
	save_ch = config[0];
	init_kgdboc();
	config[0] = save_ch;
	return 0;
}

early_param("ekgdboc", kgdboc_early_init);
#endif /* CONFIG_KGDB_SERIAL_CONSOLE */

module_init(init_kgdboc);
module_exit(cleanup_kgdboc);
module_param_call(kgdboc, param_set_kgdboc_var, param_get_string, &kps, 0644);