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

Commit 5a26f6bb authored by Michael Neuling's avatar Michael Neuling Committed by Paul Mackerras
Browse files

[POWERPC] Do firmware feature fixups after features are initialised



On pSeries the firmware features are not setup until ppc_md.init_early,
so we can't do the firmware feature sections fixups till after this.

Currently firmware feature sections is only used on iSeries which inits
the firmware features much earlier.  This is a bug in waiting on
pSeries.

Signed-off-by: default avatarMichael Neuling <mikey@neuling.org>
Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
parent 4cefebb1
Loading
Loading
Loading
Loading
+8 −4
Original line number Diff line number Diff line
@@ -350,13 +350,11 @@ void __init setup_system(void)
{
	DBG(" -> setup_system()\n");

	/* Apply the CPUs-specific and firmware specific fixups to kernel
	 * text (nop out sections not relevant to this CPU or this firmware)
	/* Apply CPUs-specific fixups to kernel text (nop out sections
	 * not relevant to this CPU)
	 */
	do_feature_fixups(cur_cpu_spec->cpu_features,
			  &__start___ftr_fixup, &__stop___ftr_fixup);
	do_feature_fixups(powerpc_firmware_features,
			  &__start___fw_ftr_fixup, &__stop___fw_ftr_fixup);

	/*
	 * Unflatten the device-tree passed by prom_init or kexec
@@ -394,6 +392,12 @@ void __init setup_system(void)
	if (ppc_md.init_early)
		ppc_md.init_early();

	/* Apply firmware specific fixups to kernel text (nop out
	 * sections not relevant to this firmware)
	 */
	do_feature_fixups(powerpc_firmware_features,
			  &__start___fw_ftr_fixup, &__stop___fw_ftr_fixup);

 	/*
	 * We can discover serial ports now since the above did setup the
	 * hash table management for us, thus ioremap works. We do that early