<FONT face="Default Sans Serif,Verdana,Arial,Helvetica,sans-serif" size=2><div><TABLE cellPadding=0 width="100%"> <TR> <TD colSpan=2> <P>Hi, there,</P> <P> </P></TD></TR> <FORM action=/tracker/index.php method=post> <TR> <TD colSpan=2> <P>I am using the u-boot with a MPC855T based board, and <BR>I am trying to boot from a compact flash by using the diskboot command. After debugging the code, I found out that the u-boot does <BR>not detect a DOS partition in the compact flash because <BR>the bytes are swapped when data is read from the IDE. <BR>In the same way, when the IDE device information is <BR>gotten, they are shown as if they are swapped two by <BR>two.<BR><BR>As the processor is big-endian, I supposed the u-boot <BR>would automatically fix this swapping problem, though I <BR>could not understand how. The IDE interface is set in <BR>the CPU to have "16-bit" access. I don't know if I should <BR>set a "define" to fix this swapping problem, or if I should <BR>change the code (cmd_ide.c, I guess) using #ifdef <my platform>. </P> <P>Actually, the Compact flash data sheet specifies exactly that, for a big endian processor I should swap data when accessing a content inside it (because in the compact flash access the even address data is the least significant byte), and to not swap when reading the identification, exactly the opposite of what is done in the code (in my understanding, I could be wrong...)</P> <P>Could anyone please explain this to me?<BR><BR>Thanks,<BR><BR>Helio Fujimoto.<BR><BR></P></TD></TR></FORM></TABLE></div></FONT>