Author: zbb
Date: Fri Jul 17 14:08:08 2015
New Revision: 285654
URL: https://svnweb.freebsd.org/changeset/base/285654

Log:
  Fix secondary stacks calculation on ARM64
  
  Secondary stack calculation is modified to provide
  stack_top = secondary_stacks + (cpu_id) * PAGE_SIZE * KSTACK_PAGES
  because on ARM64 the stack grows to lower memory addresses.
  
  Obtained from: Semihalf
  Sponsored by:  The FreeBSD Foundation
  Differential Revision: https://reviews.freebsd.org/D3107

Modified:
  head/sys/arm64/arm64/locore.S

Modified: head/sys/arm64/arm64/locore.S
==============================================================================
--- head/sys/arm64/arm64/locore.S       Fri Jul 17 13:58:00 2015        
(r285653)
+++ head/sys/arm64/arm64/locore.S       Fri Jul 17 14:08:08 2015        
(r285654)
@@ -179,8 +179,7 @@ ENTRY(mpentry)
 mp_virtdone:
        ldr     x4, =secondary_stacks
        mov     x5, #(PAGE_SIZE * KSTACK_PAGES)
-       sub     x1, x0, #1
-       mul     x5, x1, x5
+       mul     x5, x0, x5
        add     sp, x4, x5
 
        b       init_secondary
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to