different ARM CPUS with different cache architectures for example to be
supported in a single kernel.
- All CPU/MMU/TLB specific functions are now held as function
pointers in a cpu_functions structure defined in machine/cpufunc.h
All coproc 15 accesses, TLB flushing, cache cleaning/flushing
and abort correction functions are now defined in this structure.
- cpufuncs is a global structure that is setup during initarm()
that holds all the function pointers for the booted CPU.
- A global variable 'cputype' now defines the probed cputype.
- All the existing functions for manipulating CPU specific features
have been replaced with macros defined in machine/cpufunc.h
that will call the appropriate function in the cpu_functions
structure.
- CPU functions are provided for selected CPU types (config options)
and the appropriate cpu_functions structure is chosen during
booting, based on the probed CPU type.
- All the required functions for existing CPU types (ARM6, ARM7 and
SA110) have been implemented.