svn commit: r260561 - in projects/amd64_xen_pv/sys/amd64: amd64 xen
Cherry G. Mathew
cherry at FreeBSD.org
Sun Jan 12 12:31:14 UTC 2014
Author: cherry
Date: Sun Jan 12 12:31:14 2014
New Revision: 260561
URL: http://svnweb.freebsd.org/changeset/base/260561
Log:
Disable the kernel's use of 'xsave' under XEN pv
Approved by: gibbs@ (implicit)
Modified:
projects/amd64_xen_pv/sys/amd64/amd64/fpu.c
projects/amd64_xen_pv/sys/amd64/xen/machdep.c
Modified: projects/amd64_xen_pv/sys/amd64/amd64/fpu.c
==============================================================================
--- projects/amd64_xen_pv/sys/amd64/amd64/fpu.c Sun Jan 12 12:14:38 2014 (r260560)
+++ projects/amd64_xen_pv/sys/amd64/amd64/fpu.c Sun Jan 12 12:31:14 2014 (r260561)
@@ -172,10 +172,12 @@ fpuinit_bsp1(void)
u_int cp[4];
uint64_t xsave_mask_user;
+#ifndef XEN /* XEN pv doesn't support xsave yet */
if ((cpu_feature2 & CPUID2_XSAVE) != 0) {
use_xsave = 1;
TUNABLE_INT_FETCH("hw.use_xsave", &use_xsave);
}
+#endif
if (!use_xsave)
return;
Modified: projects/amd64_xen_pv/sys/amd64/xen/machdep.c
==============================================================================
--- projects/amd64_xen_pv/sys/amd64/xen/machdep.c Sun Jan 12 12:14:38 2014 (r260560)
+++ projects/amd64_xen_pv/sys/amd64/xen/machdep.c Sun Jan 12 12:31:14 2014 (r260561)
@@ -586,10 +586,10 @@ initxen(struct start_info *si)
/* Enable write permissions for code patching */
static vm_offset_t xsave_cpage;
xsave_cpage = (vm_offset_t) ctx_switch_xsave & ~PAGE_MASK;
- PT_SET_MA(xsave_cpage, phystomach(VTOP(xsave_cpage)) | PG_V | PG_U | PG_RW);
+ if (use_xsave)
+ PT_SET_MA(xsave_cpage, phystomach(VTOP(xsave_cpage)) | PG_V | PG_U | PG_RW);
fpuinit();
- PT_SET_MA(xsave_cpage, phystomach(VTOP(xsave_cpage)) | PG_V | PG_U);
-
+ if (use_xsave) PT_SET_MA(xsave_cpage, phystomach(VTOP(xsave_cpage)) | PG_V | PG_U);
/*
* Set up thread0 pcb after fpuinit calculated pcb + fpu save
More information about the svn-src-projects
mailing list