[ Date Prev][ Date Next][ Thread Prev][ Thread Next][ Date Index][ Thread Index]
Re: [arm-gnu] Advanced SIMD instruction support
- To: akshay.joshi@xxxxxxxxxxx
- Subject: Re: [arm-gnu] Advanced SIMD instruction support
- From: Paul Brook <paul@xxxxxxxxxxxxxxxx>
- Date: Wed, 17 Sep 2008 11:47:29 +0100
> Well, I am using the 2.6.24 kernel. And it does say that it has NEON
> support. But when I try to run a small program which has SIMD isntructions,
> it gives me an "Illegal Instruction" error at run-time.
> The wierd part is that I get this error for different SIMD instructions at
> different times... I'm running the SIMD code in a loop. Sometimes I get the
> error in the 1st iteration and sometimes in between. Sometimes it even runs
> successfully w/o giving any error.
Your kernel is old and buggy. NEON support wasn't merged until 2.6.25. You've
obviously got a broken backport or prototype patch.
> Then I read the FPEXC register after the call to
> "setup_arch(&command_line)" and before the call to "sched_init()" in
> init/main.c and it showed that the FPEXC.EN bit was 0. (which indicates
> that SIMD & VFP instructions are disabled.)
Thats normal. Linux does lazy VFP register saving, so VFP is usually disabled
immediately after a context switch. Blindly enabling it will cause corruption
when multiple VFP processes are run.
Paul
|