From owner-cvs-src-old@FreeBSD.ORG Fri Dec 31 17:41:28 2010 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 561C010656B8 for ; Fri, 31 Dec 2010 17:41:28 +0000 (UTC) (envelope-from cperciva@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 442958FC1A for ; Fri, 31 Dec 2010 17:41:28 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id oBVHfSr6046282 for ; Fri, 31 Dec 2010 17:41:28 GMT (envelope-from cperciva@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id oBVHfSAT046281 for cvs-src-old@freebsd.org; Fri, 31 Dec 2010 17:41:28 GMT (envelope-from cperciva@repoman.freebsd.org) Message-Id: <201012311741.oBVHfSAT046281@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to cperciva@repoman.freebsd.org using -f From: Colin Percival Date: Fri, 31 Dec 2010 17:41:14 +0000 (UTC) To: cvs-src-old@freebsd.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/i386/i386 sys_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: Fri, 31 Dec 2010 17:41:28 -0000 cperciva 2010-12-31 17:41:14 UTC FreeBSD src repository Modified files: sys/i386/i386 sys_machdep.c Log: SVN rev 216846 on 2010-12-31 17:41:14Z by cperciva Make i386_set_ldt work on i386/XEN, step 4/5. Use xen_update_descriptor to update the LDT rather than bcopy. Under Xen, pages used for holding LDTs must be read-only, so we can't make the change ourselves. Ths obvious alternative of "remap the page read-write, make the change, then map it read-only again" doesn't work since Xen won't allow an LDT page to be remapped as R/W. An arguably better solution is used by NetBSD: They don't modify LDTs in-place at all, but instead copy the entire LDT, modify the new version, then atomically swap. MFC after: 3 days Revision Changes Path 1.122 +8 -4 src/sys/i386/i386/sys_machdep.c