>>>>> "Russell" == Russell King <- ARM Linux <linux at arm.linux.org.uk>> writes: Russell> On Wed, Dec 14, 2011 at 08:08:02AM +0000, Russell King - ARM Russell> Linux wrote: >> On Wed, Dec 14, 2011 at 03:02:10PM +1100, Peter Chubb wrote: >> > >> > When kexec() runs, it eventually sets up a 1-to-1 memory map, >> then > invokes cpu_reset(). When it invokes cpu_reset (which turns >> > off the MMU), it does so at its virtual address. Across the code >> that > disables the MMU, virtual and physical addresses have to be >> the same, > otherwise after disabling the MMU, the PC is invalid. >> > >> > The simplest fix is to invoke cpu_reset() at its one-to-one >> mapped > address. >> > >> > I've tested on KZM (arm v6) and Beagleboard (omap) >> >> NAK. >> >> Three reasons: >> >> 1. You've not signed-off the patch (please read >> Documentation/SubmittingPatches) 2. pre-ARMv6 do not expect this, >> and it will break where PHYS_OFFSET >= PAGE_OFFSET 3. Have you seen >> what's already queued for the next merge window? Russell> And 4. You didn't cc the linux-arm-kernel mailing list with Russell> your patch. Sure, last time I tried to cc linux-arm it bounced. And I wasn't expecting this to be accepted yet (hence no signed-off-by: line), just wanted comment. If there's already a patch queued to fix this then fine. -- Dr Peter Chubb http://www.gelato.unsw.edu.au peterc AT gelato.unsw.edu.au http://www.ertos.nicta.com.au ERTOS within National ICT Australia -- Dr Peter Chubb http://www.gelato.unsw.edu.au peterc AT gelato.unsw.edu.au http://www.ertos.nicta.com.au ERTOS within National ICT Australia