[okl4-developer] S3C2440A and okl4

Rémy Gottschalk rgottschalk at linagora.com
Tue Aug 19 05:33:11 EST 2008


Geoffrey Lee a écrit :
> On Mon, Aug 18, 2008 at 03:07:20PM +0000, Rémy Gottschalk wrote:
>> Geoffrey Lee a écrit :
>>> On Mon, Aug 18, 2008 at 02:33:49PM +0000, Rémy Gottschalk wrote:
>>>> The faulty instruction seems to be  a clzeq within arm_comon_return :
>>> Hi Remy
>>>
>>> I don't think the clz instruction is supported on the arm920t, which 
>>> might be the cause of the problem.
>>>
> 
> Hi Remy
> 
>> I am no arm guru but doing some research it appears the same to me.  
>> Digging a little further i discovered that this portion of code come  
>> from arch/arm/pistachio/v5/src/traps.spp
>>
>> I also found that v.2.1 doesn't contain any clz instruction. 

In fact it contains two clz but none clzeq, see below.

>> So for a  
>> quick test I copied this file from the v 2.1 to the current version  
>> (2.1.1-patch.9). And well I got a nice amount of test to pass. :)
>>
>> Of course I know this solution may have unfortunate side effects.
>>
>> Also does this means support for gta01 arch is currently broken ?
>>
> 
> We run tests on the gta01 simulator platform regularly for testing,
> in theory should boot on hardware.  The simulator sometimes does
> in rare cases fail to pick up issues such as the one you have encountered.
> Addressing this specific issue however should be easy (see below)
> 
>> And would a proper solution be to have some arch/arm/pistachio/v4  
>> directory ?
> 
> My understanding is that the v4 and v5 are very similar, hence the code 
> should run on both.  The solution in this case is to ensure that
> when running on v4 the code uses instructions that is functionally
> equivalent to the current implemention but without v5-only
> instructions.
> 

Well I found three faulty instructions one clzeq and two clz, all are 
from arch/arm/pistachio/v5/src/traps.spp I managed to found a workaround 
for the two clz but non for the clzeq.

So I applied my pretty dirty workaround to the v2.1 and not only all 
tests pass successfully but I got now an oklinux working. :)

I am really short on time so I'll work with this version for now, and I 
must admit my skills are laking to get a proper armv4 support.

Also to get input in the console working I've had to activate nRTS (ie 
changing UMCON0 from 0x00 to 0x01 in 
./platform/s3c2410/pistachio/kdb/console.cc)

I guess I'll call it a day.

And again (but it is still greatly justified) Thank you for your 
precious help

Regards,

-- 
Remy Gottschalk - rgottschalk at linagora.com
Ingénieur informatique embarquée
Groupe LINAGORA - http://www.linagora.com
Tél.: +33(0)1 58 18 68 28 - Fax : +33(0)1 58 18 68 29



More information about the Developer mailing list