From owner-p4-projects@FreeBSD.ORG Tue Apr 26 23:06:56 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0405516A4D1; Tue, 26 Apr 2005 23:06:56 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CE77116A4CE for ; Tue, 26 Apr 2005 23:06:55 +0000 (GMT) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id B5E9D43D45; Tue, 26 Apr 2005 23:06:55 +0000 (GMT) (envelope-from davidxu@freebsd.org) Received: from [127.0.0.1] (davidxu@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.3/8.13.3) with ESMTP id j3QN6sjr068106; Tue, 26 Apr 2005 23:06:55 GMT (envelope-from davidxu@freebsd.org) Message-ID: <426EC98C.1080100@freebsd.org> Date: Wed, 27 Apr 2005 07:06:52 +0800 From: David Xu User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.7.5) Gecko/20050306 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Scott Long References: <200504261407.j3QE7XdW009555@repoman.freebsd.org> <426E7886.4060303@samsco.org> In-Reply-To: <426E7886.4060303@samsco.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit cc: Perforce Change Reviews Subject: Re: PERFORCE change 76006 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 26 Apr 2005 23:06:56 -0000 Scott Long wrote: > David Xu wrote: > >> http://perforce.freebsd.org/chv.cgi?CH=76006 >> >> Change 76006 by davidxu@davidxu_tiger on 2005/04/26 14:07:21 >> >> Add a temp stack for sysenter syscall since debug trap and nmi >> can occur before sysenter entry setup its stack. > > > > Are you aware that there is already a sysenter implementation in > perforce? Please take a look at //depot/user/jeffr/sysenter > > Scott > > I didn't know, are you working on it ? I know peter was trying to work on it. Just read some code in exception.s: sysenter_exit: | popl %fs | popl %es | popl %ds 295: | popal | addl $8,%esp | movl %edx,%ebx /* Save the old edx value. */ | popl %edx /* Pop user's EIP */ | addl $4,%esp 300: | popfl | popl %ecx /* Pop user's esp */ | sysexit This code is buggy, popfl enable interrupts, if thread is preempted, kernel code will use userland %ds, %es, and %fs, this is not good.