From 7b31305ff55de21d798005ed791a693909c0bdc3 Mon Sep 17 00:00:00 2001 From: Andrew Cooper Date: Thu, 15 May 2014 15:33:01 +0200 Subject: [PATCH] x86/setup: resync the boot stack 8 bytes at a time Signed-off-by: Andrew Cooper --- xen/arch/x86/setup.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c index d8598a392b..a2fe7e03fd 100644 --- a/xen/arch/x86/setup.c +++ b/xen/arch/x86/setup.c @@ -906,7 +906,7 @@ void __init noreturn __start_xen(unsigned long mbi_p) /* Re-sync the stack and then switch to relocated pagetables. */ asm volatile ( - "rep movsb ; " /* re-sync the stack */ + "rep movsq ; " /* re-sync the stack */ "movq %%cr4,%%rsi ; " "andb $0x7f,%%sil ; " "movq %%rsi,%%cr4 ; " /* CR4.PGE == 0 */ @@ -914,7 +914,7 @@ void __init noreturn __start_xen(unsigned long mbi_p) "orb $0x80,%%sil ; " "movq %%rsi,%%cr4 " /* CR4.PGE == 1 */ : : "r" (__pa(idle_pg_table)), "S" (cpu0_stack), - "D" (__va(__pa(cpu0_stack))), "c" (STACK_SIZE) : "memory" ); + "D" (__va(__pa(cpu0_stack))), "c" (STACK_SIZE / 8) : "memory" ); bootstrap_map(NULL); } -- 2.30.2