Date: Sun, 14 Nov 2004 12:08:05 +0200 From: Ruslan Ermilov <ru@FreeBSD.org> To: "David O'Brien" <obrien@FreeBSD.org>, John Baldwin <jhb@FreeBSD.org> Cc: freebsd-hackers@FreeBSD.org Subject: Re: boot serial console speed Message-ID: <20041114100805.GF84553@ip.net.ua> In-Reply-To: <20041114093850.GE84553@ip.net.ua> References: <20041114083914.B43BC43D1D@mx1.FreeBSD.org> <20041114093850.GE84553@ip.net.ua>
next in thread | previous in thread | raw e-mail | index | archive | help
--iAL9S67WQOXgEPD9 Content-Type: multipart/mixed; boundary="i3lJ51RuaGWuFYNw" Content-Disposition: inline --i3lJ51RuaGWuFYNw Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sun, Nov 14, 2004 at 11:38:50AM +0200, Ruslan Ermilov wrote: > On Sun, Nov 14, 2004 at 10:39:13AM +0200, Danny Braniss wrote: > > what's the magic encantation to set the console to 38400? > > btw, i solved my problem by just commenting out that part of the code, > > since i rely on the bios setting it. > >=20 > > from src/sys/boot/i386/boot0/Makefile: > >=20 > > # Comm settings for boot0sio. 0xE3 =3D> 9600 8-N-1 > > # XXX: We should create a build-tool or something to convert BOOT_CONSO= LE_SPEED > > # and BOOT_COMCONSOLE_PORT into the correct values to define on the bui= ld > > # command line > > BOOT_BOOT0_COMCONSOLE_SPEED?=3D 0xE3 > >=20 > This is the value passed in the AL register to the Int 14/AH=3D00h > BIOS function: >=20 > http://www.ctyme.com/intr/rb-0811.htm >=20 > : Bit(s) Description (Table 00300) > : 7-5 data rate (110,150,300,600,1200,2400,4800,9600 bps) > : 4-3 parity (00 or 10 =3D none, 01 =3D odd, 11 =3D even) > : 2 stop bits (set =3D 2, clear =3D 1) > : 1-0 data bits (00 =3D 5, 01 =3D 6, 10 =3D 7, 11 =3D 8) >=20 > 0xE3 =3D 111-00-0-11 =3D 9600 bps, no parity, 1 stop bit, 8 data bits >=20 > But I think it's not possible to set it to anything above 9600 bps > using this BIOS call. >=20 Attached is the patch that converts supported BOOT_COMCONSOLE_SPEED values into corresponding BOOT_BOOT0_COMCONSOLE_SPEED. Unsupported BOOT_COMCONSOLE_VALUES cause the boot0sio console speed to be set to 9600. Cheers, --=20 Ruslan Ermilov ru@FreeBSD.org FreeBSD committer --i3lJ51RuaGWuFYNw Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename=p Content-Transfer-Encoding: quoted-printable Index: Makefile =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /home/ncvs/src/sys/boot/i386/boot0/Makefile,v retrieving revision 1.30 diff -u -r1.30 Makefile --- Makefile 27 Aug 2004 00:18:03 -0000 1.30 +++ Makefile 14 Nov 2004 10:04:36 -0000 @@ -21,11 +21,34 @@ # unless you are glutton for punishment. BOOT_BOOT0_ORG?=3D 0x600 =20 -# Comm settings for boot0sio. 0xE3 =3D> 9600 8-N-1 -# XXX: We should create a build-tool or something to convert BOOT_CONSOLE_= SPEED -# and BOOT_COMCONSOLE_PORT into the correct values to define on the build -# command line -BOOT_BOOT0_COMCONSOLE_SPEED?=3D 0xE3 +# Comm settings for boot0sio. +# Bit(s) Description +# 7-5 data rate (110,150,300,600,1200,2400,4800,9600 bps) +# 4-3 parity (00 or 10 =3D none, 01 =3D odd, 11 =3D even) +# 2 stop bits (set =3D 2, clear =3D 1) +# 1-0 data bits (00 =3D 5, 01 =3D 6, 10 =3D 7, 11 =3D 8) +.if !defined(BOOT_BOOT0_COMCONSOLE_SPEED) +BOOT_COMCONSOLE_SPEED?=3D 9600 +.if ${BOOT_COMCONSOLE_SPEED} =3D=3D 9600 +BOOT_BOOT0_COMCONSOLE_SPEED=3D "7 << 5 + 3" +.elif ${BOOT_COMCONSOLE_SPEED} =3D=3D 4800 +BOOT_BOOT0_COMCONSOLE_SPEED=3D "6 << 5 + 3" +.elif ${BOOT_COMCONSOLE_SPEED} =3D=3D 2400 +BOOT_BOOT0_COMCONSOLE_SPEED=3D "5 << 5 + 3" +.elif ${BOOT_COMCONSOLE_SPEED} =3D=3D 1200 +BOOT_BOOT0_COMCONSOLE_SPEED=3D "4 << 5 + 3" +.elif ${BOOT_COMCONSOLE_SPEED} =3D=3D 600 +BOOT_BOOT0_COMCONSOLE_SPEED=3D "3 << 5 + 3" +.elif ${BOOT_COMCONSOLE_SPEED} =3D=3D 300 +BOOT_BOOT0_COMCONSOLE_SPEED=3D "2 << 5 + 3" +.elif ${BOOT_COMCONSOLE_SPEED} =3D=3D 150 +BOOT_BOOT0_COMCONSOLE_SPEED=3D "1 << 5 + 3" +.elif ${BOOT_COMCONSOLE_SPEED} =3D=3D 110 +BOOT_BOOT0_COMCONSOLE_SPEED=3D "0 << 5 + 3" +.else +BOOT_BOOT0_COMCONSOLE_SPEED=3D "7 << 5 + 3" +.endif +.endif =20 CFLAGS+=3D-DFLAGS=3D${BOOT_BOOT0_FLAGS} \ -DTICKS=3D${BOOT_BOOT0_TICKS} \ --i3lJ51RuaGWuFYNw-- --iAL9S67WQOXgEPD9 Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.6 (FreeBSD) iD8DBQFBly6FqRfpzJluFF4RAmPrAJ0XHq1Tq8uO3Og+LNfQtCF2BHpuiQCgk5YQ xh0FdkKIZEj2Ppluf8/k1do= =2NFN -----END PGP SIGNATURE----- --iAL9S67WQOXgEPD9--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20041114100805.GF84553>