svn commit: r258947 - user/ed/newcons/sys/dev/vt

Jilles Tjoelker jilles at stack.nl
Fri Dec 6 15:54:21 UTC 2013


On Thu, Dec 05, 2013 at 12:12:52AM +0000, Aleksandr Rybalko wrote:
> Author: ray
> Date: Thu Dec  5 00:12:52 2013
> New Revision: 258947
> URL: http://svnweb.freebsd.org/changeset/base/258947

> Log:
>   o Implement more standard ioctls.
>   o Translate old ioctls to new ones for compat with FREEBSD6/FREEBSD5/FREEBSD4.
>   o Fix style(9) on "return"s.
>   o Remove some extra debug.

>   Sponsored by:	The FreeBSD Foundation

> Modified:
>   user/ed/newcons/sys/dev/vt/vt_core.c

> Modified: user/ed/newcons/sys/dev/vt/vt_core.c
> ==============================================================================
> --- user/ed/newcons/sys/dev/vt/vt_core.c	Wed Dec  4 21:36:17 2013	(r258946)
> +++ user/ed/newcons/sys/dev/vt/vt_core.c	Thu Dec  5 00:12:52 2013	(r258947)
> [snip]
> +	case KDENABIO:      	/* allow io operations */
> +		error = priv_check(td, PRIV_IO);
> +		if (error != 0)
> +			return (error);
> +		error = securelevel_gt(td->td_ucred, 0);
> +		if (error != 0)
> +			return (error);
> +#if defined(__i386__) || defined(__amd64__)
> +		td->td_frame->tf_rflags |= PSL_IOPL;
> +#endif
>  		return (0);
> -	case KDSETMODE:
> -		/* XXX */
> +	case KDDISABIO:     	/* disallow io operations (default) */
> +#if defined(__i386__) || defined(__amd64__)
> +		td->td_frame->tf_rflags &= ~PSL_IOPL;
> +#endif
>  		return (0);
> [snip]

This does not build for i386. How about this patch?

Index: sys/dev/vt/vt_core.c
===================================================================
--- sys/dev/vt/vt_core.c	(revision 259027)
+++ sys/dev/vt/vt_core.c	(working copy)
@@ -1459,12 +1459,16 @@
 		error = securelevel_gt(td->td_ucred, 0);
 		if (error != 0)
 			return (error);
-#if defined(__i386__) || defined(__amd64__)
+#if defined(__i386__)
+		td->td_frame->tf_eflags |= PSL_IOPL;
+#elif defined(__amd64__)
 		td->td_frame->tf_rflags |= PSL_IOPL;
 #endif
 		return (0);
 	case KDDISABIO:     	/* disallow io operations (default) */
-#if defined(__i386__) || defined(__amd64__)
+#if defined(__i386__)
+		td->td_frame->tf_eflags &= ~PSL_IOPL;
+#elif defined(__amd64__)
 		td->td_frame->tf_rflags &= ~PSL_IOPL;
 #endif
 		return (0);

-- 
Jilles Tjoelker


More information about the svn-src-user mailing list