Messages in this thread | | | Date | Sat, 07 Aug 2021 09:36:41 -0700 (PDT) | Subject | Re: [PATCH -fixes 3/3] riscv: Optimize kernel virtual address conversion macro | From | Palmer Dabbelt <> |
| |
On Wed, 21 Jul 2021 00:59:37 PDT (-0700), alex@ghiti.fr wrote: > The current test in kernel_mapping_va_to_pa only applies when > CONFIG_XIP_KERNEL is set, so use IS_ENABLED to optimize this macro at > compile-time in standard kernels that do not require this test. > > Signed-off-by: Alexandre Ghiti <alex@ghiti.fr> > --- > arch/riscv/include/asm/page.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/riscv/include/asm/page.h b/arch/riscv/include/asm/page.h > index b0ca5058e7ae..10dc063868f6 100644 > --- a/arch/riscv/include/asm/page.h > +++ b/arch/riscv/include/asm/page.h > @@ -123,7 +123,7 @@ extern phys_addr_t phys_ram_base; > #define linear_mapping_va_to_pa(x) ((unsigned long)(x) - kernel_map.va_pa_offset) > #define kernel_mapping_va_to_pa(y) ({ \ > unsigned long _y = y; \ > - (_y < kernel_map.virt_addr + XIP_OFFSET) ? \ > + (IS_ENABLED(CONFIG_XIP_KERNEL) && _y < kernel_map.virt_addr + XIP_OFFSET) ? \ > ((unsigned long)(_y) - kernel_map.va_kernel_xip_pa_offset) : \ > ((unsigned long)(_y) - kernel_map.va_kernel_pa_offset - XIP_OFFSET); \ > })
IIUC this isn't actually a fix? The other two are, though, so they're on fixes.
Thanks!
| |