Initialise cpu ops after enabling data cache
authorVikram Kanigiri <vikram.kanigiri@arm.com>
Thu, 29 Jan 2015 18:27:38 +0000 (18:27 +0000)
committerVikram Kanigiri <vikram.kanigiri@arm.com>
Fri, 13 Mar 2015 10:38:09 +0000 (10:38 +0000)
commit12e7c4ab0bbc9d9d4e950bdbda5a86f61c13bc1a
treeb8a888b28f2df72aaae1b759fa3c3c74c8693a2a
parent5930eadbe5d8d4c3f15fd910476f72cd5bf86f44
Initialise cpu ops after enabling data cache

The cpu-ops pointer was initialized before enabling the data cache in the cold
and warm boot paths. This required a DCIVAC cache maintenance operation to
invalidate any stale cache lines resident in other cpus.

This patch moves this initialization to the bl31_arch_setup() function
which is always called after the data cache and MMU has been enabled.

This change removes the need:
 1. for the DCIVAC cache maintenance operation.
 2. to initialise the CPU ops upon resumption from a PSCI CPU_SUSPEND
    call since memory contents are always preserved in this case.

Change-Id: Ibb2fa2f7460d1a1f1e721242025e382734c204c6
bl31/aarch64/bl31_arch_setup.c
bl31/aarch64/bl31_entrypoint.S
include/bl31/cpu_data.h
lib/cpus/aarch64/cpu_helpers.S
services/std_svc/psci/psci_entry.S