CVSROOT:        /cvs
Module name:    src
Changes by:     kette...@cvs.openbsd.org        2016/08/08 13:27:12

Modified files:
        sys/arch/zaurus/zaurus: zaurus_machdep.c 
        sys/arch/armish/armish: armish_machdep.c 
        sys/arch/arm/arm: arm32_machdep.c 
        sys/arch/armv7/armv7: armv7_machdep.c 

Log message:
Move the cpu_setup() call to the end of initarm().  On Cortex-A53 processors
atomic instructions don't work unless the data cache is enabled.  This happens
in cpu_setup(), but that gets currently called from cpu_startup() which runs
after a number of kernel subsystems have been initialized.  Since some of
these subsystems use locks, which need atomic instructions, we fault on
Cortex-A53.  Since at the end of initarm() we're done setting up the pmap
and initializing other low-level sense, calling cpu_setup() here makes much
more sense.

Remove setting up proc0paddr as well from cpu_startup(), since that already
happens in initarm().

Tested on zaurus by deraadt@.

ok jsg@, patrick@

Reply via email to