arm64 kexec hang

Geoff Levand geoff at
Fri Mar 27 10:23:35 PDT 2015

Hi Pratyush,

On Wed, 2015-03-25 at 15:55 +0530, Pratyush Anand wrote:
> So with following changes kexec load seems to complete without any 
> error. However, kexec reboot does not work yet, Nothing after bye 
> message :( (1st kernel booted with maxcpus=1)

'Bye!' doesn't mean much, other than the first kernel has
almost shutdown.  I recommend for debugging you either define
ARM64_DEBUG_PORT for the kexec-tools build, or have a suitable
earlyprintk= on the kernel command line.  See the read_sink()
routine in kexec-arm64.c.

Either of these will output something like this from the
purgatory code:

  I'm in purgatory
  purgatory: kernel_entry: 0000000080080000
  purgatory: dtb:          0000000080760000

Another option is to add my 'debugging: early putc' patch,
build the kernel with ARM64_DEBUG_PORT defined for your
 board.  This will output 'stext' when the second
stage kernel is entered

The kexec --lite option will bypass purgatory and should just
show 'stext'.


More information about the kexec mailing list