svn commit: r270697 - projects/amd64_xen_pv/sys/amd64/xen

Cherry G. Mathew cherry at FreeBSD.org
Wed Aug 27 08:05:58 UTC 2014


Author: cherry
Date: Wed Aug 27 08:05:57 2014
New Revision: 270697
URL: http://svnweb.freebsd.org/changeset/base/270697

Log:
  Flag on stack frame that segment registers have been saved.
  
  This now completes FreeBSD/Xen pv bringup for UP.
  
  Next steps (open list):
  - Optimise current call paths.
    (exception.S, amortise across multiple hypercalls etc.)
  - SMP
  - vet exception.S (and others) for security.
  - Bring codebase as close to native as possible, and merge
    as much code as possible with native and pvhvm.
  - Merge to -current
  
  Approved by:	gibbs(implicit)

Modified:
  projects/amd64_xen_pv/sys/amd64/xen/exception.S

Modified: projects/amd64_xen_pv/sys/amd64/xen/exception.S
==============================================================================
--- projects/amd64_xen_pv/sys/amd64/xen/exception.S	Wed Aug 27 06:13:44 2014	(r270696)
+++ projects/amd64_xen_pv/sys/amd64/xen/exception.S	Wed Aug 27 08:05:57 2014	(r270697)
@@ -97,12 +97,16 @@
 	movq	TF_R15(%rsp), %r15
 
 /* Note: %fs/%gs are saved/restored by the hypervisor */
-/* Save generic data segment registers to the stack */	
+/*
+ * Save generic data segment registers to the stack
+ * Indicate that segments have been saved.
+ */
 #define SAVE_SEGMENT_REGS \
 	movw	%es, TF_ES(%rsp) ; \
 	movw	%ds, TF_DS(%rsp) ; \
 	movw	%fs, TF_FS(%rsp) ; \
 	movw	%gs, TF_FS(%rsp) ; \
+	movl	$TF_HASSEGS,TF_FLAGS(%rsp) ; \
 
 /* Restore generic data segment registers from the stack */
 /* This macro overwrites some general registers */


More information about the svn-src-projects mailing list