[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [microblaze-uclinux] RE: CONFIG_OPT_LIB_FUNCTION crashes kernel without a barrel shifter



On Mon, 2009-10-26 at 08:35 +0100, Michal Simek wrote:
> 
> John Linn wrote:
> >> -----Original Message-----
> >> From: John Linn
> >> Sent: Friday, October 23, 2009 1:01 PM
> >> To: microblaze-uclinux@xxxxxxxxxxxxxx
> >> Subject: CONFIG_OPT_LIB_FUNCTION crashes kernel without a barrel
> > shifter
> >> On an MMU kernel, I see that when this feature is enabled in the
> > kernel config, and there is no
> >> barrel shifter in h/w, the kernel won't boot.
> >>
> >> I believe the lack of barrel shifter is the cause, but not 100%
> > confident.
> > 
> > It looks like you have to have both of these for the failure to boot.
> > 
> > CONFIG_OPT_LIB_FUNCTION=y
> > CONFIG_OPT_LIB_ASM=y
> 
> yes, you are right - asm implementation use barrel-shifter instruction.
> 
> Thanks,
> Michal

Aha. This explains the problems I had earlier in the year getting the
assembly memcpy() to work (ref:
http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/archive/2009/05/msg00197.html).

At the time I was working with an EDK that didn't have the barrel
shifter. I withdraw my claim that the implementation is buggy.

--Steve

> 
> > 
> >> The help in the kernel config indicates it might be sub-optimal, but
> > not crashing.  The mmu_defconfig
> >> uses this option.
> >>
> >> Thanks,
> >> John
> > 
> > This email and any attachments are intended for the sole use of the named recipient(s) and contain(s) confidential information that may be proprietary, privileged or copyrighted under applicable law. If you are not the intended recipient, do not read, copy, or forward this email message or any attachments. Delete this email message and any attachments immediately.



___________________________
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/