Messages in this thread Patch in this message | | | From | Eric Miao <> | Date | Tue, 31 Aug 2010 14:08:54 +0800 | Subject | Re: [PATCH 1/1] ARM: pxa168: fix corrected reset vector |
| |
On Tue, Aug 31, 2010 at 2:04 PM, Eric Miao <eric.y.miao@gmail.com> wrote: > On Tue, Aug 31, 2010 at 2:02 PM, Mark F. Brown <mark.brown314@gmail.com> wrote: >> On Tue, Aug 31, 2010 at 1:48 AM, Eric Miao <eric.y.miao@gmail.com> wrote: >>> On Thu, Aug 26, 2010 at 5:07 PM, Mark F. Brown <mark.brown314@gmail.com> wrote: >>>> Signed-off-by: Mark F. Brown <mark.brown314@gmail.com> >>>> --- >>>> arch/arm/mach-mmp/include/mach/system.h | 2 +- >>>> 1 files changed, 1 insertions(+), 1 deletions(-) >>>> >>>> diff --git a/arch/arm/mach-mmp/include/mach/system.h b/arch/arm/mach-mmp/include/mach/system.h >>>> index 4f5b0e0..926e9c0 100644 >>>> --- a/arch/arm/mach-mmp/include/mach/system.h >>>> +++ b/arch/arm/mach-mmp/include/mach/system.h >>>> @@ -16,6 +16,6 @@ static inline void arch_idle(void) >>>> >>>> static inline void arch_reset(char mode, const char *cmd) >>>> { >>>> - cpu_reset(0); >>>> + cpu_reset(0xffff0000); >>> >>> Not sure if this correct. But normally reset jump happens after we turn >>> off the MMU and so on. Ain't the BootROM starts from 0 ? >>> >>>> } >>>> #endif /* __ASM_MACH_SYSTEM_H */ >>>> -- >>>> 1.7.0.4 >>>> >>>> >>> >> >> Eric, the boot-rom for pxa168 starts at 0xffff_0000. I am pretty sure >> about that! If you set the reset vector to 0x0 it will crash during >> reboot. I will send you xdb snapshots if you need me to. >> > > OK, you are expert on this :-) > > Applied to 'fix'. >
One moment. Since this is really global to pxa910 and mmp2, so I suggest this being fixed for pxa168 only first. How about this:
ARM: pxa168: fix corrected reset vector
Reset vector for pxa168 is 0xffff_0000 not 0x0. This fix allows reboot to work
Signed-off-by: Mark F. Brown <mark.brown314@gmail.com>
diff --git a/arch/arm/mach-mmp/include/mach/system.h b/arch/arm/mach-mmp/include/mach/system.h index 4f5b0e0..1a8a25e 100644 --- a/arch/arm/mach-mmp/include/mach/system.h +++ b/arch/arm/mach-mmp/include/mach/system.h @@ -9,6 +9,8 @@ #ifndef __ASM_MACH_SYSTEM_H #define __ASM_MACH_SYSTEM_H
+#include <mach/cputype.h> + static inline void arch_idle(void) { cpu_do_idle(); @@ -16,6 +18,9 @@ static inline void arch_idle(void)
static inline void arch_reset(char mode, const char *cmd) { - cpu_reset(0); + if (cpu_is_pxa168()) + cpu_reset(0xffff0000); + else + cpu_reset(0); } #endif /* __ASM_MACH_SYSTEM_H */ -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |