[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