On Sat, 2 Oct 2021 at 03:14, Andrei Warkentin <[email protected]> wrote:
>
> I may have misunderstood the flags as being valid ways of mapping the added 
> range. Should we also then take out WC and WT?

No, you understood correctly. The problem is that normal memory ceases
to behave like normal memory when you map it UC (ie., unaligned
accesses and DC ZVA instructions are no longer allowed) so it should
be omitted. We use it in the memory map for things like the runtime
MMIO mappings for NOR flash and RTC.

WC and WT are reasonable for bare metal, but note that we omit those
as well for ArmVirtPkg, as using those breaks coherency, which means
the hypervisor/virtualization host's view of the guest's memory goes
out of sync.


> ________________________________
> From: Jeremy Linton <[email protected]>
> Sent: Friday, October 1, 2021 7:52 PM
> To: [email protected] <[email protected]>
> Cc: [email protected] <[email protected]>; [email protected] 
> <[email protected]>; [email protected] <[email protected]>; Andrei 
> Warkentin <[email protected]>; [email protected] <[email protected]>; 
> [email protected] <[email protected]>; Jeremy Linton 
> <[email protected]>
> Subject: [PATCH 4/5] Platform/RaspberryPi: Normal memory should not be marked 
> as uncached
>
> The efi spec seems to indicate that the efi uncacheable attribute
> should be mapped to device memory rather than normal-nc. This means
> that the uefi mem attribute for the >3G ram doesn't match the remainder
> of the RAM in the machine.
>
> So, lets remove the uncacheable attribute to make it more consistent.
>
> Signed-off-by: Jeremy Linton <[email protected]>
> ---
>  Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.c 
> b/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.c
> index 2ef7da67bd..415d99fadb 100644
> --- a/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.c
> +++ b/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.c
> @@ -499,7 +499,7 @@ ApplyVariables (
>
>      Status = gDS->AddMemorySpace (EfiGcdMemoryTypeSystemMemory, 3UL * 
> BASE_1GB,
>                      SystemMemorySizeBelow4GB - (3UL * SIZE_1GB),
> -                    EFI_MEMORY_UC | EFI_MEMORY_WC | EFI_MEMORY_WT | 
> EFI_MEMORY_WB);
> +                    EFI_MEMORY_WC | EFI_MEMORY_WT | EFI_MEMORY_WB);
>      ASSERT_EFI_ERROR (Status);
>      Status = gDS->SetMemorySpaceAttributes (3UL * BASE_1GB,
>                      SystemMemorySizeBelow4GB - (3UL * SIZE_1GB), 
> EFI_MEMORY_WB);
> @@ -511,7 +511,7 @@ ApplyVariables (
>        //
>        Status = gDS->AddMemorySpace (EfiGcdMemoryTypeSystemMemory, 4UL * 
> BASE_1GB,
>                        SystemMemorySize - (4UL * SIZE_1GB),
> -                      EFI_MEMORY_UC | EFI_MEMORY_WC | EFI_MEMORY_WT | 
> EFI_MEMORY_WB);
> +                      EFI_MEMORY_WC | EFI_MEMORY_WT | EFI_MEMORY_WB);
>        ASSERT_EFI_ERROR (Status);
>        Status = gDS->SetMemorySpaceAttributes (4UL * BASE_1GB,
>                        SystemMemorySize - (4UL * SIZE_1GB), EFI_MEMORY_WB);
> --
> 2.13.7
>


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#81506): https://edk2.groups.io/g/devel/message/81506
Mute This Topic: https://groups.io/mt/86014864/21656
Group Owner: [email protected]
Unsubscribe: https://edk2.groups.io/g/devel/unsub [[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to