Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 7 Feb 2012 23:24:29 +0000 (UTC)
From:      Jung-uk Kim <jkim@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r231169 - head/sys/amd64/amd64
Message-ID:  <201202072324.q17NOT0i012126@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jkim
Date: Tue Feb  7 23:24:29 2012
New Revision: 231169
URL: http://svn.freebsd.org/changeset/base/231169

Log:
  Do not EOI local APIC too early.  Just do doreti normally after resuming.

Modified:
  head/sys/amd64/amd64/apic_vector.S

Modified: head/sys/amd64/amd64/apic_vector.S
==============================================================================
--- head/sys/amd64/amd64/apic_vector.S	Tue Feb  7 22:31:28 2012	(r231168)
+++ head/sys/amd64/amd64/apic_vector.S	Tue Feb  7 23:24:29 2012	(r231169)
@@ -300,13 +300,10 @@ IDTVEC(cpustop)
 IDTVEC(cpususpend)
 	PUSH_FRAME
 
+	call	cpususpend_handler
 	movq	lapic, %rax
 	movl	$0, LA_EOI(%rax)	/* End Of Interrupt to APIC */
-
-	call	cpususpend_handler
-
-	POP_FRAME
-	jmp	doreti_iret
+	jmp	doreti
 
 /*
  * Executed by a CPU when it receives a RENDEZVOUS IPI from another CPU.



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