Messages in this thread | | | Date | Thu, 16 Dec 2021 12:09:50 +0100 | Subject | Re: [PATCH v2 3/5] riscv: mm: init: remove _pt_ops and use pt_ops directly | From | Alexandre ghiti <> |
| |
On 12/6/21 16:03, Jisheng Zhang wrote: > Except "pt_ops", other global vars when CONFIG_XIP_KERNEL=y is defined > as below: > > |foo_type foo; > |#ifdef CONFIG_XIP_KERNEL > |#define foo (*(foo_type *)XIP_FIXUP(&foo)) > |#endif > > Follow the same way for pt_ops to unify the style and to simplify code. > > Signed-off-by: Jisheng Zhang <jszhang@kernel.org> > --- > arch/riscv/mm/init.c | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > > diff --git a/arch/riscv/mm/init.c b/arch/riscv/mm/init.c > index 4edf5600bea9..9c5816971f40 100644 > --- a/arch/riscv/mm/init.c > +++ b/arch/riscv/mm/init.c > @@ -227,12 +227,10 @@ static void __init setup_bootmem(void) > } > > #ifdef CONFIG_MMU > -static struct pt_alloc_ops _pt_ops __initdata; > +static struct pt_alloc_ops pt_ops __initdata; > > #ifdef CONFIG_XIP_KERNEL > -#define pt_ops (*(struct pt_alloc_ops *)XIP_FIXUP(&_pt_ops)) > -#else > -#define pt_ops _pt_ops > +#define pt_ops (*(struct pt_alloc_ops *)XIP_FIXUP(&pt_ops)) > #endif
I tried to compile a XIP kernel with success and I noticed we can go even further by removing the ifdef CONFIG_XIP_KERNEL since XIP_FIXUP is the identity for normal kernels.
Anyway, I'll do that later:
Reviewed-by: Alexandre Ghiti <alex@ghiti.fr>
Thanks,
Alex
> > unsigned long riscv_pfn_base __ro_after_init;
| |