<html><body>
<p><tt>Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt; wrote on 11/02/2006 05:30:25 PM:<br>
<br>
&gt; <br>
&gt; &gt; What exactly is the intent of PPC_MULTIPLATFORM - the current desc<br>
&gt; &gt; states &quot;Generic desktop/server/laptop&quot; - which doesn't exactly scream<br>
&gt; &gt; 'embedded' to me either. &nbsp;I guess I saw embedded6xx as a 'catch-all'<br>
&gt; &gt; for everything else.<br>
&gt; <br>
&gt; It's historical. It was the good old prep/chrp/pmac option, meaning that<br>
&gt; more than one board support can be built in the same kernel. I've made<br>
&gt; the policy decision with ARCH=powerpc that we should now make that<br>
&gt; mandatory for new boards (of course provided the CPUs are of the same<br>
&gt; family) since, as Sascha rightfully pointed out, it costs nothing and<br>
&gt; keeps things cleaner.<br>
&gt; <br>
&gt; Thus I'm all about getting rid of the option :)<br>
&gt; </tt><br>
<br>
<tt>OK - so in this sense PPC_MULTIPLATFORM would be used more to help categorize (make ppc platforms depend on it in Kconfig) as opposed to enabling different code/function? (thus some of Sascha's patches getting rid of CONFIG_PPC_MMULTIPLATFORM ifdefs)</tt><br>
<br>
<tt>&gt; &gt; This may be slightly off topic - but one other thing I have noticed<br>
&gt; &gt; that the new boot wrapper script supports specific 'types' of zImage<br>
&gt; &gt; files associated w/ 'MUTIPLATFORMS' (PSERIES, CHRP, PREP etc.) and<br>
&gt; &gt; uImage - which is what I think the majority of 'embedded' platforms<br>
&gt; &gt; will use by defining CONFIG_DEFAULT_UIMAGE.<br>
&gt; <br>
&gt; That is not totally clear since they have non-compatible board info.</tt><br>
<tt><br>
I should have more properly said &quot;the majority of the existing 'embedded' platforms (not PSERIES, CHRP, PREP etc.) currently implmented in /power seem to define CONFIG_DEFAULT_UIMAGE&quot;</tt><br>
<tt><br>
&gt; &gt; &nbsp; For IBM boards with PIBS just 'normal' zImage ELF files get loaded -<br>
&gt; &gt; I'm not sure if there should be another type defined/supported for<br>
&gt; &gt; boards which don't fit necessarily into a PSERIES/CHRP/PREP definition<br>
&gt; &gt; and also don't use uboot - CONFIG_DEFAULT_ZIMAGE? <br>
&gt; &gt; <br>
&gt; <br>
&gt; Ask Paulus about the naming but pSeries is just &quot;normal&quot; in the sense<br>
&gt; that it's &quot;booted from a real OF&quot; support.<br>
&gt; <br>
&gt; The problem is despite the ability to do those nice multiplatform kernel<br>
&gt; images, we still have bootloader incompatibilities. Thus we want to move<br>
&gt; those to the zImage wrapper which can produce, from an already built<br>
&gt; vmlinux binary, any zImage that can be supported for a given firmware<br>
&gt; interface.<br>
&gt; <br>
&gt; In the long run, we hope that firmwares will finally get their gears<br>
&gt; together and use either a real OF entry point or a direct flat<br>
&gt; device-tree entry point, which means that a single zImage (the &quot;normal<br>
&gt; one as you call it) will be able to boot everything.<br>
&gt; <br>
&gt; There's also a glitch with real OF zImages due to the fact that IBM<br>
&gt; pSeries OF requires a Notes section forcing OF into real mode while<br>
&gt; Apple OF is allergic to that (it will crash badly) so we need to keep a<br>
&gt; separate zImage for PowerMac. However, the vmlinux are the same so if<br>
&gt; you use something like yaboot, the same vmlinux cna be booted on all<br>
&gt; those machines.</tt><br>
<tt><br>
Makes sense. &nbsp;Specific to the current wrapper though - the boot Makefile currently keys off the following for the different zImage 'types'</tt><br>
<br>
<tt>image-$(CONFIG_PPC_PSERIES) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; += zImage.pseries</tt><br>
<tt>image-$(CONFIG_PPC_MAPLE) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; += zImage.pseries</tt><br>
<tt>image-$(CONFIG_PPC_IBM_CELL_BLADE) &nbsp; &nbsp; &nbsp;+= zImage.pseries</tt><br>
<tt>image-$(CONFIG_PPC_CHRP) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;+= zImage.chrp</tt><br>
<tt>image-$(CONFIG_PPC_PMAC) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;+= zImage.pmac</tt><br>
<tt>image-$(CONFIG_DEFAULT_UIMAGE) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;+= uImage</tt><br>
<br>
<tt>My original point really was that if I have a ppc 'embedded' board which I don't want to classify/define as PSERIES/MAPLE/CELL_BLADE/CHRP/PMAC, and I don't want to generate a uImage, I think there needs to be another definition, something like CONFIG_DEFAULT_ZIMAGE (similar to how CONFIG_DEFAULT_UIMAGE is used in some of the existing /power platform defs to create a uImage) which would be used to produce a 'normal' zImage type (zImage.pseries?). &nbsp;Basically - a definition analogous to the exisiting CONFIG_DEFAULT_UIMAGE, but for zImage. &nbsp;It would be used in a similar way - where any platform could select in its configuration to result in a 'normal' zImage being created (indeed, could PPC_PSERIES/MAPLE/BLADE just select this more generic definition and the Makefile use it instead?)</tt><br>
<tt>&nbsp;<br>
</tt></body></html>