Message ID | 20230121064559.3164930-1-mchitale@ventanamicro.com |
---|---|
State | Accepted |
Headers | show |
Series | lib: utils: Fix reserved memory node for firmware memory | expand |
On Sat, Jan 21, 2023 at 12:16 PM Mayuresh Chitale <mchitale@ventanamicro.com> wrote: > > 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> Thanks for catching and fixing this issue. Reviewed-by: Anup Patel <anup@brainfault.org> Regards, Anup > --- > lib/utils/fdt/fdt_fixup.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/lib/utils/fdt/fdt_fixup.c b/lib/utils/fdt/fdt_fixup.c > index 41f6cbb..42692cc 100644 > --- a/lib/utils/fdt/fdt_fixup.c > +++ b/lib/utils/fdt/fdt_fixup.c > @@ -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; > -- > 2.34.1 >
On Sat, Jan 21, 2023 at 12:16 PM Mayuresh Chitale <mchitale@ventanamicro.com> wrote: > > 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> Applied this patch to the riscv/opensbi repo. Thanks, Anup > --- > lib/utils/fdt/fdt_fixup.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/lib/utils/fdt/fdt_fixup.c b/lib/utils/fdt/fdt_fixup.c > index 41f6cbb..42692cc 100644 > --- a/lib/utils/fdt/fdt_fixup.c > +++ b/lib/utils/fdt/fdt_fixup.c > @@ -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; > -- > 2.34.1 >
diff --git a/lib/utils/fdt/fdt_fixup.c b/lib/utils/fdt/fdt_fixup.c index 41f6cbb..42692cc 100644 --- a/lib/utils/fdt/fdt_fixup.c +++ b/lib/utils/fdt/fdt_fixup.c @@ -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;
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> --- lib/utils/fdt/fdt_fixup.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)