Fixed bugs introduced by syncing with i386/isa/sio.c revision 1.143.
Submitted by: Takahashi Yoshihiro <nyan@wyvern.cc.kogakuin.ac.jp>
This commit is contained in:
parent
971c9159f8
commit
4e82d9dc12
@ -31,7 +31,7 @@
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* from: @(#)com.c 7.5 (Berkeley) 5/16/91
|
||||
* $Id: sio.c,v 1.49 1998/01/22 03:52:55 kato Exp $
|
||||
* $Id: sio.c,v 1.50 1998/01/24 02:54:39 eivind Exp $
|
||||
*/
|
||||
|
||||
#include "opt_comconsole.h"
|
||||
@ -2317,36 +2317,36 @@ sioioctl(dev, cmd, data, flag, p)
|
||||
}
|
||||
#ifdef PC98
|
||||
if(IS_8251(com->pc98_if_type)){
|
||||
switch (cmd) {
|
||||
case TIOCSBRK:
|
||||
switch (cmd) {
|
||||
case TIOCSBRK:
|
||||
com_send_break_on( com );
|
||||
break;
|
||||
case TIOCCBRK:
|
||||
case TIOCCBRK:
|
||||
com_send_break_off( com );
|
||||
break;
|
||||
case TIOCSDTR:
|
||||
case TIOCSDTR:
|
||||
com_tiocm_bis(com, TIOCM_DTR | TIOCM_RTS );
|
||||
break;
|
||||
case TIOCCDTR:
|
||||
case TIOCCDTR:
|
||||
com_tiocm_bic(com, TIOCM_DTR);
|
||||
break;
|
||||
/*
|
||||
* XXX should disallow changing MCR_RTS if CS_RTS_IFLOW is set. The
|
||||
* changes get undone on the next call to comparam().
|
||||
*/
|
||||
case TIOCMSET:
|
||||
case TIOCMSET:
|
||||
com_tiocm_set( com, *(int *)data );
|
||||
break;
|
||||
case TIOCMBIS:
|
||||
case TIOCMBIS:
|
||||
com_tiocm_bis( com, *(int *)data );
|
||||
break;
|
||||
case TIOCMBIC:
|
||||
case TIOCMBIC:
|
||||
com_tiocm_bic( com, *(int *)data );
|
||||
break;
|
||||
case TIOCMGET:
|
||||
case TIOCMGET:
|
||||
*(int *)data = com_tiocm_get(com);
|
||||
break;
|
||||
case TIOCMSDTRWAIT:
|
||||
case TIOCMSDTRWAIT:
|
||||
/* must be root since the wait applies to following logins */
|
||||
error = suser(p->p_ucred, &p->p_acflag);
|
||||
if (error != 0) {
|
||||
@ -2355,21 +2355,21 @@ sioioctl(dev, cmd, data, flag, p)
|
||||
}
|
||||
com->dtr_wait = *(int *)data * hz / 100;
|
||||
break;
|
||||
case TIOCMGDTRWAIT:
|
||||
case TIOCMGDTRWAIT:
|
||||
*(int *)data = com->dtr_wait * 100 / hz;
|
||||
break;
|
||||
case TIOCTIMESTAMP:
|
||||
case TIOCTIMESTAMP:
|
||||
com->do_timestamp = TRUE;
|
||||
*(struct timeval *)data = com->timestamp;
|
||||
break;
|
||||
case TIOCDCDTIMESTAMP:
|
||||
case TIOCDCDTIMESTAMP:
|
||||
com->do_dcd_timestamp = TRUE;
|
||||
*(struct timeval *)data = com->dcd_timestamp;
|
||||
break;
|
||||
default:
|
||||
default:
|
||||
splx(s);
|
||||
return (ENOTTY);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
#endif
|
||||
switch (cmd) {
|
||||
@ -2385,6 +2385,10 @@ sioioctl(dev, cmd, data, flag, p)
|
||||
case TIOCCDTR:
|
||||
(void)commctl(com, TIOCM_DTR, DMBIC);
|
||||
break;
|
||||
/*
|
||||
* XXX should disallow changing MCR_RTS if CS_RTS_IFLOW is set. The
|
||||
* changes get undone on the next call to comparam().
|
||||
*/
|
||||
case TIOCMSET:
|
||||
(void)commctl(com, *(int *)data, DMSET);
|
||||
break;
|
||||
@ -2413,6 +2417,10 @@ sioioctl(dev, cmd, data, flag, p)
|
||||
com->do_timestamp = TRUE;
|
||||
*(struct timeval *)data = com->timestamp;
|
||||
break;
|
||||
case TIOCDCDTIMESTAMP:
|
||||
com->do_dcd_timestamp = TRUE;
|
||||
*(struct timeval *)data = com->dcd_timestamp;
|
||||
break;
|
||||
default:
|
||||
splx(s);
|
||||
return (ENOTTY);
|
||||
|
@ -31,7 +31,7 @@
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* from: @(#)com.c 7.5 (Berkeley) 5/16/91
|
||||
* $Id: sio.c,v 1.49 1998/01/22 03:52:55 kato Exp $
|
||||
* $Id: sio.c,v 1.50 1998/01/24 02:54:39 eivind Exp $
|
||||
*/
|
||||
|
||||
#include "opt_comconsole.h"
|
||||
@ -2317,36 +2317,36 @@ sioioctl(dev, cmd, data, flag, p)
|
||||
}
|
||||
#ifdef PC98
|
||||
if(IS_8251(com->pc98_if_type)){
|
||||
switch (cmd) {
|
||||
case TIOCSBRK:
|
||||
switch (cmd) {
|
||||
case TIOCSBRK:
|
||||
com_send_break_on( com );
|
||||
break;
|
||||
case TIOCCBRK:
|
||||
case TIOCCBRK:
|
||||
com_send_break_off( com );
|
||||
break;
|
||||
case TIOCSDTR:
|
||||
case TIOCSDTR:
|
||||
com_tiocm_bis(com, TIOCM_DTR | TIOCM_RTS );
|
||||
break;
|
||||
case TIOCCDTR:
|
||||
case TIOCCDTR:
|
||||
com_tiocm_bic(com, TIOCM_DTR);
|
||||
break;
|
||||
/*
|
||||
* XXX should disallow changing MCR_RTS if CS_RTS_IFLOW is set. The
|
||||
* changes get undone on the next call to comparam().
|
||||
*/
|
||||
case TIOCMSET:
|
||||
case TIOCMSET:
|
||||
com_tiocm_set( com, *(int *)data );
|
||||
break;
|
||||
case TIOCMBIS:
|
||||
case TIOCMBIS:
|
||||
com_tiocm_bis( com, *(int *)data );
|
||||
break;
|
||||
case TIOCMBIC:
|
||||
case TIOCMBIC:
|
||||
com_tiocm_bic( com, *(int *)data );
|
||||
break;
|
||||
case TIOCMGET:
|
||||
case TIOCMGET:
|
||||
*(int *)data = com_tiocm_get(com);
|
||||
break;
|
||||
case TIOCMSDTRWAIT:
|
||||
case TIOCMSDTRWAIT:
|
||||
/* must be root since the wait applies to following logins */
|
||||
error = suser(p->p_ucred, &p->p_acflag);
|
||||
if (error != 0) {
|
||||
@ -2355,21 +2355,21 @@ sioioctl(dev, cmd, data, flag, p)
|
||||
}
|
||||
com->dtr_wait = *(int *)data * hz / 100;
|
||||
break;
|
||||
case TIOCMGDTRWAIT:
|
||||
case TIOCMGDTRWAIT:
|
||||
*(int *)data = com->dtr_wait * 100 / hz;
|
||||
break;
|
||||
case TIOCTIMESTAMP:
|
||||
case TIOCTIMESTAMP:
|
||||
com->do_timestamp = TRUE;
|
||||
*(struct timeval *)data = com->timestamp;
|
||||
break;
|
||||
case TIOCDCDTIMESTAMP:
|
||||
case TIOCDCDTIMESTAMP:
|
||||
com->do_dcd_timestamp = TRUE;
|
||||
*(struct timeval *)data = com->dcd_timestamp;
|
||||
break;
|
||||
default:
|
||||
default:
|
||||
splx(s);
|
||||
return (ENOTTY);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
#endif
|
||||
switch (cmd) {
|
||||
@ -2385,6 +2385,10 @@ sioioctl(dev, cmd, data, flag, p)
|
||||
case TIOCCDTR:
|
||||
(void)commctl(com, TIOCM_DTR, DMBIC);
|
||||
break;
|
||||
/*
|
||||
* XXX should disallow changing MCR_RTS if CS_RTS_IFLOW is set. The
|
||||
* changes get undone on the next call to comparam().
|
||||
*/
|
||||
case TIOCMSET:
|
||||
(void)commctl(com, *(int *)data, DMSET);
|
||||
break;
|
||||
@ -2413,6 +2417,10 @@ sioioctl(dev, cmd, data, flag, p)
|
||||
com->do_timestamp = TRUE;
|
||||
*(struct timeval *)data = com->timestamp;
|
||||
break;
|
||||
case TIOCDCDTIMESTAMP:
|
||||
com->do_dcd_timestamp = TRUE;
|
||||
*(struct timeval *)data = com->dcd_timestamp;
|
||||
break;
|
||||
default:
|
||||
splx(s);
|
||||
return (ENOTTY);
|
||||
|
Loading…
x
Reference in New Issue
Block a user