|
@@ -15,6 +15,7 @@
|
|
|
#include <asm/percpu.h>
|
|
|
#include <asm/processor-flags.h>
|
|
|
#include <asm/segment.h>
|
|
|
+#include <asm/asm-offsets.h>
|
|
|
|
|
|
#include <xen/interface/xen.h>
|
|
|
|
|
@@ -53,7 +54,7 @@ ENTRY(xen_sysret64)
|
|
|
* still with the kernel gs, so we can easily switch back
|
|
|
*/
|
|
|
movq %rsp, PER_CPU_VAR(rsp_scratch)
|
|
|
- movq PER_CPU_VAR(kernel_stack), %rsp
|
|
|
+ movq PER_CPU_VAR(cpu_tss + TSS_sp0), %rsp
|
|
|
|
|
|
pushq $__USER_DS
|
|
|
pushq PER_CPU_VAR(rsp_scratch)
|
|
@@ -72,7 +73,7 @@ ENTRY(xen_sysret32)
|
|
|
* still with the kernel gs, so we can easily switch back
|
|
|
*/
|
|
|
movq %rsp, PER_CPU_VAR(rsp_scratch)
|
|
|
- movq PER_CPU_VAR(kernel_stack), %rsp
|
|
|
+ movq PER_CPU_VAR(cpu_tss + TSS_sp0), %rsp
|
|
|
|
|
|
pushq $__USER32_DS
|
|
|
pushq PER_CPU_VAR(rsp_scratch)
|