diff options
author | Jon Medhurst (Tixy) <tixy@linaro.org> | 2012-12-03 20:23:45 +0000 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2012-12-04 16:16:12 +0000 |
commit | b66309494e65ff05009c329a2970aff0f21d0fcc (patch) | |
tree | cc2b572c2cef56bb5a3cb31f638e9a91c55b99e7 | |
parent | f684b4fa414d55b1033c036dbeb98575d047a406 (diff) |
bootwrapper: Enable non-secure access to the CCI
We boot the kernel in non-secure mode and by default access to
the CCI device is not enabled for non-secure access, so we must
enable this if we want Linux to manage CPU hotplug on big.LITTLE
models.
Signed-off-by: Jon Medhurst <tixy@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
-rw-r--r-- | semi_loader.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/semi_loader.c b/semi_loader.c index f8be94d..aba3be2 100644 --- a/semi_loader.c +++ b/semi_loader.c @@ -263,6 +263,13 @@ static void init_cci(unsigned cci) /* Wait while change pending bit of status register is set */ while(io32(cci+0xc) & 0x1) {} + + /* + * Enable non-secure access to CCI and use a DSB ensure this takes + * effect before such accesses are made. + */ + io32(cci+0x8) = 1; + asm volatile ("dsb" : : : "memory"); } static void configure_from_fdt(struct loader_info *info) |