Another sxt bug: VAX console

Joseph S. D. Yao jsdy at hadron.UUCP
Wed Dec 25 16:49:22 AEST 1985


The sxt driver does not recognise the VAX console as a tty device,
and consequently does not allow it to be associated with an sxt.
This is because it isn't really a tty device -- it is a separate
processor with the console terminal and boot load device as its
peripherals.  Setting up the console to resemble a tty device is
not a good solution, as that means that the console boot device
then also gets treated as a tty device.  The following is a diff
of the change made here, annotated since there are different
versions of the SXT driver.  Basically, the change is to modify
the tty check on an sxtioctl SXTIOCLINK so that before returning
an error it checks whether the offending device is in fact the
console.

==========
6a7,9
3: /*
4:  * SXT --  Driver for shell layers
5:  */
6: 
> #ifndef	lint
>   static char SCCS_id[] = "%W%";
> #endif	lint
7: 
30a34,36
29: #include "sys/sxt.h"
30: 
> #define CONSOLE	0	/* Device number of console. */
> 
> extern struct tty con_tty;
31: 
249,250c255,259
214: sxtioctl(dev, cmd, arg, mode)
215: {
	...
243:	case SXTIOCLINK:
244:		if (arg > MAXPCHAN || arg < 1) {
245:			u.u_error = EINVAL;
246:			break;
247:		}
248:		if(  (tp = cdevsw[major(u.u_ttyd)].d_ttys) == NULL) {
< 			u.u_error = ENOTTY;
< 			break;
---
> 			if (u.u_ttyd != CONSOLE) {
> 				u.u_error = ENOTTY;
> 				break;
> 			}
> 			tp = &con_tty;
251: 		}
-- 

	Joe Yao		hadron!jsdy at seismo.{CSS.GOV,ARPA,UUCP}



More information about the Net.bugs.usg mailing list