From owner-cvs-src-old@FreeBSD.ORG Sun May 31 08:11:44 2009 Return-Path: Delivered-To: cvs-src-old@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 757E41065677 for ; Sun, 31 May 2009 08:11:44 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 625C28FC28 for ; Sun, 31 May 2009 08:11:44 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n4V8BiM2025585 for ; Sun, 31 May 2009 08:11:44 GMT (envelope-from adrian@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n4V8Bi5G025584 for cvs-src-old@freebsd.org; Sun, 31 May 2009 08:11:44 GMT (envelope-from adrian@repoman.freebsd.org) Message-Id: <200905310811.n4V8Bi5G025584@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to adrian@repoman.freebsd.org using -f From: Adrian Chadd Date: Sun, 31 May 2009 08:11:39 +0000 (UTC) To: cvs-src-old@freebsd.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/i386/include apicvar.h src/sys/i386/xen mp_machdep.c X-BeenThere: cvs-src-old@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: **OBSOLETE** CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 31 May 2009 08:11:44 -0000 adrian 2009-05-31 08:11:39 UTC FreeBSD src repository Modified files: sys/i386/include apicvar.h sys/i386/xen mp_machdep.c Log: SVN rev 193154 on 2009-05-31 08:11:39Z by adrian Fix the MP IPI code to differentiate between bitmapped IPIs and function IPIs. This attempts to fix the IPI handling code to correctly differentiate between bitmapped IPIs and function IPIs. The Xen IPIs were on low numbers which clashed with the bitmapped IPIs. This commit bumps those IPI numbers up to 240 and above (just like in the i386 code) and fiddles with the ipi_vectors[] logic to call the correct function. This still isn't "right". Specifically, the IPI code may work fine for TLB shootdown events but the rendezvous/lazypmap IPIs are thrown by calling ipi_*() routines which don't set the call_func stuff (function id, addr1, addr2) that the TLB shootdown events are. So the Xen SMP support is still broken. PR: 135069 Revision Changes Path 1.31 +7 -7 src/sys/i386/include/apicvar.h 1.20 +7 -12 src/sys/i386/xen/mp_machdep.c