Add support for runtime l2 cache type detection. Currently only correct for
SoCs with a pl310 l2 cache. Other armv6+ SoCs don't appear to have any l2
cache operations defined.
Move the L2 cache definitions to cpufunc as they are not pmap related.
Re-enable the FreeBSD boot ABI, it works as expected.
Map in the DTB passed to us using the Linux ABI. As it may be at any
address we move it to just after the kernel.

While here fix the spelling of abp.
Correctly allocate enough space on the stack for the boot params. As this
bug can be hidden by the stack alignment use the stack pointer before we
align the stack to help catch this if it happens again.
Correctly set preload_end. This was missed in r259648.
 - Fix a style bug, preload_end is not a boolean.
 - Fix a logic inversion when checking if we are using the Linux ATAG ABI.
 - Or in MODINFO_METADATA to the fake loader data so we can find the dtb.
Update the GENERIC kernel to comment out sc and related optoins, and to
add the CPU_CORTEXA cpu. With this I can boot the same kernel on a
Raspberry Pi, and a Panda Board.