Date: Thu, 5 Jun 2014 21:35:10 +0000 (UTC) From: Zbigniew Bodek <zbb@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r267129 - head/sys/arm/mv/armadaxp Message-ID: <201406052135.s55LZAEv097496@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: zbb Date: Thu Jun 5 21:35:10 2014 New Revision: 267129 URL: http://svnweb.freebsd.org/changeset/base/267129 Log: Fix broken SMP startup on Armada XP after r265694 During Armada's platform_mp_start_ap(), mptramp code is being copied to the specific physical location (0xffff0000). Before r265694 the address to which the code should be copied was equal to the address of mpentry routine that followed the mptramp in locore.S. Now the mptramp end address should be exported and used as a copy limit. Reviewed by: gber Modified: head/sys/arm/mv/armadaxp/armadaxp_mp.c head/sys/arm/mv/armadaxp/mptramp.S Modified: head/sys/arm/mv/armadaxp/armadaxp_mp.c ============================================================================== --- head/sys/arm/mv/armadaxp/armadaxp_mp.c Thu Jun 5 21:12:41 2014 (r267128) +++ head/sys/arm/mv/armadaxp/armadaxp_mp.c Thu Jun 5 21:35:10 2014 (r267129) @@ -97,8 +97,7 @@ platform_mp_init_secondary(void) } void mptramp(void); - - +void mptramp_end(void); void platform_mp_start_ap(void) @@ -116,7 +115,7 @@ platform_mp_start_ap(void) pmap_kenter_nocache(smp_boot, 0xffff0000); dst = (uint32_t *) smp_boot; - for (src = (uint32_t *)mptramp; src < (uint32_t *)mpentry; + for (src = (uint32_t *)mptramp; src < (uint32_t *)mptramp_end; src++, dst++) { *dst = *src; } Modified: head/sys/arm/mv/armadaxp/mptramp.S ============================================================================== --- head/sys/arm/mv/armadaxp/mptramp.S Thu Jun 5 21:12:41 2014 (r267128) +++ head/sys/arm/mv/armadaxp/mptramp.S Thu Jun 5 21:35:10 2014 (r267129) @@ -54,3 +54,5 @@ Lpmureg: .word 0xd0022124 END(mptramp) + .global _C_LABEL(mptramp_end) +_C_LABEL(mptramp_end):
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201406052135.s55LZAEv097496>