summaryrefslogtreecommitdiffstats
path: root/sys/dev/syscons/syscons.c
diff options
context:
space:
mode:
authorjulian <julian@FreeBSD.org>2001-09-12 08:38:13 +0000
committerjulian <julian@FreeBSD.org>2001-09-12 08:38:13 +0000
commit5596676e6c6c1e81e899cd0531f9b1c28a292669 (patch)
treeb1a19fcdf05759281fab0d89efb13f0fdf42102e /sys/dev/syscons/syscons.c
parent83e00d4274950d2b531c24692cd123538ffbddb9 (diff)
downloadFreeBSD-src-5596676e6c6c1e81e899cd0531f9b1c28a292669.zip
FreeBSD-src-5596676e6c6c1e81e899cd0531f9b1c28a292669.tar.gz
KSE Milestone 2
Note ALL MODULES MUST BE RECOMPILED make the kernel aware that there are smaller units of scheduling than the process. (but only allow one thread per process at this time). This is functionally equivalent to teh previousl -current except that there is a thread associated with each process. Sorry john! (your next MFC will be a doosie!) Reviewed by: peter@freebsd.org, dillon@freebsd.org X-MFC after: ha ha ha ha
Diffstat (limited to 'sys/dev/syscons/syscons.c')
-rw-r--r--sys/dev/syscons/syscons.c34
1 files changed, 17 insertions, 17 deletions
diff --git a/sys/dev/syscons/syscons.c b/sys/dev/syscons/syscons.c
index fe5176f..644864e 100644
--- a/sys/dev/syscons/syscons.c
+++ b/sys/dev/syscons/syscons.c
@@ -442,7 +442,7 @@ scdevtounit(dev_t dev)
}
int
-scopen(dev_t dev, int flag, int mode, struct proc *p)
+scopen(dev_t dev, int flag, int mode, struct thread *td)
{
int unit = scdevtounit(dev);
sc_softc_t *sc;
@@ -481,7 +481,7 @@ scopen(dev_t dev, int flag, int mode, struct proc *p)
(*linesw[tp->t_line].l_modem)(tp, 1);
}
else
- if (tp->t_state & TS_XCLUDE && suser(p))
+ if (tp->t_state & TS_XCLUDE && suser_td(td))
return(EBUSY);
error = (*linesw[tp->t_line].l_open)(dev, tp);
@@ -501,7 +501,7 @@ scopen(dev_t dev, int flag, int mode, struct proc *p)
}
int
-scclose(dev_t dev, int flag, int mode, struct proc *p)
+scclose(dev_t dev, int flag, int mode, struct thread *td)
{
struct tty *tp = dev->si_tty;
scr_stat *scp;
@@ -634,7 +634,7 @@ scparam(struct tty *tp, struct termios *t)
}
int
-scioctl(dev_t dev, u_long cmd, caddr_t data, int flag, struct proc *p)
+scioctl(dev_t dev, u_long cmd, caddr_t data, int flag, struct thread *td)
{
int error;
int i;
@@ -647,23 +647,23 @@ scioctl(dev_t dev, u_long cmd, caddr_t data, int flag, struct proc *p)
/* If there is a user_ioctl function call that first */
if (sc_user_ioctl) {
- error = (*sc_user_ioctl)(dev, cmd, data, flag, p);
+ error = (*sc_user_ioctl)(dev, cmd, data, flag, td);
if (error != ENOIOCTL)
return error;
}
- error = sc_vid_ioctl(tp, cmd, data, flag, p);
+ error = sc_vid_ioctl(tp, cmd, data, flag, td);
if (error != ENOIOCTL)
return error;
#ifndef SC_NO_HISTORY
- error = sc_hist_ioctl(tp, cmd, data, flag, p);
+ error = sc_hist_ioctl(tp, cmd, data, flag, td);
if (error != ENOIOCTL)
return error;
#endif
#ifndef SC_NO_SYSMOUSE
- error = sc_mouse_ioctl(tp, cmd, data, flag, p);
+ error = sc_mouse_ioctl(tp, cmd, data, flag, td);
if (error != ENOIOCTL)
return error;
#endif
@@ -674,7 +674,7 @@ scioctl(dev_t dev, u_long cmd, caddr_t data, int flag, struct proc *p)
sc = scp->sc;
if (scp->tsw) {
- error = (*scp->tsw->te_ioctl)(scp, tp, cmd, data, flag, p);
+ error = (*scp->tsw->te_ioctl)(scp, tp, cmd, data, flag, td);
if (error != ENOIOCTL)
return error;
}
@@ -855,7 +855,7 @@ scioctl(dev_t dev, u_long cmd, caddr_t data, int flag, struct proc *p)
DPRINTF(5, ("sc%d: VT_SETMODE ", sc->unit));
if (scp->smode.mode == VT_PROCESS) {
p1 = pfind(scp->pid);
- if (scp->proc == p1 && scp->proc != p) {
+ if (scp->proc == p1 && scp->proc != td->td_proc) {
if (p1)
PROC_UNLOCK(p1);
DPRINTF(5, ("error EPERM\n"));
@@ -884,9 +884,9 @@ scioctl(dev_t dev, u_long cmd, caddr_t data, int flag, struct proc *p)
DPRINTF(5, ("error EINVAL\n"));
return EINVAL;
}
- DPRINTF(5, ("VT_PROCESS %d, ", p->p_pid));
+ DPRINTF(5, ("VT_PROCESS %d, ", td->td_proc->p_pid));
bcopy(data, &scp->smode, sizeof(struct vt_mode));
- scp->proc = p;
+ scp->proc = td->td_proc;
scp->pid = scp->proc->p_pid;
if ((scp == sc->cur_scp) && (sc->unit == sc_console_unit))
cons_unavail = TRUE;
@@ -911,7 +911,7 @@ scioctl(dev_t dev, u_long cmd, caddr_t data, int flag, struct proc *p)
return EINVAL;
}
/* ...and this process is controlling it. */
- if (scp->proc != p) {
+ if (scp->proc != td->td_proc) {
splx(s);
return EPERM;
}
@@ -977,19 +977,19 @@ scioctl(dev_t dev, u_long cmd, caddr_t data, int flag, struct proc *p)
return 0;
case KDENABIO: /* allow io operations */
- error = suser(p);
+ error = suser_td(td);
if (error != 0)
return error;
if (securelevel > 0)
return EPERM;
#ifdef __i386__
- p->p_frame->tf_eflags |= PSL_IOPL;
+ td->td_frame->tf_eflags |= PSL_IOPL;
#endif
return 0;
case KDDISABIO: /* disallow io operations (default) */
#ifdef __i386__
- p->p_frame->tf_eflags &= ~PSL_IOPL;
+ td->td_frame->tf_eflags &= ~PSL_IOPL;
#endif
return 0;
@@ -1270,7 +1270,7 @@ scioctl(dev_t dev, u_long cmd, caddr_t data, int flag, struct proc *p)
break;
}
- error = (*linesw[tp->t_line].l_ioctl)(tp, cmd, data, flag, p);
+ error = (*linesw[tp->t_line].l_ioctl)(tp, cmd, data, flag, td);
if (error != ENOIOCTL)
return(error);
error = ttioctl(tp, cmd, data, flag);
OpenPOWER on IntegriCloud