
In message 16472.27359.566539.641092@gargle.gargle.HOWL Yuli Barcohen wrote:
Dan> I agree. We've been doing it this way in Linux for years, the Dan> compiler makes it pretty clear when you don't have something Dan> #defined.
And these #defines were one of the reasons that we developed completely new Linux support for PQs. Now we've got one kernel image running on MPC8260ADS, MPC8266ADS, PQ2FADS, and MPC8272ADS. You would have four different images. Probably that images would be smaller by 2K, maybe 5K, but if the price is maintaining four images instead of one, I vote for one. The same is true for other board families (FADS, etc.) I agree that this can be less important for boot loaders which in many cases contain too much board-specific code to build one-for-all image.
Let's stop this discussion here. We don't need another religious war.
As Dan said, Linux has been using the #define style for a long time, and for good reasons, and U-Boot always followed this style - and if it was only because of the smaller code size.
There are many more situations where run-time code may be very convenient from the software ddeveloper's point of view, but where it is not practical for the intended purpose. Think of memory footprint, boot time, time of error detection etc.
Maybe such a thing can happen but in many years of development for Motorola controllers I personally never had a problem with run-time detection of chip features.
Than you have been just lucky, or not the end user of the solution.
Best regards,
Wolfgang Denk