All of lore.kernel.org
 help / color / mirror / Atom feed
* kexec on kirkwood kernels?
@ 2011-01-27  3:00 Eric Cooper
  2011-01-27  7:24 ` Uwe Kleine-König
  0 siblings, 1 reply; 5+ messages in thread
From: Eric Cooper @ 2011-01-27  3:00 UTC (permalink / raw)
  To: linux-arm-kernel

Has anyone successfully used kexec to boot one kirkwood kernel from
another?  I've been trying to do it on a Seagate DockStar, but
all I see is this:

    # kexec -l --append="console=ttyS0,115200" zImage
    # kexec -e
    [   35.553632] Starting new kernel
    Uncompressing Linux... done, booting the kernel.

and then nothing.  I've tried with both 2.6.35 and 2.6.38-rc1 kernels.
I've tried modifying the kernel image to set the machine ID
explicitly, but that makes no difference.  I wonder if the boot
parameters are being passed correctly, but I don't know how to check
without any console output. I do have a JTAG setup, but so far I've
only used it cookbook-fashion to re-flash the u-boot NAND partition.
I'm hoping someone can help me avoid having to use gdb over JTAG to
resolve this.  Thanks.

-- 
Eric Cooper             e c c @ c m u . e d u

^ permalink raw reply	[flat|nested] 5+ messages in thread

* kexec on kirkwood kernels?
  2011-01-27  3:00 kexec on kirkwood kernels? Eric Cooper
@ 2011-01-27  7:24 ` Uwe Kleine-König
  2011-01-28  3:24   ` Eric Cooper
  0 siblings, 1 reply; 5+ messages in thread
From: Uwe Kleine-König @ 2011-01-27  7:24 UTC (permalink / raw)
  To: linux-arm-kernel

Hallo,

On Wed, Jan 26, 2011 at 10:00:24PM -0500, Eric Cooper wrote:
> Has anyone successfully used kexec to boot one kirkwood kernel from
> another?  I've been trying to do it on a Seagate DockStar, but
> all I see is this:
> 
>     # kexec -l --append="console=ttyS0,115200" zImage
>     # kexec -e
>     [   35.553632] Starting new kernel
>     Uncompressing Linux... done, booting the kernel.
> 
> and then nothing.  I've tried with both 2.6.35 and 2.6.38-rc1 kernels.
> I've tried modifying the kernel image to set the machine ID
> explicitly, but that makes no difference.  I wonder if the boot
> parameters are being passed correctly, but I don't know how to check
> without any console output. I do have a JTAG setup, but so far I've
> only used it cookbook-fashion to re-flash the u-boot NAND partition.
> I'm hoping someone can help me avoid having to use gdb over JTAG to
> resolve this.  Thanks.
Try enabling DEBUG_LL and EARLY_PRINTK in the kernel to boot and pass 

	earlyprintk

as kernel parameter.

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-K?nig            |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |

^ permalink raw reply	[flat|nested] 5+ messages in thread

* kexec on kirkwood kernels?
  2011-01-27  7:24 ` Uwe Kleine-König
@ 2011-01-28  3:24   ` Eric Cooper
  2011-01-29  5:47     ` Eric Miao
  0 siblings, 1 reply; 5+ messages in thread
From: Eric Cooper @ 2011-01-28  3:24 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Jan 27, 2011 at 08:24:33AM +0100, Uwe Kleine-K?nig wrote:
> Try enabling DEBUG_LL and EARLY_PRINTK in the kernel to boot and pass 
> 	earlyprintk
> as kernel parameter.

Thanks, that helped quite a bit.  After inserting various print
statements, I found that the system is hanging in the readl call in
orion_pcie_dev_id.  The call chain is:

    start_kernel
    time_init
    kirkwood_timer_init
    kirkwood_find_tclk
    kirkwood_pcie_id
    orion_pcie_dev_id
    readl

The readl is attempting to access the address
KIRKWOOD_REGS_VIRT_BASE + 0x40000.

This same code gets executed successfully when the kernel is started
from u-boot; I'm not sure what's different in the post-kexec
environment.  Any suggestions on what to try next would be
appreciated.

-- 
Eric Cooper             e c c @ c m u . e d u

^ permalink raw reply	[flat|nested] 5+ messages in thread

* kexec on kirkwood kernels?
  2011-01-28  3:24   ` Eric Cooper
@ 2011-01-29  5:47     ` Eric Miao
  2011-01-29 22:48       ` Eric Cooper
  0 siblings, 1 reply; 5+ messages in thread
From: Eric Miao @ 2011-01-29  5:47 UTC (permalink / raw)
  To: linux-arm-kernel

This worked ok on dove processor with several fixes. What is the
output of the failed bootup? If kirkwood comes with L2, please check
L2 is flushed and cache disabled before booting into the 2nd kernel.

- Eric

On Friday, January 28, 2011, Eric Cooper <ecc@cmu.edu> wrote:
> On Thu, Jan 27, 2011 at 08:24:33AM +0100, Uwe Kleine-K?nig wrote:
>> Try enabling DEBUG_LL and EARLY_PRINTK in the kernel to boot and pass
>> ? ? ? earlyprintk
>> as kernel parameter.
>
> Thanks, that helped quite a bit. ?After inserting various print
> statements, I found that the system is hanging in the readl call in
> orion_pcie_dev_id. ?The call chain is:
>
>  ? ?start_kernel
>  ? ?time_init
>  ? ?kirkwood_timer_init
>  ? ?kirkwood_find_tclk
>  ? ?kirkwood_pcie_id
>  ? ?orion_pcie_dev_id
>  ? ?readl
>
> The readl is attempting to access the address
> KIRKWOOD_REGS_VIRT_BASE + 0x40000.
>
> This same code gets executed successfully when the kernel is started
> from u-boot; I'm not sure what's different in the post-kexec
> environment. ?Any suggestions on what to try next would be
> appreciated.
>
> --
> Eric Cooper ? ? ? ? ? ? e c c @ c m u . e d u
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* kexec on kirkwood kernels?
  2011-01-29  5:47     ` Eric Miao
@ 2011-01-29 22:48       ` Eric Cooper
  0 siblings, 0 replies; 5+ messages in thread
From: Eric Cooper @ 2011-01-29 22:48 UTC (permalink / raw)
  To: linux-arm-kernel

> What is the output of the failed bootup?

# kexec -e
[   57.233847] Starting new kernel
Uncompressing Linux... done, booting the kernel.
[    0.000000] Linux version 2.6.38-rc1+ (ecc at stratocaster) (gcc version 4.4.1 (Sourcery G++ Lite 2010q1-188) ) #5 Sat Jan 29 14:52:49 EST 2011
[    0.000000] CPU: Feroceon 88FR131 [56251311] revision 1 (ARMv5TE), cr=00053177
[    0.000000] CPU: VIVT data cache, VIVT instruction cache
[    0.000000] Machine: Seagate FreeAgent DockStar
[    0.000000] bootconsole [earlycon0] enabled
[    0.000000] Memory policy: ECC disabled, Data cache writeback
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 32512
[    0.000000] Kernel command line: earlyprintk console=ttyS0,115200
[    0.000000] PID hash table entries: 512 (order: -1, 2048 bytes)
[    0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
[    0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
[    0.000000] Memory: 128MB = 128MB total
[    0.000000] Memory: 126836k/126836k available, 4236k reserved, 0K highmem
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
[    0.000000]     DMA     : 0xffc00000 - 0xffe00000   (   2 MB)
[    0.000000]     vmalloc : 0xc8800000 - 0xfe800000   ( 864 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xc8000000   ( 128 MB)
[    0.000000]     modules : 0xbf000000 - 0xc0000000   (  16 MB)
[    0.000000]       .init : 0xc0008000 - 0xc0023000   ( 108 kB)
[    0.000000]       .text : 0xc0023000 - 0xc02b4518   (2630 kB)
[    0.000000]       .data : 0xc02b6000 - 0xc02d32e0   ( 117 kB)
[    0.000000] SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS:114

This output is identical to a correctly booting system as far as it
goes, but the system is hanging in a read to the Kirkwood register
virtual address space in "kirkwood_pcie_id".  If I comment this
operation out, the system hangs the next time it reads another
Kirkwood register, and so on.

Clearly something isn't in the same state after kexec that it was
after a hardware reset.  I'll try looking into the L2 cache issue,
thanks.

-- 
Eric Cooper             e c c @ c m u . e d u

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2011-01-29 22:48 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-01-27  3:00 kexec on kirkwood kernels? Eric Cooper
2011-01-27  7:24 ` Uwe Kleine-König
2011-01-28  3:24   ` Eric Cooper
2011-01-29  5:47     ` Eric Miao
2011-01-29 22:48       ` Eric Cooper

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.