On 22 December 2017 at 19:08, <evan.lloyd@arm.com> wrote:
> From: Girish Pathak <girish.pathak@arm.com>
>
> This fix changes the cache attribute of Non-Trusted SRAM on the Juno
> platform to device memory. This change is required to avoid coherency
> problems as Non-Trusted SRAM is used as a shared memory between the
> application processor and the SCP for communication. This change is a
> prerequisite for upcoming SCMI driver for the Juno platform.
>
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Girish Pathak <girish.pathak@arm.com>
Evan, this needs your signoff as well I think?
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
> ---
> Platform/ARM/JunoPkg/Library/ArmJunoLib/ArmJunoMem.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/Platform/ARM/JunoPkg/Library/ArmJunoLib/ArmJunoMem.c b/Platform/ARM/JunoPkg/Library/ArmJunoLib/ArmJunoMem.c
> index aa8d7d9c3b0d41e62d1849e6e88760e3066617f7..afb2db0050c65b0d1b2b69c9038e168755c152c1 100644
> --- a/Platform/ARM/JunoPkg/Library/ArmJunoLib/ArmJunoMem.c
> +++ b/Platform/ARM/JunoPkg/Library/ArmJunoLib/ArmJunoMem.c
> @@ -1,6 +1,6 @@
> /** @file
> *
> -* Copyright (c) 2013-2015, ARM Limited. All rights reserved.
> +* Copyright (c) 2013-2017, ARM Limited. All rights reserved.
> *
> * This program and the accompanying materials
> * are licensed and made available under the terms and conditions of the BSD License
> @@ -111,7 +111,9 @@ ArmPlatformGetVirtualMemoryMap (
> VirtualMemoryTable[++Index].PhysicalBase = ARM_JUNO_NON_SECURE_SRAM_BASE;
> VirtualMemoryTable[Index].VirtualBase = ARM_JUNO_NON_SECURE_SRAM_BASE;
> VirtualMemoryTable[Index].Length = ARM_JUNO_NON_SECURE_SRAM_SZ;
> - VirtualMemoryTable[Index].Attributes = CacheAttributes;
> + // This memory is shared between the application processor
> + // and the SCP. To avoid coherency problems, map it as device memory.
> + VirtualMemoryTable[Index].Attributes = ARM_MEMORY_REGION_ATTRIBUTE_DEVICE;
>
> // PCI Root Complex
> VirtualMemoryTable[++Index].PhysicalBase = PcdGet64 (PcdPcieControlBaseAddress);
> --
> Guid("CE165669-3EF3-493F-B85D-6190EE5B9759")
>
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel