]> xenbits.xensource.com Git - people/royger/xen.git/commitdiff
x86/setup: resync the boot stack 8 bytes at a time
authorAndrew Cooper <andrew.cooper3@citrix.com>
Thu, 15 May 2014 13:33:01 +0000 (15:33 +0200)
committerJan Beulich <jbeulich@suse.com>
Thu, 15 May 2014 13:33:01 +0000 (15:33 +0200)
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
xen/arch/x86/setup.c

index d8598a392b34dcd108a5e74ef9b72d50b786801e..a2fe7e03fdb6dcfa8004297387619f427cfb807c 100644 (file)
@@ -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);
         }