[PATCH v1 03/13] arm64: Downgrade flush_icache_range to invalidate

Fuad Tabba tabba at google.com
Wed May 12 02:45:37 PDT 2021


Hi Ard,

> > diff --git a/arch/arm64/kernel/machine_kexec.c b/arch/arm64/kernel/machine_kexec.c
> > index 90a335c74442..001ffbfc645b 100644
> > --- a/arch/arm64/kernel/machine_kexec.c
> > +++ b/arch/arm64/kernel/machine_kexec.c
> > @@ -70,8 +70,9 @@ int machine_kexec_post_load(struct kimage *kimage)
> >
> >         /* Flush the reloc_code in preparation for its execution. */
> >         __flush_dcache_area(reloc_code, arm64_relocate_new_kernel_size);
> > -       flush_icache_range((uintptr_t)reloc_code, (uintptr_t)reloc_code +
> > -                          arm64_relocate_new_kernel_size);
> > +       invalidate_icache_range((uintptr_t)reloc_code,
> > +                               (uintptr_t)reloc_code +
> > +                                       arm64_relocate_new_kernel_size);
> >
>
> So this is a clean to the PoC followed by a I-cache invalidate to the
> PoU, right? Perhaps we could improve the comment while at it (avoid
> 'flush', and mention that the code needs to be cleaned to the PoC and
> invalidated from the I-cache for execution with the MMU off and
> I-cache on)

Yes it is. The renaming I do later on in the series clarifies this,
but the comment should be fixed to match. I'll do that in v2.

Thanks,
/fuad

>
> >         return 0;
> >  }
> > --
> > 2.31.1.607.g51e8a6a459-goog
> >



More information about the linux-arm-kernel mailing list