loody wrote: > 2009/1/29 Jamie Lokier <jamie@xxxxxxxxxxxxx>: > > loody wrote: > >> e1a0e00f mov lr, pc > >> e12fff13 bx r3 > > Actually my cpu get exception when executing this instruction not bx r3. > But lr is the destination for cpu to write, I have checked the arm > reference and it doesn't say any cautions when the destination is lr. You're right, that doesn't make sense to me either. > > "bx" is not available on all ARMs, and will fault when you don't have > > it. That's why it's necessary to build everything with the right GCC > > options. > > There are bx instructions generated when I use arm-linux-2006. > > BTW, can I take off the Thumb support in my compiler options? > Thumb is only used for decreasing the density of source code and so > far I just want my kernel say hello to me. At this point, you may want to subscribe to the linux-arm mailing list, and ask the question again there :-) http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm -- Jamie