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@xxxxxxxxxx> --- Changes since V1: - Add a DSB instructions semi_loader.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/semi_loader.c b/semi_loader.c index f8be94d..51ffaf6 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) -- 1.7.10.4 _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/cucslists/listinfo/kvmarm