Date: Fri, 31 Dec 2010 17:41:14 +0000 (UTC) From: Colin Percival <cperciva@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/i386/i386 sys_machdep.c Message-ID: <201012311741.oBVHfSAT046281@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201012311741.oBVHfSAT046281>