From mboxrd@z Thu Jan 1 00:00:00 1970 From: panand@redhat.com (Pratyush Anand) Date: Tue, 20 Oct 2015 14:26:20 +0530 Subject: [PATCH 08/16] arm64/kexec: Add core kexec support In-Reply-To: References: Message-ID: <20151020085620.GC31893@dhcppc13.redhat.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Hi Geoff, Thanks for the patches. On 19/10/2015:11:38:53 PM, Geoff Levand wrote: > +static void soft_restart(unsigned long addr) > +{ > + setup_mm_for_reboot(); > + cpu_soft_restart(virt_to_phys(cpu_reset), addr, > + is_hyp_mode_available()); So now we do not flush cache for any memory region. Shouldn't we still flush at least kernel and purgatory segments. kexec-tools loads a new kernel and purgatory executable. Some of those bits might still be only in D-cache and we disable D-cache before control is passed to the purgatory binary. Purgatory and some initial part of kernel code is executed with D-cache disabled. So, We might land into a situation where correct code is not executed while D-cache is disabled, no? ~Pratyush From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Date: Tue, 20 Oct 2015 14:26:20 +0530 From: Pratyush Anand Subject: Re: [PATCH 08/16] arm64/kexec: Add core kexec support Message-ID: <20151020085620.GC31893@dhcppc13.redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "kexec" Errors-To: kexec-bounces+dwmw2=infradead.org@lists.infradead.org To: Geoff Levand Cc: Mark Rutland , AKASHI@infradead.org, marc.zyngier@arm.com, Catalin Marinas , Will Deacon , Takahiro , christoffer.dall@linaro.org, kexec@lists.infradead.org, linux-arm-kernel@lists.infradead.org Hi Geoff, Thanks for the patches. On 19/10/2015:11:38:53 PM, Geoff Levand wrote: > +static void soft_restart(unsigned long addr) > +{ > + setup_mm_for_reboot(); > + cpu_soft_restart(virt_to_phys(cpu_reset), addr, > + is_hyp_mode_available()); So now we do not flush cache for any memory region. Shouldn't we still flush at least kernel and purgatory segments. kexec-tools loads a new kernel and purgatory executable. Some of those bits might still be only in D-cache and we disable D-cache before control is passed to the purgatory binary. Purgatory and some initial part of kernel code is executed with D-cache disabled. So, We might land into a situation where correct code is not executed while D-cache is disabled, no? ~Pratyush _______________________________________________ kexec mailing list kexec@lists.infradead.org http://lists.infradead.org/mailman/listinfo/kexec