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>
