[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [microblaze-uclinux] bad page fault kernel panics
Hi Michal,
On Tue, 24 Feb 2009 10:38:40 +0100, Michal Simek wrote
> Hi Gregori,
>
> > Hi,
> >
> > I'm using the PetaLogix subversion snapshot with MMU support enabled on
> > the Spartan-3A DSP 1800 Board with MicroBlaze 7.10.d and I was
> > accidentally running into bad page fault panics over and over again -
> > sometimes during boot, sometimes later. In the meantime I found a way
> > to force this panic by running
> >
> > # while [ -d / ] ; do ls ; done
> >
> > which will end in said bad page fault panic sooner or later (but usually
> > within the first minute being executed)
>
> I haven't test it your commands but I think that I know where the
> problem is. Please go to arch/microblaze/kernel/entry.S -> lines 743-
> 747 should be
>
> swi r11, r0, TOPHYS(PER_CPU(KM)); /* Now we're in kernel-mode. */
> lwi r31, r0, TOPHYS(PER_CPU(CURRENT_SAVE)); /* load current - get
> the saved current */
> 2: swi r0, r1, PTO+PT_SYSCALL; /* Save away the syscall number. */
>
> Please change it to this form (just move 2: label one line before)
> swi r11, r0, TOPHYS(PER_CPU(KM)); /* Now we're in kernel-mode. */
> 2:
> lwi r31, r0, TOPHYS(PER_CPU(CURRENT_SAVE)); /* load current - get
> the saved current */ swi r0, r1, PTO+PT_SYSCALL; /* Save away the
> syscall number. */
>
> Could you please test it and send me your results?
Thank you, seems like that fixed the problem! I ran the mentioned ls
loop couple of times for several minutes without getting a panic at
all. As I said, the system usually died within the first minute, so
this looks pretty satisfying to me ;)
Thanks again,
Sven
___________________________
microblaze-uclinux mailing list
microblaze-uclinux@xxxxxxxxxxxxxx
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/