void __init sh_cpu_init ( void);
This is our initial entry point for each CPU, and is invoked on the boot CPU prior to calling start_kernel. For SMP, a combination of this and start_secondary will bring up each processor to a ready state prior to hand forking the idle loop.
We do all of the basic processor init here, including setting up the caches, FPU, DSP, kicking the UBC, etc. By the time start_kernel is hit (and subsequently platform_setup) things like determining the CPU subtype and initial configuration will all be done.
Each processor family is still responsible for doing its own probing and cache configuration in detect_cpu_and_cache_system.