init: Explicitly set up CONFIG.K0 on entry

Zephyr defaults to the correct setting (0x2, uncached) out of reset, but
on some BMIPS43xx cores it is undefined.

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
map: Use base address from Makefile

Viper builds will need to link at a different address, so allow the build
system to override it.

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
map: Move scratch space up

Viper owns a small 32MB region from 8600_0000 - 87ff_ffff.  Put the
scratch space at the top of this region so we can use the same address
on both builds.

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
Add experimental "make VIPER=1" build

This generates a bootloader suitable for running Linux on the second
thread of the Viper CPU instead of the Zephyr CPU.

For now, the output image is still called zephyr.img, and switching
between Zephyr/Viper images in the same tree requires an explicit
"make clean".  It isn't clear whether this will ever be used for
production, or just testing purposes.

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>