From: Arun Chandran <achandran@mvista.com>
To: Geoff Levand <geoff@infradead.org>
Cc: kexec@lists.infradead.org
Subject: Re: Kexec on arm64
Date: Fri, 11 Jul 2014 14:53:29 +0530 [thread overview]
Message-ID: <CAFdej00pBJwJBCPR0bYzgqLBSzFbb7LpOydJu=w8Ry4Me=tPow@mail.gmail.com> (raw)
In-Reply-To: <1404931759.26155.70.camel@smoke>
Hi Geoff,
Finally I am able to get my kernel loaded with the patch below.
diff --git a/kexec/arch/arm64/kexec-arm64.c b/kexec/arch/arm64/kexec-arm64.c
index 894e0e1..bfca40d 100644
--- a/kexec/arch/arm64/kexec-arm64.c
+++ b/kexec/arch/arm64/kexec-arm64.c
@@ -327,7 +327,7 @@ static int get_memory_ranges_dt(struct
memory_range *array, unsigned int *count)
dbgprintf("%s: RAM: %016llx - %016llx\n", __func__,
r.start, r.end);
- if (!arm64_mem.memstart || r.start < arm64_mem.memstart)
+ if ((region->size) && (!arm64_mem.memstart ||
r.start < arm64_mem.memstart))
arm64_mem.memstart = r.start;
}
}
I suspect it was due to zero sized memory ranges in my dtb followed by the
actual region.
get_memory_ranges_dt: node_1676 memory
get_memory_ranges_dt: RAM: 0000004000000000 - 0000004400000000
get_memory_ranges_dt: RAM: 0000000000000000 - 0000000000000000
get_memory_ranges_dt: RAM: 0000000000000000 - 0000000000000000
get_memory_ranges_dt: RAM: 0000000000000000 - 0000000000000000
get_memory_ranges_dt: RAM: 0000000000000000 - 0000000000000000
As a result of that arm64_mem.memstart was getting overwritten with zero.
and I was stuck at the error
kexec: kexec/arch/arm64/kexec-arm64.c:242: virt_to_phys: Assertion
`arm64_mem.memstart' failed.
So check the validity of region before updating the 'memstart'
I will try with kexec -e next.
--Arun
On Thu, Jul 10, 2014 at 12:19 AM, Geoff Levand <geoff@infradead.org> wrote:
> Hi Arun,
>
> On Wed, 2014-07-09 at 19:28 +0530, Arun Chandran wrote:
>> After copying the resulting binaries to my target; I tried loading the
>> kernel Image
>>
>> # kexec -l /Image
>> Modified cmdline: root=/dev/nfs
>> Unable to find /proc/device-tree//chosen/linux,stdout-path, printing
>> from purgatory is diabled
>> Cannot determine the file type of /Image
>>
>> It failed to load the kernel Image. Any pointers?
>
> My kexec-tools [1] only supports loading of arm64 elf files, so
> vmlinux, or a stripped version of it. Image is a raw binary, and
> is not yet supported.
>
> Maybe something like this is what you need:
>
> ./kexec -d --load /boot/vmlinux.strip --append="console=ttyAMA0 earlyprintk=pl011,0x1c090000 root=/dev/vda rw --verbose" --dtb=/boot/fdt.dtb
> ./kexec -d -e
>
> Also, my current master branch will only work reliably with PSCI
> boot. Spin-table boot has a bug and will be unstable for the next
> few days. Spin-table will re-boot, but only the primary cpu will
> come up.
>
> [1] https://git.linaro.org/people/geoff.levand/kexec-tools.git
> https://git.linaro.org/people/geoff.levand/linux-kexec.git
>
> -Geoff
>
_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec
next prev parent reply other threads:[~2014-07-11 9:23 UTC|newest]
Thread overview: 61+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-09 10:13 Kexec on arm64 Arun Chandran
2014-07-09 13:58 ` Arun Chandran
2014-07-09 18:49 ` Geoff Levand
2014-07-11 9:23 ` Arun Chandran [this message]
2014-07-11 16:58 ` Geoff Levand
2014-07-11 11:26 ` Arun Chandran
2014-07-12 0:19 ` Geoff Levand
2014-07-14 12:21 ` Arun Chandran
2014-07-11 15:43 ` Arun Chandran
2014-07-14 22:05 ` Geoff Levand
2014-07-15 15:28 ` Arun Chandran
2014-07-09 18:33 ` Geoff Levand
[not found] <CAFdej006OSyhgDcJ2iZdbjt+PtysN=i_+9Dr4GTmr=+t5yg4Kw@mail.gmail.com>
2014-07-15 17:04 ` Geoff Levand
2014-07-16 17:57 ` Feng Kan
2014-07-16 23:04 ` Geoff Levand
2014-07-22 9:44 ` Arun Chandran
2014-07-22 13:25 ` Arun Chandran
2014-07-24 0:38 ` Geoff Levand
2014-07-24 9:36 ` Mark Rutland
2014-07-24 12:49 ` Arun Chandran
2014-07-25 0:17 ` Geoff Levand
2014-07-25 10:31 ` Arun Chandran
2014-07-25 10:36 ` Mark Rutland
2014-07-25 11:48 ` Arun Chandran
2014-07-25 12:14 ` Mark Rutland
2014-07-25 15:29 ` Arun Chandran
2014-07-26 0:18 ` Geoff Levand
2014-07-28 15:00 ` Arun Chandran
2014-07-28 15:38 ` Mark Rutland
2014-07-29 0:09 ` Geoff Levand
2014-07-29 9:10 ` Mark Rutland
2014-07-29 12:32 ` Arun Chandran
2014-07-29 13:35 ` Mark Rutland
2014-07-29 21:19 ` Geoff Levand
2014-07-30 7:22 ` Arun Chandran
2014-08-01 11:13 ` Arun Chandran
2014-08-03 14:47 ` Mark Rutland
2014-08-04 10:16 ` Arun Chandran
2014-08-04 11:35 ` Mark Rutland
2014-08-07 0:40 ` Geoff Levand
2014-08-07 9:59 ` Mark Rutland
2014-08-07 17:09 ` Geoff Levand
2014-08-04 17:21 ` Geoff Levand
2014-08-06 13:54 ` Arun Chandran
2014-08-06 15:51 ` Arun Chandran
2014-08-07 20:07 ` Geoff Levand
2014-08-08 5:46 ` Arun Chandran
2014-08-08 10:03 ` Arun Chandran
2014-08-12 5:42 ` Arun Chandran
2014-08-13 11:09 ` Arun Chandran
2014-08-26 22:32 ` Geoff Levand
2014-08-27 4:56 ` Arun Chandran
2014-07-30 5:46 ` Arun Chandran
2014-07-30 9:16 ` Mark Rutland
2014-07-30 7:01 ` Arun Chandran
2014-07-25 10:26 ` Arun Chandran
2014-07-25 11:29 ` Mark Rutland
2014-07-24 11:50 ` Arun Chandran
2014-07-30 3:26 ` Feng Kan
2014-07-24 0:10 ` Geoff Levand
2014-07-24 9:13 ` Mark Rutland
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAFdej00pBJwJBCPR0bYzgqLBSzFbb7LpOydJu=w8Ry4Me=tPow@mail.gmail.com' \
--to=achandran@mvista.com \
--cc=geoff@infradead.org \
--cc=kexec@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.