Hey Daniel, okay I didn't realise that this directice .arch has nothing to do with the "portability". I guess, it just instructs the assembler to use armv7 instrcuction set, and since this is backwards compatible if things like CLZ are not used in the code, it should run on ARMv4 as well.
>> CONFIG_PROCESSOR_ID MANY THANKS for this tip! I have never analysed what this processor ID is used for; i always thought that it is just some arbitrary number to verify that the kernel is running on the right hardware. So I left it always at the default value, which is 0x41007700. But, now I searched in the head.S file for this number, and you we're right - it seems like this is the processor ID for ARM7/710, which is definitely wrong. I'll try this evening to change the CONFIG_PROCESSOR_ID to 0x00020000, which should be ARMv4T - which is exactly what I want. I'll tell you whether I'm successful ;-) Thanks so far, Tobias ________________________________________ Von: uclinux-dev-boun...@uclinux.org [uclinux-dev-boun...@uclinux.org]" im Auftrag von "Daniel Glöckner [daniel...@gmx.net] Gesendet: Samstag, 27. Juli 2013 15:39 An: uClinux development list Betreff: Re: [uClinux-dev] ARM7TDMI zImage booting On Sat, Jul 27, 2013 at 01:01:36PM +0000, Plüss Tobias TA.E.1001 wrote: > I just looked in the arch/arm/boot/compressed/head.S, and there is this > statement > > .arch armv7-a > > which is definitely wrong and makes the kernel not portable to other > architectures. This is done to not be restricted to ARMv4 instructions in the setup code for newer cores. It does not make the code incompatible per se. It just gives the programmer more possibilities. > Also, the head.S uses some CLZ instructions, which are ARMv5. I'm pretty > sure this instruction is the reason which causes my processor to go into > illegal instruction handler. I can see only one clz and it can only be reached from __armv7_mmu_cache_flush. This function should not be called unless you don't define CONFIG_CPU_CP15 and have CONFIG_PROCESSOR_ID set to something that resembles an ARMv7 ID. > Do you have some ideas how to solve the problem? I'd try to narrow down which instruction causes the exception. Daniel _______________________________________________ uClinux-dev mailing list uClinux-dev@uclinux.org http://mailman.uclinux.org/mailman/listinfo/uclinux-dev This message was resent by uclinux-dev@uclinux.org To unsubscribe see: http://mailman.uclinux.org/mailman/options/uclinux-dev _______________________________________________ uClinux-dev mailing list uClinux-dev@uclinux.org http://mailman.uclinux.org/mailman/listinfo/uclinux-dev This message was resent by uclinux-dev@uclinux.org To unsubscribe see: http://mailman.uclinux.org/mailman/options/uclinux-dev