lib: utils: Fix reserved memory node for firmware memory

The commit 9e0ba090 introduced more fine grained permissions for memory
regions and did not update the fdt_reserved_memory_fixup() function. As
a result, the fdt_reserved_memory_fixup continued to use the older coarse
permissions which causes the reserved memory node to be not inserted
into the DT.

To fix the above issue, we correct the flags used for memory region
permission checks in the fdt_reserved_memory_fixup() function.

Fixes: 9e0ba090 ("include: sbi: Fine grain the permissions for M and SU modes")
Signed-off-by: Mayuresh Chitale <mchitale@ventanamicro.com>
Reviewed-by: Anup Patel <anup@brainfault.org>
This commit is contained in:
Mayuresh Chitale
2023-01-21 12:15:59 +05:30
committed by Anup Patel
parent 7aaeeab9e7
commit a990309fa3

View File

@@ -259,11 +259,11 @@ int fdt_reserved_memory_fixup(void *fdt)
/* Ignore MMIO or READABLE or WRITABLE or EXECUTABLE regions */
if (reg->flags & SBI_DOMAIN_MEMREGION_MMIO)
continue;
if (reg->flags & SBI_DOMAIN_MEMREGION_READABLE)
if (reg->flags & SBI_DOMAIN_MEMREGION_SU_READABLE)
continue;
if (reg->flags & SBI_DOMAIN_MEMREGION_WRITEABLE)
if (reg->flags & SBI_DOMAIN_MEMREGION_SU_WRITABLE)
continue;
if (reg->flags & SBI_DOMAIN_MEMREGION_EXECUTABLE)
if (reg->flags & SBI_DOMAIN_MEMREGION_SU_EXECUTABLE)
continue;
addr = reg->base;