This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

IXP425 Big Endian Mode


Hello All,

I am just going through the redboot source code for
IXP425 and found the following line in
HAL_PLATFORM_SETUP.h

#ifdef CYGINT_HAL_ARM_BIGENDIAN
       // set big-endian
       mrc	p15, 0, r0, c1, c0, 0
       orr		r0, r0, #0x80
       mcr	p15, 0, r0, c1, c0, 0
      CPWAIT  r0
#endif

I understand that these lines are for changing the
processor mode into Big-endian. I have seen that
Redboot for IXP425 has been compiled and linked in
Big-endian mode - this I further confirmed using
objdump. But at reset IXP425 starts operation in
little endian mode. Now, in order the switch the
endianness, the processor should be able to execute
the above mentioned code and this code is in
big-endian order. Now, I have a question - how the
processor executes the above mentioned code, when it
is in little endian mode. I know for sure that there
is some way to do that because the code works fine. I
think 'am missing some basic concept - any suggestion
will be highly appreciated.

Thanks in advance,

Sujoy Ray.


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]