Re: can't boot mpc5200, powerpc: Enable AT_BASE_PLATFORM aux vector
From: Jon Smirl <hidden>
Date: 2008-07-25 22:52:51
On 7/25/08, Nathan Lynch [off-list ref] wrote:
quoted hunk ↗ jump to hunk
Commit 9115d13453dee22473a1e8cacc90a8d64a9c4bc9 ("powerpc: Enable AT_BASE_PLATFORM aux vector") broke boot on 32-bit powerpc systems; we have to use PTRRELOC to initialize powerpc_base_platform this early in boot. Bug reported by Jon Smirl. Signed-off-by: Nathan Lynch [off-list ref] --- Benjamin Herrenschmidt wrote: > if (RELOC(powerpc_base_platform)) > RELOC(powerpc_base_platform) = t->platform; > > try that. Maybe this? (RELOC isn't defined in any header AFAICT). arch/powerpc/kernel/cputable.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/powerpc/kernel/cputable.c b/arch/powerpc/kernel/cputable.c index 25a052c..25c273c 100644--- a/arch/powerpc/kernel/cputable.c +++ b/arch/powerpc/kernel/cputable.c@@ -1660,8 +1660,8 @@ struct cpu_spec * __init identify_cpu(unsigned long offset, unsigned int pvr) * Set the base platform string once; assumes * we're called with real pvr first. */ - if (powerpc_base_platform == NULL) - powerpc_base_platform = t->platform; + if (*PTRRELOC(&powerpc_base_platform) == NULL) + *PTRRELOC(&powerpc_base_platform) = t->platform;
This works too.
#if defined(CONFIG_PPC64) || defined(CONFIG_BOOKE)
/* ppc64 and booke expect identify_cpu to also call
--
1.5.6.2
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev-- Jon Smirl jonsmirl@gmail.com