Module Name: src Committed By: bouyer Date: Sun Feb 14 13:41:51 UTC 2010
Modified Files: src/etc/etc.sparc64 [netbsd-5]: MAKEDEV.conf src/share/man/man4/man4.sparc64 [netbsd-5]: sab.4 src/sys/arch/sparc64/dev [netbsd-5]: sab.c Log Message: Pull up following revision(s) (requested by jdc in ticket #1297): etc/etc.sparc64/MAKEDEV.conf: revision 1.14 sys/arch/sparc64/dev/sab.c: revision 1.43, 1.44 share/man/man4/man4.sparc64/sab.4: revision 1.4 Allow the RSC to be the console on an E250, by checking for RSC-specific properties, and by not changing the port baud rate. To generate a diff of this commit: cvs rdiff -u -r1.13 -r1.13.2.1 src/etc/etc.sparc64/MAKEDEV.conf cvs rdiff -u -r1.3 -r1.3.4.1 src/share/man/man4/man4.sparc64/sab.4 cvs rdiff -u -r1.42 -r1.42.6.1 src/sys/arch/sparc64/dev/sab.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/etc/etc.sparc64/MAKEDEV.conf diff -u src/etc/etc.sparc64/MAKEDEV.conf:1.13 src/etc/etc.sparc64/MAKEDEV.conf:1.13.2.1 --- src/etc/etc.sparc64/MAKEDEV.conf:1.13 Sat Sep 13 11:46:18 2008 +++ src/etc/etc.sparc64/MAKEDEV.conf Sun Feb 14 13:41:50 2010 @@ -1,7 +1,8 @@ -# $NetBSD: MAKEDEV.conf,v 1.13 2008/09/13 11:46:18 tsutsui Exp $ +# $NetBSD: MAKEDEV.conf,v 1.13.2.1 2010/02/14 13:41:50 bouyer Exp $ all_md) - makedev std_sparc64 ttya ttyb ttyc ttyd ttyC00 ttyC01 ttyh0 ttyh1 + makedev std_sparc64 ttya ttyb ttyc ttyd ttyC00 ttyC01 + makedev ttyh0 ttyh1 ttyh2 ttyh3 makedev sd0 sd1 sd2 sd3 sd4 ss0 ch0 uk0 uk1 makedev wd0 wd1 wd2 wd3 cd0 st0 st1 fd0 makedev audio Index: src/share/man/man4/man4.sparc64/sab.4 diff -u src/share/man/man4/man4.sparc64/sab.4:1.3 src/share/man/man4/man4.sparc64/sab.4:1.3.4.1 --- src/share/man/man4/man4.sparc64/sab.4:1.3 Wed Apr 30 13:10:56 2008 +++ src/share/man/man4/man4.sparc64/sab.4 Sun Feb 14 13:41:50 2010 @@ -1,4 +1,4 @@ -.\" $NetBSD: sab.4,v 1.3 2008/04/30 13:10:56 martin Exp $ +.\" $NetBSD: sab.4,v 1.3.4.1 2010/02/14 13:41:50 bouyer Exp $ .\" .\" Copyright (c) 2003 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -24,7 +24,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd October 29, 2003 +.Dd January 18, 2010 .Dt SAB 4 sparc64 .Os .Sh NAME @@ -45,16 +45,24 @@ .Tn Infineon (previously .Tn Siemens ) -82532 serial communications interface found in Sun Ultra 5/10 -workstations. +82532 serial communications interface found in many +.Tn Sun Ultra +workstations and servers. .Pp Input and output speeds for each line may be set to any baud rate in the -following list: 50, 75, 110, 134, 150, 200, 300, 600, 1200, 1800, 2400, -4800, 9600, 19200, 38400, 57600, 76800, 115200, 153600, 230400, 307200, +following list: 50, 75, 110, 134, 150, 200, 300, 600, 1200, 1800, 2400, +4800, 9600, 19200, 38400, 57600, 76800, 115200, 153600, 230400, 307200, 460800, 614400, 921600. +.Sh NOTES +The speed cannot be changed on the ports connected the +.Tn Remote System Control +(RSC) on a +.Tn Sun Enterprise[tm] 250 Server +(ttyh2 and ttyh3). +These ports are fixed at 115200 baud. .Sh FILES .Bl -tag -width XdevXttyh0X -.It Pa /dev/ttyh[01] +.It Pa /dev/ttyh[0123] serial ports .El .Sh DIAGNOSTICS Index: src/sys/arch/sparc64/dev/sab.c diff -u src/sys/arch/sparc64/dev/sab.c:1.42 src/sys/arch/sparc64/dev/sab.c:1.42.6.1 --- src/sys/arch/sparc64/dev/sab.c:1.42 Wed Jun 11 18:52:32 2008 +++ src/sys/arch/sparc64/dev/sab.c Sun Feb 14 13:41:50 2010 @@ -1,4 +1,4 @@ -/* $NetBSD: sab.c,v 1.42 2008/06/11 18:52:32 cegger Exp $ */ +/* $NetBSD: sab.c,v 1.42.6.1 2010/02/14 13:41:50 bouyer Exp $ */ /* $OpenBSD: sab.c,v 1.7 2002/04/08 17:49:42 jason Exp $ */ /* @@ -42,7 +42,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: sab.c,v 1.42 2008/06/11 18:52:32 cegger Exp $"); +__KERNEL_RCSID(0, "$NetBSD: sab.c,v 1.42.6.1 2010/02/14 13:41:50 bouyer Exp $"); #include "opt_kgdb.h" #include <sys/types.h> @@ -104,14 +104,15 @@ u_char * sc_txp; int sc_txc; int sc_flags; -#define SABTTYF_STOP 0x01 -#define SABTTYF_DONE 0x02 -#define SABTTYF_RINGOVERFLOW 0x04 -#define SABTTYF_CDCHG 0x08 -#define SABTTYF_CONS_IN 0x10 -#define SABTTYF_CONS_OUT 0x20 -#define SABTTYF_TXDRAIN 0x40 -#define SABTTYF_DONTDDB 0x80 +#define SABTTYF_STOP 0x0001 +#define SABTTYF_DONE 0x0002 +#define SABTTYF_RINGOVERFLOW 0x0004 +#define SABTTYF_CDCHG 0x0008 +#define SABTTYF_CONS_IN 0x0010 +#define SABTTYF_CONS_OUT 0x0020 +#define SABTTYF_TXDRAIN 0x0040 +#define SABTTYF_DONTDDB 0x0080 +#define SABTTYF_IS_RSC 0x0100 uint8_t sc_rbuf[SABTTY_RBUF_SIZE]; uint8_t *sc_rend, *sc_rput, *sc_rget; uint8_t sc_polling, sc_pollrfc; @@ -442,7 +443,10 @@ } t.c_ispeed= 0; - t.c_ospeed = 9600; + if (sc->sc_flags & SABTTYF_IS_RSC) + t.c_ospeed = 115200; + else + t.c_ospeed = 9600; t.c_cflag = CREAD | CS8 | HUPCL; sc->sc_tty->t_ospeed = 0; sabttyparam(sc, sc->sc_tty, &t); @@ -1032,7 +1036,7 @@ dafo |= SAB_DAFO_PAR_NONE; SAB_WRITE(sc, SAB_DAFO, dafo); - if (ospeed != 0) { + if (!(sc->sc_flags & SABTTYF_IS_RSC) && ospeed != 0) { SAB_WRITE(sc, SAB_BGR, ospeed & 0xff); r = SAB_READ(sc, SAB_CCR2); r &= ~(SAB_CCR2_BR9 | SAB_CCR2_BR8); @@ -1299,6 +1303,10 @@ if (channel == cookie) sc->sc_flags |= SABTTYF_CONS_OUT; } + /* Are we connected to an E250 RSC? */ + if (channel == prom_getpropint(node, "ssp-console", -1) || + channel == prom_getpropint(node, "ssp-control", -1)) + sc->sc_flags |= SABTTYF_IS_RSC; } void