* kexec on mips - anyone has it working? @ 2008-05-27 8:51 ` Tomasz Chmielewski 0 siblings, 0 replies; 36+ messages in thread From: Tomasz Chmielewski @ 2008-05-27 8:51 UTC (permalink / raw) To: Kexec Mailing List, linux-mips I'm trying to use kexec on a ASUS WL-500gP router (BCM47XX, little endian MIPS) with a 2.6.25.4 kernel with some additional changes from OpenWRT. Unfortunately, it doesn't work for me - when I load a new kernel and try to execute it, it just says "Bye" and the router is dead: # kexec -l vmlinux # kexec -e (...) Bye I signalled the issue before in the past, with a 2.6.23.1 kernel: http://lists.infradead.org/pipermail/kexec/2008-February/001315.html Ideas? Ways to debug it? -- Tomasz Chmielewski http://wpkg.org _______________________________________________ kexec mailing list kexec@lists.infradead.org http://lists.infradead.org/mailman/listinfo/kexec ^ permalink raw reply [flat|nested] 36+ messages in thread
* kexec on mips - anyone has it working? @ 2008-05-27 8:51 ` Tomasz Chmielewski 0 siblings, 0 replies; 36+ messages in thread From: Tomasz Chmielewski @ 2008-05-27 8:51 UTC (permalink / raw) To: Kexec Mailing List, linux-mips I'm trying to use kexec on a ASUS WL-500gP router (BCM47XX, little endian MIPS) with a 2.6.25.4 kernel with some additional changes from OpenWRT. Unfortunately, it doesn't work for me - when I load a new kernel and try to execute it, it just says "Bye" and the router is dead: # kexec -l vmlinux # kexec -e (...) Bye I signalled the issue before in the past, with a 2.6.23.1 kernel: http://lists.infradead.org/pipermail/kexec/2008-February/001315.html Ideas? Ways to debug it? -- Tomasz Chmielewski http://wpkg.org ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: kexec on mips - anyone has it working? 2008-05-27 8:51 ` Tomasz Chmielewski (?) @ 2008-05-27 12:05 ` Nicolas Schichan 2008-05-27 12:40 ` Tomasz Chmielewski 2008-05-27 12:40 ` Nicolas Schichan -1 siblings, 2 replies; 36+ messages in thread From: Nicolas Schichan @ 2008-05-27 12:05 UTC (permalink / raw) To: Tomasz Chmielewski; +Cc: linux-mips [-- Attachment #1: Type: text/plain, Size: 1331 bytes --] On Tuesday 27 May 2008 10:51:01 you wrote: > I'm trying to use kexec on a ASUS WL-500gP router (BCM47XX, little > endian MIPS) with a 2.6.25.4 kernel with some additional changes from > OpenWRT. > > Unfortunately, it doesn't work for me - when I load a new kernel and try > to execute it, it just says "Bye" and the router is dead: > > # kexec -l vmlinux > # kexec -e > (...) > Bye > > > I signalled the issue before in the past, with a 2.6.23.1 kernel: > > http://lists.infradead.org/pipermail/kexec/2008-February/001315.html > > > Ideas? Ways to debug it? I am using a 2.6.20 kernel on a 32bit mips platform and it is working fine. however I am using this userland code (make CROSS=$(your cross-compiler prefix) to compile it) : http://chac.le-poulpe.net/~nico/kexec.tar.gz Could you try to add the following line in machine_kexec.c, just before jumping to the trampoline: change_c0_config(CONF_CM_CMASK, CONF_CM_UNCACHED); This disables caching on KSEG0, but I would be suprised to find the bcm47xx in the list of machines for which this line could be a "one way ticket to hell" :) (Well I still have my doubts regarding the issue of not flushing the instruction cache completely before jumping to the new kernel in the trampoline code). Regards, -- Nicolas Schichan [-- Attachment #2: Type: text/html, Size: 2716 bytes --] ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: kexec on mips - anyone has it working? 2008-05-27 12:05 ` Nicolas Schichan @ 2008-05-27 12:40 ` Tomasz Chmielewski 2008-05-27 12:40 ` Nicolas Schichan 1 sibling, 0 replies; 36+ messages in thread From: Tomasz Chmielewski @ 2008-05-27 12:40 UTC (permalink / raw) To: Nicolas Schichan; +Cc: linux-mips, Kexec Mailing List Nicolas Schichan schrieb: >> Ideas? Ways to debug it? > > I am using a 2.6.20 kernel on a 32bit mips platform and it is working > fine. however I am using this userland code (make CROSS=$(your > cross-compiler prefix) to compile it) : > > http://chac.le-poulpe.net/~nico/kexec.tar.gz > > Could you try to add the following line in machine_kexec.c, just before > jumping to the trampoline: > > change_c0_config(CONF_CM_CMASK, CONF_CM_UNCACHED); And machine_kexec.c file is in where? It's not in the above one, it's not in kexec-tools-testing-20080324? -- Tomasz Chmielewski http://wpkg.org _______________________________________________ kexec mailing list kexec@lists.infradead.org http://lists.infradead.org/mailman/listinfo/kexec ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: kexec on mips - anyone has it working? @ 2008-05-27 12:40 ` Tomasz Chmielewski 0 siblings, 0 replies; 36+ messages in thread From: Tomasz Chmielewski @ 2008-05-27 12:40 UTC (permalink / raw) To: Nicolas Schichan; +Cc: linux-mips, Kexec Mailing List Nicolas Schichan schrieb: >> Ideas? Ways to debug it? > > I am using a 2.6.20 kernel on a 32bit mips platform and it is working > fine. however I am using this userland code (make CROSS=$(your > cross-compiler prefix) to compile it) : > > http://chac.le-poulpe.net/~nico/kexec.tar.gz > > Could you try to add the following line in machine_kexec.c, just before > jumping to the trampoline: > > change_c0_config(CONF_CM_CMASK, CONF_CM_UNCACHED); And machine_kexec.c file is in where? It's not in the above one, it's not in kexec-tools-testing-20080324? -- Tomasz Chmielewski http://wpkg.org ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: kexec on mips - anyone has it working? 2008-05-27 12:40 ` Tomasz Chmielewski (?) @ 2008-05-27 12:49 ` Nicolas Schichan 2008-05-27 18:14 ` Tomasz Chmielewski -1 siblings, 1 reply; 36+ messages in thread From: Nicolas Schichan @ 2008-05-27 12:49 UTC (permalink / raw) To: Tomasz Chmielewski; +Cc: linux-mips On Tuesday 27 May 2008 14:40:21 you wrote: > > Could you try to add the following line in machine_kexec.c, just before > > jumping to the trampoline: > > > > change_c0_config(CONF_CM_CMASK, CONF_CM_UNCACHED); > > And machine_kexec.c file is in where? It's not in the above one, it's > not in kexec-tools-testing-20080324? machine_kexec.c is in the kernel not in the kexec userland tools. it's in arch/mips/kernel/machine_kexec.c, just apply the following patch: --- linux/arch/mips/kernel/machine_kexec.c (revision 8056) +++ linux/arch/mips/kernel/machine_kexec.c (working copy) @@ -81,5 +81,6 @@ printk("Will call new kernel at %08lx\n", image->start); printk("Bye ...\n"); __flush_cache_all(); + change_c0_config(CONF_CM_CMASK, CONF_CM_UNCACHED); ((noretfun_t) reboot_code_buffer)(); } -- Nicolas Schichan ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: kexec on mips - anyone has it working? 2008-05-27 12:49 ` Nicolas Schichan @ 2008-05-27 18:14 ` Tomasz Chmielewski 0 siblings, 0 replies; 36+ messages in thread From: Tomasz Chmielewski @ 2008-05-27 18:14 UTC (permalink / raw) To: Nicolas Schichan; +Cc: linux-mips, Kexec Mailing List Nicolas Schichan schrieb: > On Tuesday 27 May 2008 14:40:21 you wrote: >>> Could you try to add the following line in machine_kexec.c, just before >>> jumping to the trampoline: >>> >>> change_c0_config(CONF_CM_CMASK, CONF_CM_UNCACHED); >> And machine_kexec.c file is in where? It's not in the above one, it's >> not in kexec-tools-testing-20080324? > > > machine_kexec.c is in the kernel not in the kexec userland tools. Aah, I see. Anyway, it doesn't work - with or without this slight change in machine_kexec.c, with kexec compiled from the sources in the link you gave or with kexec-tools-testing-20080324, it just doesn't work on BCM43XX with OpenWRT patches. At least on Asus WL-500gP. -- Tomasz Chmielewski http://wpkg.org _______________________________________________ kexec mailing list kexec@lists.infradead.org http://lists.infradead.org/mailman/listinfo/kexec ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: kexec on mips - anyone has it working? @ 2008-05-27 18:14 ` Tomasz Chmielewski 0 siblings, 0 replies; 36+ messages in thread From: Tomasz Chmielewski @ 2008-05-27 18:14 UTC (permalink / raw) To: Nicolas Schichan; +Cc: linux-mips, Kexec Mailing List Nicolas Schichan schrieb: > On Tuesday 27 May 2008 14:40:21 you wrote: >>> Could you try to add the following line in machine_kexec.c, just before >>> jumping to the trampoline: >>> >>> change_c0_config(CONF_CM_CMASK, CONF_CM_UNCACHED); >> And machine_kexec.c file is in where? It's not in the above one, it's >> not in kexec-tools-testing-20080324? > > > machine_kexec.c is in the kernel not in the kexec userland tools. Aah, I see. Anyway, it doesn't work - with or without this slight change in machine_kexec.c, with kexec compiled from the sources in the link you gave or with kexec-tools-testing-20080324, it just doesn't work on BCM43XX with OpenWRT patches. At least on Asus WL-500gP. -- Tomasz Chmielewski http://wpkg.org ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: kexec on mips - anyone has it working? 2008-05-27 18:14 ` Tomasz Chmielewski @ 2008-05-27 23:31 ` Simon Horman -1 siblings, 0 replies; 36+ messages in thread From: Simon Horman @ 2008-05-27 23:31 UTC (permalink / raw) To: Tomasz Chmielewski; +Cc: linux-mips, Kexec Mailing List, Nicolas Schichan On Tue, May 27, 2008 at 08:14:11PM +0200, Tomasz Chmielewski wrote: > Nicolas Schichan schrieb: > > On Tuesday 27 May 2008 14:40:21 you wrote: > >>> Could you try to add the following line in machine_kexec.c, just before > >>> jumping to the trampoline: > >>> > >>> change_c0_config(CONF_CM_CMASK, CONF_CM_UNCACHED); > >> And machine_kexec.c file is in where? It's not in the above one, it's > >> not in kexec-tools-testing-20080324? > > > > > > machine_kexec.c is in the kernel not in the kexec userland tools. > > Aah, I see. > > Anyway, it doesn't work - with or without this slight change in > machine_kexec.c, with kexec compiled from the sources in the link you > gave or with kexec-tools-testing-20080324, it just doesn't work on > BCM43XX with OpenWRT patches. At least on Asus WL-500gP. Hi, MIPS support was merged into kexec-tools-testing-20080324. However, as far as I could tell it only supports one of the many boot protocols that are used by various MIPS machines. If things aren't working for a particular peice of hardware, I would start by looking into what boot protocol the kernel uses on that machine, and making sure that kexec-tools understands it. As always if there are any patches for MIPS for kexec-tools, please send them to me and this list. -- Horms _______________________________________________ kexec mailing list kexec@lists.infradead.org http://lists.infradead.org/mailman/listinfo/kexec ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: kexec on mips - anyone has it working? @ 2008-05-27 23:31 ` Simon Horman 0 siblings, 0 replies; 36+ messages in thread From: Simon Horman @ 2008-05-27 23:31 UTC (permalink / raw) To: Tomasz Chmielewski; +Cc: Nicolas Schichan, linux-mips, Kexec Mailing List On Tue, May 27, 2008 at 08:14:11PM +0200, Tomasz Chmielewski wrote: > Nicolas Schichan schrieb: > > On Tuesday 27 May 2008 14:40:21 you wrote: > >>> Could you try to add the following line in machine_kexec.c, just before > >>> jumping to the trampoline: > >>> > >>> change_c0_config(CONF_CM_CMASK, CONF_CM_UNCACHED); > >> And machine_kexec.c file is in where? It's not in the above one, it's > >> not in kexec-tools-testing-20080324? > > > > > > machine_kexec.c is in the kernel not in the kexec userland tools. > > Aah, I see. > > Anyway, it doesn't work - with or without this slight change in > machine_kexec.c, with kexec compiled from the sources in the link you > gave or with kexec-tools-testing-20080324, it just doesn't work on > BCM43XX with OpenWRT patches. At least on Asus WL-500gP. Hi, MIPS support was merged into kexec-tools-testing-20080324. However, as far as I could tell it only supports one of the many boot protocols that are used by various MIPS machines. If things aren't working for a particular peice of hardware, I would start by looking into what boot protocol the kernel uses on that machine, and making sure that kexec-tools understands it. As always if there are any patches for MIPS for kexec-tools, please send them to me and this list. -- Horms ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: kexec on mips - anyone has it working? 2008-05-27 18:14 ` Tomasz Chmielewski (?) (?) @ 2008-05-29 11:47 ` Nicolas Schichan 2008-05-29 12:16 ` Tomasz Chmielewski 2008-05-29 20:15 ` Tomasz Chmielewski -1 siblings, 2 replies; 36+ messages in thread From: Nicolas Schichan @ 2008-05-29 11:47 UTC (permalink / raw) To: Tomasz Chmielewski; +Cc: linux-mips On Tuesday 27 May 2008 20:14:11 you wrote: > Aah, I see. > > Anyway, it doesn't work - with or without this slight change in > machine_kexec.c, with kexec compiled from the sources in the link you > gave or with kexec-tools-testing-20080324, it just doesn't work on > BCM43XX with OpenWRT patches. At least on Asus WL-500gP. I'm not familiar with broadcom CPU names, but isn't BCM43XX supposed to be a Wifi chipset ? :) However, could you kexec a kernel from a kernel that has CONFIG_MIPS_UNCACHED set (under "Kernel hacking", "run uncached")? this will slow down the kernel that does the kexec, but if this works, then it is most probably a cache problem. Could you also indicate the last lines of kernel messages just before the "Bye." ? Are you trying to kexec a big kernel image ? how much RAM do you have on the board ? are there some hardware that could have a hard time to be re-probed by the kexeced linux kernel ? Regards, -- Nicolas Schichan ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: kexec on mips - anyone has it working? 2008-05-29 11:47 ` Nicolas Schichan @ 2008-05-29 12:16 ` Tomasz Chmielewski 2008-05-29 20:15 ` Tomasz Chmielewski 1 sibling, 0 replies; 36+ messages in thread From: Tomasz Chmielewski @ 2008-05-29 12:16 UTC (permalink / raw) To: Nicolas Schichan; +Cc: linux-mips, Kexec Mailing List Nicolas Schichan schrieb: > On Tuesday 27 May 2008 20:14:11 you wrote: >> Aah, I see. >> >> Anyway, it doesn't work - with or without this slight change in >> machine_kexec.c, with kexec compiled from the sources in the link you >> gave or with kexec-tools-testing-20080324, it just doesn't work on >> BCM43XX with OpenWRT patches. At least on Asus WL-500gP. > > I'm not familiar with broadcom CPU names, but isn't BCM43XX supposed > to be a Wifi chipset ? :) Well, yeah, indeed the device is sold as a wireless router. But it can perfectly run Debian, so it should run kexec as well, shouldn't it? ;) > However, could you kexec a kernel from a kernel that has > CONFIG_MIPS_UNCACHED set (under "Kernel hacking", "run uncached")? > this will slow down the kernel that does the kexec, but if this works, > then it is most probably a cache problem. > > Could you also indicate the last lines of kernel messages just before > the "Bye." ? I'll try that later today and will post the results. > Are you trying to kexec a big kernel image ? Hmm, is it big? It's the same kernel I booted: # ls -l vmlinux -rwxr-xr-x 1 root root 3868065 May 26 23:30 vmlinux > how much RAM do you have > on the board ? It has 32 MB RAM; some ~11 MB is used before I load another kernel. > are there some hardware that could have a hard time to > be re-probed by the kexeced linux kernel ? The kexeced kernel is the same one I booted, so no. -- Tomasz Chmielewski http://wpkg.org _______________________________________________ kexec mailing list kexec@lists.infradead.org http://lists.infradead.org/mailman/listinfo/kexec ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: kexec on mips - anyone has it working? @ 2008-05-29 12:16 ` Tomasz Chmielewski 0 siblings, 0 replies; 36+ messages in thread From: Tomasz Chmielewski @ 2008-05-29 12:16 UTC (permalink / raw) To: Nicolas Schichan; +Cc: linux-mips, Kexec Mailing List Nicolas Schichan schrieb: > On Tuesday 27 May 2008 20:14:11 you wrote: >> Aah, I see. >> >> Anyway, it doesn't work - with or without this slight change in >> machine_kexec.c, with kexec compiled from the sources in the link you >> gave or with kexec-tools-testing-20080324, it just doesn't work on >> BCM43XX with OpenWRT patches. At least on Asus WL-500gP. > > I'm not familiar with broadcom CPU names, but isn't BCM43XX supposed > to be a Wifi chipset ? :) Well, yeah, indeed the device is sold as a wireless router. But it can perfectly run Debian, so it should run kexec as well, shouldn't it? ;) > However, could you kexec a kernel from a kernel that has > CONFIG_MIPS_UNCACHED set (under "Kernel hacking", "run uncached")? > this will slow down the kernel that does the kexec, but if this works, > then it is most probably a cache problem. > > Could you also indicate the last lines of kernel messages just before > the "Bye." ? I'll try that later today and will post the results. > Are you trying to kexec a big kernel image ? Hmm, is it big? It's the same kernel I booted: # ls -l vmlinux -rwxr-xr-x 1 root root 3868065 May 26 23:30 vmlinux > how much RAM do you have > on the board ? It has 32 MB RAM; some ~11 MB is used before I load another kernel. > are there some hardware that could have a hard time to > be re-probed by the kexeced linux kernel ? The kexeced kernel is the same one I booted, so no. -- Tomasz Chmielewski http://wpkg.org ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: kexec on mips - anyone has it working? 2008-05-29 11:47 ` Nicolas Schichan @ 2008-05-29 20:15 ` Tomasz Chmielewski 2008-05-29 20:15 ` Tomasz Chmielewski 1 sibling, 0 replies; 36+ messages in thread From: Tomasz Chmielewski @ 2008-05-29 20:15 UTC (permalink / raw) To: Nicolas Schichan; +Cc: linux-mips, openwrt-devel, Kexec Mailing List Nicolas Schichan schrieb: > On Tuesday 27 May 2008 20:14:11 you wrote: >> Aah, I see. >> >> Anyway, it doesn't work - with or without this slight change in >> machine_kexec.c, with kexec compiled from the sources in the link you >> gave or with kexec-tools-testing-20080324, it just doesn't work on >> BCM43XX with OpenWRT patches. At least on Asus WL-500gP. > > I'm not familiar with broadcom CPU names, but isn't BCM43XX supposed > to be a Wifi chipset ? :) > > However, could you kexec a kernel from a kernel that has > CONFIG_MIPS_UNCACHED set (under "Kernel hacking", "run uncached")? > this will slow down the kernel that does the kexec, but if this works, > then it is most probably a cache problem. I guess I'm not that lucky. Either CONFIG_MIPS_UNCACHED slowed the device down so much that it didn't boot, or it didn't boot. Hey, isn't it the same? So either BCM43XX doesn't work very well with certain kernel options enabled/disabled, or OpenWRT patches still lack some features to make ASUS WL-500gP properly (added openwrt-devel to CC:). Without CONFIG_MIPS_UNCACHED it boots just fine. Here is what is displayed when doing "kexec -e" (using kexec-tools-testing-20080324): # kexec -e b44: eth0: powering down PHY Starting new kernel Will call new kernel at 00305000 Bye ... Below, a full bootup up to the point where it freezes with CONFIG_MIPS_UNCACHED enabled (every message is printed very fast, up until the last "usbcore", where nothing else shows up): CFE version 1.0.37 for BCM947XX (32bit,SP,LE) Build Date: �| 10�� 12 22:21:19 CST 2006 (root@localhost.localdomain) Copyright (C) 2000,2001,2002,2003 Broadcom Corporation. Initializing Arena Initializing Devices. et0: Broadcom BCM47xx 10/100 Mbps Ethernet Controller 3.90.7.0 rndis0: Broadcom USB RNDIS Network Adapter (P-t-P) CPU type 0x29006: 264MHz Total memory: 33554432 KBytes Total memory used by CFE: 0x80800000 - 0x8089AF40 (634688) Initialized Data: 0x808313D0 - 0x80833790 (9152) BSS Area: 0x80833790 - 0x80834F40 (6064) Local Heap: 0x80834F40 - 0x80898F40 (409600) Stack Area: 0x80898F40 - 0x8089AF40 (8192) Text (code) segment: 0x80800000 - 0x808313D0 (201680) Boot area (physical): 0x0089B000 - 0x008DB000 Relocation Factor: I:00000000 - D:00000000 Device eth0: hwaddr 00-0E-A6-F1-ED-3C, ipaddr 192.168.1.1, mask 255.255.255.0 gateway not set, nameserver not set Null Rescue Flag. Loader:raw Filesys:raw Dev:flash0.os File: Options:(null) Loading: .. 3768 bytes read Entry at 0x80001000 Closing network. Starting program at 0x80001000 Linux version 2.6.25.4 (build@dom) (gcc version 4.1.2) #5 Thu May 29 21:45:46 CEST 2008 console [early0] enabled CPU revision is: 00029006 (Broadcom BCM3302) ssb: Core 0 found: ChipCommon (cc 0x800, rev 0x03, vendor 0x4243) ssb: Core 1 found: Fast Ethernet (cc 0x806, rev 0x06, vendor 0x4243) ssb: Core 2 found: Fast Ethernet (cc 0x806, rev 0x06, vendor 0x4243) ssb: Core 3 found: USB 1.1 Hostdev (cc 0x808, rev 0x03, vendor 0x4243) ssb: Core 4 found: PCI (cc 0x804, rev 0x08, vendor 0x4243) ssb: Core 5 found: MIPS 3302 (cc 0x816, rev 0x03, vendor 0x4243) ssb: Core 6 found: V90 (cc 0x807, rev 0x02, vendor 0x4243) ssb: Core 7 found: IPSEC (cc 0x80B, rev 0x00, vendor 0x4243) ssb: Core 8 found: MEMC SDRAM (cc 0x80F, rev 0x02, vendor 0x4243) ssb: Initializing MIPS core... ssb: set_irq: core 0x0806, irq 2 => 2 ssb: set_irq: core 0x0806, irq 3 => 3 ssb: set_irq: core 0x0804, irq 0 => 4 ssb: Sonics Silicon Backplane found at address 0x18000000 Serial init done. Determined physical RAM map: memory: 02000000 @ 00000000 (usable) Initrd not found or empty - disabling initrd Zone PFN ranges: Normal 0 -> 8192 Movable zone start PFN for each node early_node_map[1] active PFN ranges 0: 0 -> 8192 Built 1 zonelists in Zone order, mobility grouping on. Total pages: 8128 Kernel command line: root=/dev/sda1 rootdelay=10 console=ttyS0,115200 Primary instruction cache 16kB, VIPT, 2-way, linesize 16 bytes. Primary data cache 16kB, 2-way, VIPT, cache aliases, linesize 16 bytes Synthesized clear page handler (26 instructions). Synthesized copy page handler (46 instructions). PID hash table entries: 128 (order: 7, 512 bytes) console handover: boot [early0] -> real [ttyS0] Dentry cache hash table entries: 4096 (order: 2, 16384 bytes) Inode-cache hash table entries: 2048 (order: 1, 8192 bytes) Memory: 29376k/32768k available (2409k kernel code, 3392k reserved, 392k data, 144k init, 0k highmem) Mount-cache hash table entries: 512 net_namespace: 440 bytes NET: Registered protocol family 16 SCSI subsystem initialized usbcore: registered new interface driver usbfs usbcore: registered new interface driver hub usbcore: registered new device driver usb With CONFIG_MIPS_UNCACHED disabled, it continues like here: ssb: PCIcore in host mode found Registering a PCI bus after boot PCI: Fixing up bridge 0000:00:00.0 PCI: Fixing up device 0000:00:00.0 PCI: Fixing latency timer of device 0000:00:00.0 to 168 PCI: Enabling device 0000:00:02.0 (0000 -> 0002) PCI: Fixing up device 0000:00:02.0 ssb: Core 0 found: ChipCommon (cc 0x800, rev 0x0D, vendor 0x4243) ssb: Core 1 found: IEEE 802.11 (cc 0x812, rev 0x09, vendor 0x4243) ssb: Core 2 found: PCI (cc 0x804, rev 0x0C, vendor 0x4243) ssb: Core 3 found: PCMCIA (cc 0x80D, rev 0x07, vendor 0x4243) ssb: Sonics Silicon Backplane found on PCI device 0000:00:02.0 NET: Registered protocol family 2 IP route cache hash table entries: 1024 (order: 0, 4096 bytes) TCP established hash table entries: 1024 (order: 1, 8192 bytes) TCP bind hash table entries: 1024 (order: 0, 4096 bytes) TCP: Hash tables configured (established 1024 bind 1024) TCP reno registered detected lzma initramfs initramfs: LZMA lc=1,lp=2,pb=2,origSize=512 squashfs: version 3.0 (2006/03/15) Phillip Lougher Registering mini_fo version $Id$ (...) -- Tomasz Chmielewski http://wpkg.org _______________________________________________ kexec mailing list kexec@lists.infradead.org http://lists.infradead.org/mailman/listinfo/kexec ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: kexec on mips - anyone has it working? @ 2008-05-29 20:15 ` Tomasz Chmielewski 0 siblings, 0 replies; 36+ messages in thread From: Tomasz Chmielewski @ 2008-05-29 20:15 UTC (permalink / raw) To: Nicolas Schichan; +Cc: linux-mips, Kexec Mailing List, openwrt-devel Nicolas Schichan schrieb: > On Tuesday 27 May 2008 20:14:11 you wrote: >> Aah, I see. >> >> Anyway, it doesn't work - with or without this slight change in >> machine_kexec.c, with kexec compiled from the sources in the link you >> gave or with kexec-tools-testing-20080324, it just doesn't work on >> BCM43XX with OpenWRT patches. At least on Asus WL-500gP. > > I'm not familiar with broadcom CPU names, but isn't BCM43XX supposed > to be a Wifi chipset ? :) > > However, could you kexec a kernel from a kernel that has > CONFIG_MIPS_UNCACHED set (under "Kernel hacking", "run uncached")? > this will slow down the kernel that does the kexec, but if this works, > then it is most probably a cache problem. I guess I'm not that lucky. Either CONFIG_MIPS_UNCACHED slowed the device down so much that it didn't boot, or it didn't boot. Hey, isn't it the same? So either BCM43XX doesn't work very well with certain kernel options enabled/disabled, or OpenWRT patches still lack some features to make ASUS WL-500gP properly (added openwrt-devel to CC:). Without CONFIG_MIPS_UNCACHED it boots just fine. Here is what is displayed when doing "kexec -e" (using kexec-tools-testing-20080324): # kexec -e b44: eth0: powering down PHY Starting new kernel Will call new kernel at 00305000 Bye ... Below, a full bootup up to the point where it freezes with CONFIG_MIPS_UNCACHED enabled (every message is printed very fast, up until the last "usbcore", where nothing else shows up): CFE version 1.0.37 for BCM947XX (32bit,SP,LE) Build Date: �| 10�� 12 22:21:19 CST 2006 (root@localhost.localdomain) Copyright (C) 2000,2001,2002,2003 Broadcom Corporation. Initializing Arena Initializing Devices. et0: Broadcom BCM47xx 10/100 Mbps Ethernet Controller 3.90.7.0 rndis0: Broadcom USB RNDIS Network Adapter (P-t-P) CPU type 0x29006: 264MHz Total memory: 33554432 KBytes Total memory used by CFE: 0x80800000 - 0x8089AF40 (634688) Initialized Data: 0x808313D0 - 0x80833790 (9152) BSS Area: 0x80833790 - 0x80834F40 (6064) Local Heap: 0x80834F40 - 0x80898F40 (409600) Stack Area: 0x80898F40 - 0x8089AF40 (8192) Text (code) segment: 0x80800000 - 0x808313D0 (201680) Boot area (physical): 0x0089B000 - 0x008DB000 Relocation Factor: I:00000000 - D:00000000 Device eth0: hwaddr 00-0E-A6-F1-ED-3C, ipaddr 192.168.1.1, mask 255.255.255.0 gateway not set, nameserver not set Null Rescue Flag. Loader:raw Filesys:raw Dev:flash0.os File: Options:(null) Loading: .. 3768 bytes read Entry at 0x80001000 Closing network. Starting program at 0x80001000 Linux version 2.6.25.4 (build@dom) (gcc version 4.1.2) #5 Thu May 29 21:45:46 CEST 2008 console [early0] enabled CPU revision is: 00029006 (Broadcom BCM3302) ssb: Core 0 found: ChipCommon (cc 0x800, rev 0x03, vendor 0x4243) ssb: Core 1 found: Fast Ethernet (cc 0x806, rev 0x06, vendor 0x4243) ssb: Core 2 found: Fast Ethernet (cc 0x806, rev 0x06, vendor 0x4243) ssb: Core 3 found: USB 1.1 Hostdev (cc 0x808, rev 0x03, vendor 0x4243) ssb: Core 4 found: PCI (cc 0x804, rev 0x08, vendor 0x4243) ssb: Core 5 found: MIPS 3302 (cc 0x816, rev 0x03, vendor 0x4243) ssb: Core 6 found: V90 (cc 0x807, rev 0x02, vendor 0x4243) ssb: Core 7 found: IPSEC (cc 0x80B, rev 0x00, vendor 0x4243) ssb: Core 8 found: MEMC SDRAM (cc 0x80F, rev 0x02, vendor 0x4243) ssb: Initializing MIPS core... ssb: set_irq: core 0x0806, irq 2 => 2 ssb: set_irq: core 0x0806, irq 3 => 3 ssb: set_irq: core 0x0804, irq 0 => 4 ssb: Sonics Silicon Backplane found at address 0x18000000 Serial init done. Determined physical RAM map: memory: 02000000 @ 00000000 (usable) Initrd not found or empty - disabling initrd Zone PFN ranges: Normal 0 -> 8192 Movable zone start PFN for each node early_node_map[1] active PFN ranges 0: 0 -> 8192 Built 1 zonelists in Zone order, mobility grouping on. Total pages: 8128 Kernel command line: root=/dev/sda1 rootdelay=10 console=ttyS0,115200 Primary instruction cache 16kB, VIPT, 2-way, linesize 16 bytes. Primary data cache 16kB, 2-way, VIPT, cache aliases, linesize 16 bytes Synthesized clear page handler (26 instructions). Synthesized copy page handler (46 instructions). PID hash table entries: 128 (order: 7, 512 bytes) console handover: boot [early0] -> real [ttyS0] Dentry cache hash table entries: 4096 (order: 2, 16384 bytes) Inode-cache hash table entries: 2048 (order: 1, 8192 bytes) Memory: 29376k/32768k available (2409k kernel code, 3392k reserved, 392k data, 144k init, 0k highmem) Mount-cache hash table entries: 512 net_namespace: 440 bytes NET: Registered protocol family 16 SCSI subsystem initialized usbcore: registered new interface driver usbfs usbcore: registered new interface driver hub usbcore: registered new device driver usb With CONFIG_MIPS_UNCACHED disabled, it continues like here: ssb: PCIcore in host mode found Registering a PCI bus after boot PCI: Fixing up bridge 0000:00:00.0 PCI: Fixing up device 0000:00:00.0 PCI: Fixing latency timer of device 0000:00:00.0 to 168 PCI: Enabling device 0000:00:02.0 (0000 -> 0002) PCI: Fixing up device 0000:00:02.0 ssb: Core 0 found: ChipCommon (cc 0x800, rev 0x0D, vendor 0x4243) ssb: Core 1 found: IEEE 802.11 (cc 0x812, rev 0x09, vendor 0x4243) ssb: Core 2 found: PCI (cc 0x804, rev 0x0C, vendor 0x4243) ssb: Core 3 found: PCMCIA (cc 0x80D, rev 0x07, vendor 0x4243) ssb: Sonics Silicon Backplane found on PCI device 0000:00:02.0 NET: Registered protocol family 2 IP route cache hash table entries: 1024 (order: 0, 4096 bytes) TCP established hash table entries: 1024 (order: 1, 8192 bytes) TCP bind hash table entries: 1024 (order: 0, 4096 bytes) TCP: Hash tables configured (established 1024 bind 1024) TCP reno registered detected lzma initramfs initramfs: LZMA lc=1,lp=2,pb=2,origSize=512 squashfs: version 3.0 (2006/03/15) Phillip Lougher Registering mini_fo version $Id$ (...) -- Tomasz Chmielewski http://wpkg.org ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: kexec on mips - anyone has it working? 2008-05-29 20:15 ` Tomasz Chmielewski @ 2008-05-30 1:40 ` Maciej W. Rozycki -1 siblings, 0 replies; 36+ messages in thread From: Maciej W. Rozycki @ 2008-05-30 1:40 UTC (permalink / raw) To: Tomasz Chmielewski Cc: linux-mips, openwrt-devel, Kexec Mailing List, Nicolas Schichan On Thu, 29 May 2008, Tomasz Chmielewski wrote: > I guess I'm not that lucky. Either CONFIG_MIPS_UNCACHED slowed the > device down so much that it didn't boot, or it didn't boot. Hey, isn't > it the same? So either BCM43XX doesn't work very well with certain > kernel options enabled/disabled, or OpenWRT patches still lack some > features to make ASUS WL-500gP properly (added openwrt-devel to CC:). LL/SC are undefined on uncached memory. Implementers are free to keep the instructions working the same way as on cached memory, but are not required to do so and your chip may be an example. Of course the reason of the hang you see may be different, but this is one plausible explanation. I wouldn't trust a kernel running with CONFIG_MIPS_UNCACHED enabled -- it is merely a debugging hack. Maciej _______________________________________________ kexec mailing list kexec@lists.infradead.org http://lists.infradead.org/mailman/listinfo/kexec ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: kexec on mips - anyone has it working? @ 2008-05-30 1:40 ` Maciej W. Rozycki 0 siblings, 0 replies; 36+ messages in thread From: Maciej W. Rozycki @ 2008-05-30 1:40 UTC (permalink / raw) To: Tomasz Chmielewski Cc: Nicolas Schichan, linux-mips, Kexec Mailing List, openwrt-devel On Thu, 29 May 2008, Tomasz Chmielewski wrote: > I guess I'm not that lucky. Either CONFIG_MIPS_UNCACHED slowed the > device down so much that it didn't boot, or it didn't boot. Hey, isn't > it the same? So either BCM43XX doesn't work very well with certain > kernel options enabled/disabled, or OpenWRT patches still lack some > features to make ASUS WL-500gP properly (added openwrt-devel to CC:). LL/SC are undefined on uncached memory. Implementers are free to keep the instructions working the same way as on cached memory, but are not required to do so and your chip may be an example. Of course the reason of the hang you see may be different, but this is one plausible explanation. I wouldn't trust a kernel running with CONFIG_MIPS_UNCACHED enabled -- it is merely a debugging hack. Maciej ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: kexec on mips - anyone has it working? 2008-05-29 20:15 ` Tomasz Chmielewski @ 2008-05-30 11:27 ` Nicolas Schichan -1 siblings, 0 replies; 36+ messages in thread From: Nicolas Schichan @ 2008-05-30 11:27 UTC (permalink / raw) To: Tomasz Chmielewski; +Cc: linux-mips, openwrt-devel, Kexec Mailing List On Thursday 29 May 2008 22:15:47 Tomasz Chmielewski wrote: > # kexec -e > b44: eth0: powering down PHY > Starting new kernel > Will call new kernel at 00305000 The calling address of the kernel looks quite wrong, it should clearly be inside the KSEG0 zone. could you please indicate the output of the command "mips-linux-readelf -l vmlinux" ? Regards, -- Nicolas Schichan _______________________________________________ kexec mailing list kexec@lists.infradead.org http://lists.infradead.org/mailman/listinfo/kexec ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: kexec on mips - anyone has it working? @ 2008-05-30 11:27 ` Nicolas Schichan 0 siblings, 0 replies; 36+ messages in thread From: Nicolas Schichan @ 2008-05-30 11:27 UTC (permalink / raw) To: Tomasz Chmielewski; +Cc: linux-mips, Kexec Mailing List, openwrt-devel On Thursday 29 May 2008 22:15:47 Tomasz Chmielewski wrote: > # kexec -e > b44: eth0: powering down PHY > Starting new kernel > Will call new kernel at 00305000 The calling address of the kernel looks quite wrong, it should clearly be inside the KSEG0 zone. could you please indicate the output of the command "mips-linux-readelf -l vmlinux" ? Regards, -- Nicolas Schichan ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: kexec on mips - anyone has it working? 2008-05-30 11:27 ` Nicolas Schichan @ 2008-05-30 11:39 ` Tomasz Chmielewski -1 siblings, 0 replies; 36+ messages in thread From: Tomasz Chmielewski @ 2008-05-30 11:39 UTC (permalink / raw) To: Nicolas Schichan; +Cc: linux-mips, openwrt-devel, Kexec Mailing List Nicolas Schichan schrieb: > On Thursday 29 May 2008 22:15:47 Tomasz Chmielewski wrote: >> # kexec -e >> b44: eth0: powering down PHY >> Starting new kernel >> Will call new kernel at 00305000 > > The calling address of the kernel looks quite wrong, it should clearly > be inside the KSEG0 zone. could you please indicate the output of the > command "mips-linux-readelf -l vmlinux" ? # uname -m mips # readelf -l vmlinux Elf file type is EXEC (Executable file) Entry point 0x80251b50 There are 2 program headers, starting at offset 52 Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align LOAD 0x001000 0x80001000 0x80001000 0x2dd07a 0x303250 RWE 0x2000 NOTE 0x000000 0x00000000 0x00000000 0x00000 0x00000 R 0x4 Section to Segment mapping: Segment Sections... 00 .text __ex_table __dbe_table .rodata .pci_fixup __ksymtab __ksymtab_gpl __ksymtab_strings __param .data .data.cacheline_aligned .init.text .init.data .init.setup .initcall.init .con_initcall.init .exit.text .init.ramfs .bss 01 -- Tomasz Chmielewski http://wpkg.org _______________________________________________ kexec mailing list kexec@lists.infradead.org http://lists.infradead.org/mailman/listinfo/kexec ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: kexec on mips - anyone has it working? @ 2008-05-30 11:39 ` Tomasz Chmielewski 0 siblings, 0 replies; 36+ messages in thread From: Tomasz Chmielewski @ 2008-05-30 11:39 UTC (permalink / raw) To: Nicolas Schichan; +Cc: linux-mips, Kexec Mailing List, openwrt-devel Nicolas Schichan schrieb: > On Thursday 29 May 2008 22:15:47 Tomasz Chmielewski wrote: >> # kexec -e >> b44: eth0: powering down PHY >> Starting new kernel >> Will call new kernel at 00305000 > > The calling address of the kernel looks quite wrong, it should clearly > be inside the KSEG0 zone. could you please indicate the output of the > command "mips-linux-readelf -l vmlinux" ? # uname -m mips # readelf -l vmlinux Elf file type is EXEC (Executable file) Entry point 0x80251b50 There are 2 program headers, starting at offset 52 Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align LOAD 0x001000 0x80001000 0x80001000 0x2dd07a 0x303250 RWE 0x2000 NOTE 0x000000 0x00000000 0x00000000 0x00000 0x00000 R 0x4 Section to Segment mapping: Segment Sections... 00 .text __ex_table __dbe_table .rodata .pci_fixup __ksymtab __ksymtab_gpl __ksymtab_strings __param .data .data.cacheline_aligned .init.text .init.data .init.setup .initcall.init .con_initcall.init .exit.text .init.ramfs .bss 01 -- Tomasz Chmielewski http://wpkg.org ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: kexec on mips - anyone has it working? 2008-05-30 11:39 ` Tomasz Chmielewski @ 2008-07-01 13:42 ` Nicolas Schichan -1 siblings, 0 replies; 36+ messages in thread From: Nicolas Schichan @ 2008-07-01 13:42 UTC (permalink / raw) To: Tomasz Chmielewski; +Cc: linux-mips, openwrt-devel, Kexec Mailing List On Friday 30 May 2008 13:39:16 Tomasz Chmielewski wrote: Hello, > Nicolas Schichan schrieb: > > On Thursday 29 May 2008 22:15:47 Tomasz Chmielewski wrote: > >> Will call new kernel at 00305000 > > > > The calling address of the kernel looks quite wrong, it should clearly > > be inside the KSEG0 zone. could you please indicate the output of the > > command "mips-linux-readelf -l vmlinux" ? > > # uname -m > mips > # readelf -l vmlinux > > Elf file type is EXEC (Executable file) > Entry point 0x80251b50 This is quite surprising. The jump address that kexec will use is cleary not what I expected. I would have expected it to be the Entry point address given by readelf. could you try the following patch to make sure that the kimage* structure is not corrupted by the code in machine_kexec() ? Index: linux/arch/mips/kernel/machine_kexec.c =================================================================== --- linux/arch/mips/kernel/machine_kexec.c (revision 8056) +++ linux/arch/mips/kernel/machine_kexec.c (working copy) @@ -49,6 +49,8 @@ unsigned long entry; unsigned long *ptr; + printk("image->start = %p", image->start); + reboot_code_buffer = (unsigned long)page_address(image->control_code_page); Regards, -- Nicolas Schichan _______________________________________________ kexec mailing list kexec@lists.infradead.org http://lists.infradead.org/mailman/listinfo/kexec ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: kexec on mips - anyone has it working? @ 2008-07-01 13:42 ` Nicolas Schichan 0 siblings, 0 replies; 36+ messages in thread From: Nicolas Schichan @ 2008-07-01 13:42 UTC (permalink / raw) To: Tomasz Chmielewski; +Cc: linux-mips, Kexec Mailing List, openwrt-devel On Friday 30 May 2008 13:39:16 Tomasz Chmielewski wrote: Hello, > Nicolas Schichan schrieb: > > On Thursday 29 May 2008 22:15:47 Tomasz Chmielewski wrote: > >> Will call new kernel at 00305000 > > > > The calling address of the kernel looks quite wrong, it should clearly > > be inside the KSEG0 zone. could you please indicate the output of the > > command "mips-linux-readelf -l vmlinux" ? > > # uname -m > mips > # readelf -l vmlinux > > Elf file type is EXEC (Executable file) > Entry point 0x80251b50 This is quite surprising. The jump address that kexec will use is cleary not what I expected. I would have expected it to be the Entry point address given by readelf. could you try the following patch to make sure that the kimage* structure is not corrupted by the code in machine_kexec() ? Index: linux/arch/mips/kernel/machine_kexec.c =================================================================== --- linux/arch/mips/kernel/machine_kexec.c (revision 8056) +++ linux/arch/mips/kernel/machine_kexec.c (working copy) @@ -49,6 +49,8 @@ unsigned long entry; unsigned long *ptr; + printk("image->start = %p", image->start); + reboot_code_buffer = (unsigned long)page_address(image->control_code_page); Regards, -- Nicolas Schichan ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: kexec on mips - anyone has it working? 2008-07-01 13:42 ` Nicolas Schichan @ 2008-07-01 17:53 ` Tomasz Chmielewski -1 siblings, 0 replies; 36+ messages in thread From: Tomasz Chmielewski @ 2008-07-01 17:53 UTC (permalink / raw) To: Nicolas Schichan; +Cc: linux-mips, openwrt-devel, Kexec Mailing List Nicolas Schichan schrieb: > On Friday 30 May 2008 13:39:16 Tomasz Chmielewski wrote: > > Hello, > >> Nicolas Schichan schrieb: >>> On Thursday 29 May 2008 22:15:47 Tomasz Chmielewski wrote: >>>> Will call new kernel at 00305000 >>> The calling address of the kernel looks quite wrong, it should clearly >>> be inside the KSEG0 zone. could you please indicate the output of the >>> command "mips-linux-readelf -l vmlinux" ? >> # uname -m >> mips >> # readelf -l vmlinux >> >> Elf file type is EXEC (Executable file) >> Entry point 0x80251b50 > > This is quite surprising. The jump address that kexec will use is > cleary not what I expected. I would have expected it to be the Entry > point address given by readelf. > > could you try the following patch to make sure that the kimage* > structure is not corrupted by the code in machine_kexec() ? > > Index: linux/arch/mips/kernel/machine_kexec.c > =================================================================== > --- linux/arch/mips/kernel/machine_kexec.c (revision 8056) > +++ linux/arch/mips/kernel/machine_kexec.c (working copy) > @@ -49,6 +49,8 @@ > unsigned long entry; > unsigned long *ptr; > > + printk("image->start = %p", image->start); > + > reboot_code_buffer = > (unsigned long)page_address(image->control_code_page); Umm? CC arch/mips/kernel/machine_kexec.o cc1: warnings being treated as errors arch/mips/kernel/machine_kexec.c: In function 'machine_kexec': arch/mips/kernel/machine_kexec.c:52: warning: format '%p' expects type 'void *', but argument 2 has type 'long unsigned int' make[6]: *** [arch/mips/kernel/machine_kexec.o] Error 1 make[5]: *** [arch/mips/kernel] Error 2 make[5]: Leaving directory `/home/tch-data/openwrt/11612/build_dir/linux-brcm47xx/linux-2.6.25.9' -- Tomasz Chmielewski http://wpkg.org _______________________________________________ kexec mailing list kexec@lists.infradead.org http://lists.infradead.org/mailman/listinfo/kexec ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: kexec on mips - anyone has it working? @ 2008-07-01 17:53 ` Tomasz Chmielewski 0 siblings, 0 replies; 36+ messages in thread From: Tomasz Chmielewski @ 2008-07-01 17:53 UTC (permalink / raw) To: Nicolas Schichan; +Cc: linux-mips, Kexec Mailing List, openwrt-devel Nicolas Schichan schrieb: > On Friday 30 May 2008 13:39:16 Tomasz Chmielewski wrote: > > Hello, > >> Nicolas Schichan schrieb: >>> On Thursday 29 May 2008 22:15:47 Tomasz Chmielewski wrote: >>>> Will call new kernel at 00305000 >>> The calling address of the kernel looks quite wrong, it should clearly >>> be inside the KSEG0 zone. could you please indicate the output of the >>> command "mips-linux-readelf -l vmlinux" ? >> # uname -m >> mips >> # readelf -l vmlinux >> >> Elf file type is EXEC (Executable file) >> Entry point 0x80251b50 > > This is quite surprising. The jump address that kexec will use is > cleary not what I expected. I would have expected it to be the Entry > point address given by readelf. > > could you try the following patch to make sure that the kimage* > structure is not corrupted by the code in machine_kexec() ? > > Index: linux/arch/mips/kernel/machine_kexec.c > =================================================================== > --- linux/arch/mips/kernel/machine_kexec.c (revision 8056) > +++ linux/arch/mips/kernel/machine_kexec.c (working copy) > @@ -49,6 +49,8 @@ > unsigned long entry; > unsigned long *ptr; > > + printk("image->start = %p", image->start); > + > reboot_code_buffer = > (unsigned long)page_address(image->control_code_page); Umm? CC arch/mips/kernel/machine_kexec.o cc1: warnings being treated as errors arch/mips/kernel/machine_kexec.c: In function 'machine_kexec': arch/mips/kernel/machine_kexec.c:52: warning: format '%p' expects type 'void *', but argument 2 has type 'long unsigned int' make[6]: *** [arch/mips/kernel/machine_kexec.o] Error 1 make[5]: *** [arch/mips/kernel] Error 2 make[5]: Leaving directory `/home/tch-data/openwrt/11612/build_dir/linux-brcm47xx/linux-2.6.25.9' -- Tomasz Chmielewski http://wpkg.org ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: kexec on mips - anyone has it working? 2008-07-01 17:53 ` Tomasz Chmielewski @ 2008-07-01 18:00 ` Nicolas Schichan -1 siblings, 0 replies; 36+ messages in thread From: Nicolas Schichan @ 2008-07-01 18:00 UTC (permalink / raw) To: kexec; +Cc: linux-mips, Tomasz Chmielewski On Tuesday 01 July 2008 19:53:17 Tomasz Chmielewski wrote: > > Index: linux/arch/mips/kernel/machine_kexec.c > > =================================================================== > > --- linux/arch/mips/kernel/machine_kexec.c (revision 8056) > > +++ linux/arch/mips/kernel/machine_kexec.c (working copy) > > @@ -49,6 +49,8 @@ > > unsigned long entry; > > unsigned long *ptr; > > > > + printk("image->start = %p", image->start); > > + > > reboot_code_buffer = > > (unsigned long)page_address(image->control_code_page); > > Umm? > > CC arch/mips/kernel/machine_kexec.o > cc1: warnings being treated as errors > arch/mips/kernel/machine_kexec.c: In function 'machine_kexec': > arch/mips/kernel/machine_kexec.c:52: warning: format '%p' expects type > 'void *', but argument 2 has type 'long unsigned int' > make[6]: *** [arch/mips/kernel/machine_kexec.o] Error 1 > make[5]: *** [arch/mips/kernel] Error 2 > make[5]: Leaving directory > `/home/tch-data/openwrt/11612/build_dir/linux-brcm47xx/linux-2.6.25.9' -Werror is missing from my kernel cflags. Try this one, %lx will accept unsigned long parameters without warnings: Index: linux/arch/mips/kernel/machine_kexec.c =================================================================== --- linux/arch/mips/kernel/machine_kexec.c (revision 8056) +++ linux/arch/mips/kernel/machine_kexec.c (working copy) @@ -49,6 +49,8 @@ unsigned long entry; unsigned long *ptr; + printk("image->start = %lx", image->start); + reboot_code_buffer = (unsigned long)page_address(image->control_code_page); Regards, -- Nicolas Schichan _______________________________________________ kexec mailing list kexec@lists.infradead.org http://lists.infradead.org/mailman/listinfo/kexec ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: kexec on mips - anyone has it working? @ 2008-07-01 18:00 ` Nicolas Schichan 0 siblings, 0 replies; 36+ messages in thread From: Nicolas Schichan @ 2008-07-01 18:00 UTC (permalink / raw) To: kexec; +Cc: Tomasz Chmielewski, linux-mips On Tuesday 01 July 2008 19:53:17 Tomasz Chmielewski wrote: > > Index: linux/arch/mips/kernel/machine_kexec.c > > =================================================================== > > --- linux/arch/mips/kernel/machine_kexec.c (revision 8056) > > +++ linux/arch/mips/kernel/machine_kexec.c (working copy) > > @@ -49,6 +49,8 @@ > > unsigned long entry; > > unsigned long *ptr; > > > > + printk("image->start = %p", image->start); > > + > > reboot_code_buffer = > > (unsigned long)page_address(image->control_code_page); > > Umm? > > CC arch/mips/kernel/machine_kexec.o > cc1: warnings being treated as errors > arch/mips/kernel/machine_kexec.c: In function 'machine_kexec': > arch/mips/kernel/machine_kexec.c:52: warning: format '%p' expects type > 'void *', but argument 2 has type 'long unsigned int' > make[6]: *** [arch/mips/kernel/machine_kexec.o] Error 1 > make[5]: *** [arch/mips/kernel] Error 2 > make[5]: Leaving directory > `/home/tch-data/openwrt/11612/build_dir/linux-brcm47xx/linux-2.6.25.9' -Werror is missing from my kernel cflags. Try this one, %lx will accept unsigned long parameters without warnings: Index: linux/arch/mips/kernel/machine_kexec.c =================================================================== --- linux/arch/mips/kernel/machine_kexec.c (revision 8056) +++ linux/arch/mips/kernel/machine_kexec.c (working copy) @@ -49,6 +49,8 @@ unsigned long entry; unsigned long *ptr; + printk("image->start = %lx", image->start); + reboot_code_buffer = (unsigned long)page_address(image->control_code_page); Regards, -- Nicolas Schichan ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: kexec on mips - anyone has it working? 2008-07-01 18:00 ` Nicolas Schichan @ 2008-07-01 18:21 ` Tomasz Chmielewski -1 siblings, 0 replies; 36+ messages in thread From: Tomasz Chmielewski @ 2008-07-01 18:21 UTC (permalink / raw) To: Nicolas Schichan; +Cc: linux-mips, kexec Nicolas Schichan schrieb: > + printk("image->start = %lx", image->start); > + > reboot_code_buffer = > (unsigned long)page_address(image->control_code_page); # kexec -e b44: eth0: powering down PHY Starting new kernel image->start = 304000Will call new kernel at 00304000 Bye ... -- Tomasz Chmielewski http://wpkg.org _______________________________________________ kexec mailing list kexec@lists.infradead.org http://lists.infradead.org/mailman/listinfo/kexec ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: kexec on mips - anyone has it working? @ 2008-07-01 18:21 ` Tomasz Chmielewski 0 siblings, 0 replies; 36+ messages in thread From: Tomasz Chmielewski @ 2008-07-01 18:21 UTC (permalink / raw) To: Nicolas Schichan; +Cc: kexec, linux-mips Nicolas Schichan schrieb: > + printk("image->start = %lx", image->start); > + > reboot_code_buffer = > (unsigned long)page_address(image->control_code_page); # kexec -e b44: eth0: powering down PHY Starting new kernel image->start = 304000Will call new kernel at 00304000 Bye ... -- Tomasz Chmielewski http://wpkg.org ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: kexec on mips - anyone has it working? 2008-07-01 18:21 ` Tomasz Chmielewski (?) @ 2009-02-22 16:50 ` wurststulle 2009-02-23 9:30 ` Arnaud Patard -1 siblings, 1 reply; 36+ messages in thread From: wurststulle @ 2009-02-22 16:50 UTC (permalink / raw) To: linux-mips is there any solution for this, i have the same problem mangoo wrote: > > Nicolas Schichan schrieb: > >> + printk("image->start = %lx", image->start); >> + >> reboot_code_buffer = >> (unsigned long)page_address(image->control_code_page); > > # kexec -e > b44: eth0: powering down PHY > Starting new kernel > image->start = 304000Will call new kernel at 00304000 > Bye ... > > > > -- > Tomasz Chmielewski > http://wpkg.org > > > -- View this message in context: http://www.nabble.com/kexec-on-mips---anyone-has-it-working--tp17485898p22148789.html Sent from the linux-mips main mailing list archive at Nabble.com. ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: kexec on mips - anyone has it working? 2009-02-22 16:50 ` wurststulle @ 2009-02-23 9:30 ` Arnaud Patard 2009-02-23 18:42 ` wurststulle 0 siblings, 1 reply; 36+ messages in thread From: Arnaud Patard @ 2009-02-23 9:30 UTC (permalink / raw) To: wurststulle; +Cc: linux-mips wurststulle <wurststulle@gmail.com> writes: Hi, > is there any solution for this, i have the same problem What's your exact problem ? It hangs right after saying 'Bye...' ? Some monthes ago, I played with the patch from M. Syrchin [ sorry, I don't remember if it was on linux-mips or on the kexec list ]. I've made on it a small modification (compare the machine_kexec_prepare function in my version [1] and the original function) and it was somewhat working on Qemu and on my box. It was not perfect but at least with a very minimal test system, it was working. Maybe you can try it and see if it works for you too. Depending on your platform, you may have to define machine specific hooks too. Regards, Arnaud [1] http://people.mandriva.com/~apatard/kexec_mips.patch ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: kexec on mips - anyone has it working? 2009-02-23 9:30 ` Arnaud Patard @ 2009-02-23 18:42 ` wurststulle 2009-02-23 21:29 ` Arnaud Patard 0 siblings, 1 reply; 36+ messages in thread From: wurststulle @ 2009-02-23 18:42 UTC (permalink / raw) To: linux-mips hi, thank you for the patch, but there is a mistake, that i can not fix: +#ifdef CONFIG_CRASH_DUMP + if (crashk_res.start != crashk_res.end) + reserve_bootmem(crashk_res.start, + crashk_res.end - crashk_res.start + 1); +#endif the function reserve_bootmem need i think three arguments. while compiling this error occurs: arch/mips/kernel/setup.c: In function 'arch_mem_init': arch/mips/kernel/setup.c:493: error: too few arguments to function 'reserve_bootmem' make[6]: *** [arch/mips/kernel/setup.o] Error 1 thanks! Arnaud Patard wrote: > > wurststulle <wurststulle@gmail.com> writes: > > Hi, > >> is there any solution for this, i have the same problem > > What's your exact problem ? It hangs right after saying 'Bye...' ? > Some monthes ago, I played with the patch from M. Syrchin [ sorry, I don't > remember if it was on linux-mips or on the kexec list ]. I've made on it > a small modification (compare the machine_kexec_prepare function in my > version [1] and the original function) and it was somewhat working on > Qemu and on my box. It was not perfect but at least with a very minimal > test system, it was working. Maybe you can try it and see if it works > for you too. Depending on your platform, you may have to define machine > specific hooks too. > > Regards, > Arnaud > > [1] http://people.mandriva.com/~apatard/kexec_mips.patch > > > -- View this message in context: http://www.nabble.com/kexec-on-mips---anyone-has-it-working--tp17485898p22167417.html Sent from the linux-mips main mailing list archive at Nabble.com. ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: kexec on mips - anyone has it working? 2009-02-23 18:42 ` wurststulle @ 2009-02-23 21:29 ` Arnaud Patard 0 siblings, 0 replies; 36+ messages in thread From: Arnaud Patard @ 2009-02-23 21:29 UTC (permalink / raw) To: wurststulle; +Cc: linux-mips wurststulle <wurststulle@gmail.com> writes: > hi, thank you for the patch, but there is a mistake, that i can not fix: > > +#ifdef CONFIG_CRASH_DUMP > + if (crashk_res.start != crashk_res.end) > + reserve_bootmem(crashk_res.start, > + crashk_res.end - crashk_res.start + 1); > +#endif > > the function reserve_bootmem need i think three arguments. while compiling > this error occurs: > > arch/mips/kernel/setup.c: In function 'arch_mem_init': > arch/mips/kernel/setup.c:493: error: too few arguments to function > 'reserve_bootmem' oops. Adding BOOTMEM_DEFAULT as 3rd parameter should cure the problem I think. Arnaud ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: kexec on mips - anyone has it working? 2008-07-01 18:00 ` Nicolas Schichan @ 2008-07-01 18:25 ` Tomasz Chmielewski -1 siblings, 0 replies; 36+ messages in thread From: Tomasz Chmielewski @ 2008-07-01 18:25 UTC (permalink / raw) To: Nicolas Schichan; +Cc: linux-mips, kexec Nicolas Schichan schrieb: (...) > + printk("image->start = %lx", image->start); > + And this is what happens if I use your "util.c for kexec-userland" - why does it use a different address? # /root/kexec-test/kexec -r Starting new kernel image->start = 802520d0Will call new kernel at 802520d0 Bye ... -- Tomasz Chmielewski http://wpkg.org _______________________________________________ kexec mailing list kexec@lists.infradead.org http://lists.infradead.org/mailman/listinfo/kexec ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: kexec on mips - anyone has it working? @ 2008-07-01 18:25 ` Tomasz Chmielewski 0 siblings, 0 replies; 36+ messages in thread From: Tomasz Chmielewski @ 2008-07-01 18:25 UTC (permalink / raw) To: Nicolas Schichan; +Cc: kexec, linux-mips Nicolas Schichan schrieb: (...) > + printk("image->start = %lx", image->start); > + And this is what happens if I use your "util.c for kexec-userland" - why does it use a different address? # /root/kexec-test/kexec -r Starting new kernel image->start = 802520d0Will call new kernel at 802520d0 Bye ... -- Tomasz Chmielewski http://wpkg.org ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: kexec on mips - anyone has it working? 2008-05-27 12:05 ` Nicolas Schichan 2008-05-27 12:40 ` Tomasz Chmielewski @ 2008-05-27 12:40 ` Nicolas Schichan 1 sibling, 0 replies; 36+ messages in thread From: Nicolas Schichan @ 2008-05-27 12:40 UTC (permalink / raw) To: Tomasz Chmielewski; +Cc: linux-mips On Tuesday 27 May 2008 14:05:54 Nicolas Schichan wrote: > > I am using a 2.6.20 kernel on a 32bit mips platform and it is working fine. > however I am using this userland code (make CROSS=$(your cross-compiler > prefix) to compile it) : I can confirm it also works on our little-endian boards. the kexec-code between 2.6.25 and our tree is the same (I backported some patches). I will give a try to the official userland stuff. Btw, sorry for the mess caused by the HTML attachement in the previous mail. Regards, -- Nicolas Schichan ^ permalink raw reply [flat|nested] 36+ messages in thread
end of thread, other threads:[~2009-02-23 21:29 UTC | newest] Thread overview: 36+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2008-05-27 8:51 kexec on mips - anyone has it working? Tomasz Chmielewski 2008-05-27 8:51 ` Tomasz Chmielewski 2008-05-27 12:05 ` Nicolas Schichan 2008-05-27 12:40 ` Tomasz Chmielewski 2008-05-27 12:40 ` Tomasz Chmielewski 2008-05-27 12:49 ` Nicolas Schichan 2008-05-27 18:14 ` Tomasz Chmielewski 2008-05-27 18:14 ` Tomasz Chmielewski 2008-05-27 23:31 ` Simon Horman 2008-05-27 23:31 ` Simon Horman 2008-05-29 11:47 ` Nicolas Schichan 2008-05-29 12:16 ` Tomasz Chmielewski 2008-05-29 12:16 ` Tomasz Chmielewski 2008-05-29 20:15 ` Tomasz Chmielewski 2008-05-29 20:15 ` Tomasz Chmielewski 2008-05-30 1:40 ` Maciej W. Rozycki 2008-05-30 1:40 ` Maciej W. Rozycki 2008-05-30 11:27 ` Nicolas Schichan 2008-05-30 11:27 ` Nicolas Schichan 2008-05-30 11:39 ` Tomasz Chmielewski 2008-05-30 11:39 ` Tomasz Chmielewski 2008-07-01 13:42 ` Nicolas Schichan 2008-07-01 13:42 ` Nicolas Schichan 2008-07-01 17:53 ` Tomasz Chmielewski 2008-07-01 17:53 ` Tomasz Chmielewski 2008-07-01 18:00 ` Nicolas Schichan 2008-07-01 18:00 ` Nicolas Schichan 2008-07-01 18:21 ` Tomasz Chmielewski 2008-07-01 18:21 ` Tomasz Chmielewski 2009-02-22 16:50 ` wurststulle 2009-02-23 9:30 ` Arnaud Patard 2009-02-23 18:42 ` wurststulle 2009-02-23 21:29 ` Arnaud Patard 2008-07-01 18:25 ` Tomasz Chmielewski 2008-07-01 18:25 ` Tomasz Chmielewski 2008-05-27 12:40 ` Nicolas Schichan
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.