svn commit: r249483 - projects/amd64_xen_pv/sys/amd64/xen
Cherry G. Mathew
cherry at FreeBSD.org
Sun Apr 14 18:36:30 UTC 2013
Author: cherry
Date: Sun Apr 14 18:36:30 2013
New Revision: 249483
URL: http://svnweb.freebsd.org/changeset/base/249483
Log:
Fix return to usermode codepath.
Approved by: gibbs(implicit)
Modified:
projects/amd64_xen_pv/sys/amd64/xen/exception.S
projects/amd64_xen_pv/sys/amd64/xen/machdep.c
Modified: projects/amd64_xen_pv/sys/amd64/xen/exception.S
==============================================================================
--- projects/amd64_xen_pv/sys/amd64/xen/exception.S Sun Apr 14 18:12:40 2013 (r249482)
+++ projects/amd64_xen_pv/sys/amd64/xen/exception.S Sun Apr 14 18:36:30 2013 (r249483)
@@ -517,6 +517,7 @@ ENTRY(fork_trampoline)
DO_AST_MAYBE ;
RESTORE_GENERAL_REGS ;
RESTORE_SEGMENT_REGS ;
+ TRAP_FRAME_EXIT_NOERR ;
INTR_EXIT ;
IDTVEC(hypervisor_callback) /* Xen only */
Modified: projects/amd64_xen_pv/sys/amd64/xen/machdep.c
==============================================================================
--- projects/amd64_xen_pv/sys/amd64/xen/machdep.c Sun Apr 14 18:12:40 2013 (r249482)
+++ projects/amd64_xen_pv/sys/amd64/xen/machdep.c Sun Apr 14 18:36:30 2013 (r249483)
@@ -1,7 +1,7 @@
/* $FreeBSD$ */
/*-
- * Copyright (c) 2012 Spectra Logic Corporation
+ * Copyright (c) 2012, 2013 Spectra Logic Corporation
* All rights reserved.
*
* Portions of this software were developed by
@@ -175,7 +175,7 @@ setup_gdt(struct user_segment_descriptor
#endif /* 0 */
case GUFS32_SEL:
case GUGS32_SEL:
- case GUDATA_SEL:
+ case GUDATA_SEL: /* XXX: why def32 ? */
limit = 0xfffff;
type = SDT_MEMRWA;
dpl = SEL_UPL;
@@ -184,6 +184,15 @@ setup_gdt(struct user_segment_descriptor
gran = 1;
break;
+ case GUCODE_SEL:
+ limit = 0xfffff;
+ type = SDT_MEMERA;
+ dpl = SEL_UPL;
+ p = 1;
+ l = 1;
+ gran = 1;
+ break;
+
case GCODE_SEL:
limit = 0xfffff;
type = SDT_MEMERA;
More information about the svn-src-projects
mailing list