Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 20 Sep 2002 19:37:55 -0700 (PDT)
From:      Peter Wemm <peter@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 17808 for review
Message-ID:  <200209210237.g8L2btdn092526@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://people.freebsd.org/~peter/p4db/chv.cgi?CH=17808

Change 17808 by peter@peter_daintree on 2002/09/20 19:37:40

	no more PSL_VM references

Affected files ...

.. //depot/projects/hammer/sys/x86_64/x86_64/exception.s#2 edit
.. //depot/projects/hammer/sys/x86_64/x86_64/locore.s#3 edit
.. //depot/projects/hammer/sys/x86_64/x86_64/trap.c#4 edit

Differences ...

==== //depot/projects/hammer/sys/x86_64/x86_64/exception.s#2 (text+ko) ====

@@ -276,16 +276,8 @@
 	FAKE_MCOUNT(bintr)		/* init "from" bintr -> doreti */
 doreti_next:
 	/*
-	 * Check if ASTs can be handled now.  PSL_VM must be checked first
-	 * since segment registers only have an RPL in non-VM86 mode.
+	 * Check if ASTs can be handled now.
 	 */
-	testl	$PSL_VM,TF_EFLAGS(%esp)	/* are we in vm86 mode? */
-	jz	doreti_notvm86
-	cmpl	$1,in_vm86call		/* are we in a vm86 call? XXXSMP */
-	jne	doreti_ast		/* can handle ASTs now if not */
-  	jmp	doreti_exit
-
-doreti_notvm86:
 	testb	$SEL_RPL_MASK,TF_CS(%esp) /* are we returning to user mode? */
 	jz	doreti_exit		/* can't handle ASTs now if not */
 

==== //depot/projects/hammer/sys/x86_64/x86_64/locore.s#3 (text+ko) ====

@@ -397,10 +397,7 @@
 	call	*SIGF_HANDLER(%esp)	/* call signal handler */
 	lea	SIGF_UC(%esp),%eax	/* get ucontext_t */
 	pushl	%eax
-	testl	$PSL_VM,UC_EFLAGS(%eax)
-	jne	9f
 	movl	UC_GS(%eax),%gs		/* restore %gs */
-9:
 	movl	$SYS_sigreturn,%eax
 	pushl	%eax			/* junk to fake return addr. */
 	int	$0x80			/* enter kernel with args */

==== //depot/projects/hammer/sys/x86_64/x86_64/trap.c#4 (text+ko) ====

@@ -205,7 +205,7 @@
 		 * interrupts disabled until they are accidentally
 		 * enabled later.
 		 */
-		if (ISPL(frame.tf_cs) == SEL_UPL || (frame.tf_eflags & PSL_VM))
+		if (ISPL(frame.tf_cs) == SEL_UPL)
 			printf(
 			    "pid %ld (%s): trap %d with interrupts disabled\n",
 			    (long)curproc->p_pid, curproc->p_comm, type);
@@ -742,7 +742,7 @@
 	}
 	printf("instruction pointer	= 0x%x:0x%x\n",
 	       frame->tf_cs & 0xffff, frame->tf_eip);
-        if ((ISPL(frame->tf_cs) == SEL_UPL) || (frame->tf_eflags & PSL_VM)) {
+        if (ISPL(frame->tf_cs) == SEL_UPL) {
 		ss = frame->tf_ss & 0xffff;
 		esp = frame->tf_esp;
 	} else {
@@ -1031,7 +1031,7 @@
 	/*
 	 * Traced syscall.
 	 */
-	if ((orig_tf_eflags & PSL_T) && !(orig_tf_eflags & PSL_VM)) {
+	if (orig_tf_eflags & PSL_T) {
 		frame.tf_eflags &= ~PSL_T;
 		trapsignal(p, SIGTRAP, 0);
 	}

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe p4-projects" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200209210237.g8L2btdn092526>