[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