[PATCH v12 08/16] arm64/kexec: Add core kexec support
Pratyush Anand
panand at redhat.com
Mon Nov 30 18:16:15 PST 2015
Hi Geoff,
On 30/11/2015:10:51:15 AM, Geoff Levand wrote:
> Hi,
>
> On Fri, 2015-11-27 at 18:43 +0530, Pratyush Anand wrote:
>
> > On 24/11/2015:10:25:34 PM, Geoff Levand wrote:
> > > +> > > > /* Test the entry flags. */
> > > +.Ltest_source:
> > > +> > > > tbz> > > > x18, IND_SOURCE_BIT, .Ltest_indirection
> > > +
> > > +> > > > mov x20, x13> > > > > > > > > > /* x20 = copy dest */
> > > +> > > > mov x21, x12> > > > > > > > > > /* x21 = copy src */
> >
> > Till v10 we had here invalidation for relocated destination page to PoC. I could
> > not understand, why it was removed. Removing that piece of code breaks kexec
> > booting with mustang. I need [1] to kexec boot into second kernel with mustang
> > platform.
>
> We need to flush the new kernel to PoC. The code that was here that
> was doing that would only be executed when the new kernel needed
> relocation (the standard kexec case). We also need to flush kernels
> that do not need relocation (the standard kdump case).
>
> I moved the new kernel flush to kexec_segment_flush(), called
> unconditionally in machine_kexec() so we can handle both cases
> with one piece of code.
Yes, I had noticed that. Actually flushing before cache is disabled can always
cause heisenbug.
>
> Have you experienced a problem on mustang with the current version?
Yes, v10 works fine, but I need invalidation fix for both v11 and v12 to work on
mustang.
I have not tested vanilla v12 on seattle, but v12 ported on rhelsa needs
invalidation fix to work on seattle as well.
~Pratyush
More information about the kexec
mailing list