lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Tue, 21 Oct 2008 14:08:41 -0600
From:	n0ano@...no.com
To:	Bjorn Helgaas <bjorn.helgaas@...com>
Cc:	n0ano@...no.com, Lennart Sorensen <lsorense@...lub.uwaterloo.ca>,
	Alan Cox <alan@...rguk.ukuu.org.uk>, donald.d.dugger@...el.com,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH] Enable console on PCI serial devices

On Mon, Oct 20, 2008 at 01:11:05PM -0600, Bjorn Helgaas wrote:
>... 
> Ideally we could put something in Documentation/kernel-parameters.txt
> that's useful for people who can't or don't want to look at
> the source.

How about this.  I've modified the doc slightly to indicate that the
magic number is the base baud used to calculate the divsor used against
the crystal frequency.  This should be sufficient for most people and
the curious should now have enough info to research the matter further.

Signed-off-by: Don Dugger <donald.d.dugger@...el.com>

-- 
Don Dugger
"Censeo Toto nos in Kansa esse decisse." - D. Gale
n0ano@...no.com
Ph: 303/443-3786

 Documentation/kernel-parameters.txt |   14 +++++++++-----
 drivers/serial/8250_early.c         |    5 +++++
 2 files changed, 14 insertions(+), 5 deletions(-)

diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index 82c561f..f07e77c 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -505,12 +505,16 @@ and is between 256 and 4096 characters. It is defined in the file
 			Documentation/networking/netconsole.txt for an
 			alternative.
 
-		uart[8250],io,<addr>[,options]
-		uart[8250],mmio,<addr>[,options]
+		uart[8250],io,<addr>[,options[,base]]
+		uart[8250],mmio,<addr>[,options[,base]]
 			Start an early, polled-mode console on the 8250/16550
 			UART at the specified I/O port or MMIO address,
 			switching to the matching ttyS device later.  The
-			options are the same as for ttyS, above.
+			"options" are the same as for ttyS, above.  "base"
+			is base baud, defaults to 115200, which is used to
+			calculate the divisor for the crystal frequency
+			(typically this is the fastest baud rate supported
+			by the uart).
 
                 If the device connected to the port is not a TTY but a braille
                 device, prepend "brl," before the device type, for instance
@@ -518,8 +522,8 @@ and is between 256 and 4096 characters. It is defined in the file
 		For now, only VisioBraille is supported.
 
 	earlycon=	[KNL] Output early console device and options.
-		uart[8250],io,<addr>[,options]
-		uart[8250],mmio,<addr>[,options]
+		uart[8250],io,<addr>[,options,[base]]
+		uart[8250],mmio,<addr>[,options,[base]]
 			Start an early, polled-mode console on the 8250/16550
 			UART at the specified I/O port or MMIO address.
 			The options are the same as for ttyS, above.
diff --git a/drivers/serial/8250_early.c b/drivers/serial/8250_early.c
index f279745..edd5803 100644
--- a/drivers/serial/8250_early.c
+++ b/drivers/serial/8250_early.c
@@ -180,6 +180,11 @@ static int __init parse_options(struct early_serial8250_device *device,
 		snprintf(device->options, sizeof(device->options), "%u",
 			device->baud);
 	}
+	options = strchr(options, ',');
+	if (options) {
+		options++;
+		port->uartclk = simple_strtoul(options, NULL, 0) * 16;
+	}
 
 	printk(KERN_INFO "Early serial console at %s 0x%llx (options '%s')\n",
 		mmio ? "MMIO" : "I/O port",
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ