v6 software reset fails on 1176
Jamie Iles
jamie at jamieiles.com
Wed Aug 24 08:27:07 EDT 2011
On Tue, Aug 23, 2011 at 07:00:59PM +0100, Will Deacon wrote:
> On Tue, Aug 23, 2011 at 06:56:38PM +0100, Jamie Iles wrote:
> > On Tue, Aug 23, 2011 at 06:47:36PM +0100, Will Deacon wrote:
> > > You need to make sure you call cpu_reset by jumping to its *physical*
> > > address. If that happens to alias with the virtual address of the kernel, it
> > > won't currently work but I have a solution to this in my kexec branch.
> > >
> > > You can do something like:
> > >
> > > typedef void (*phys_reset_t)(unsigned long);
> > >
> > > phys_reset = (phys_reset_t)virt_to_phys(cpu_reset);
> > > phys_reset(0xffff0000);
> >
> > OK, that makes perfect sense! I'll give it a go on my hardware tomorrow
> > when I'm back in the office.
>
> Great, let me know how you get on! I'll post my kexec series to the list
> again once I've got on top of my current patchsets.
That works a treat, thanks Will!
Jamie
More information about the linux-arm-kernel
mailing list