Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2ed38b23 authored by Matthew McClintock's avatar Matthew McClintock Committed by Kumar Gala
Browse files

powerpc/fsl_booke: Add support to boot from core other than 0



First we check to see if we are the first core booting up. This
is accomplished by comparing the boot_cpuid with -1, if it is we
assume this is the first core coming up.

Secondly, we need to update the initial thread info structure
to reflect the actual cpu we are running on otherwise
smp_processor_id() and related functions will return the default
initialization value of the struct or 0.

Signed-off-by: default avatarMatthew McClintock <msm@freescale.com>
Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
parent f7a07fd9
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -152,8 +152,11 @@ _ENTRY(__early_start)
	/* Check to see if we're the second processor, and jump
	 * to the secondary_start code if so
	 */
	lis	r24, boot_cpuid@h
	ori	r24, r24, boot_cpuid@l
	lwz	r24, 0(r24)
	cmpwi	r24, -1
	mfspr   r24,SPRN_PIR
	cmpwi	r24,0
	bne	__secondary_start
#endif

@@ -175,6 +178,9 @@ _ENTRY(__early_start)
	li	r0,0
	stwu	r0,THREAD_SIZE-STACK_FRAME_OVERHEAD(r1)

	rlwinm  r22,r1,0,0,31-THREAD_SHIFT      /* current thread_info */
	stw	r24, TI_CPU(r22)

	bl	early_init

#ifdef CONFIG_RELOCATABLE
+1 −1
Original line number Diff line number Diff line
@@ -46,7 +46,7 @@

extern void bootx_init(unsigned long r4, unsigned long phys);

int boot_cpuid;
int boot_cpuid = -1;
EXPORT_SYMBOL_GPL(boot_cpuid);
int boot_cpuid_phys;