<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>&nbsp;</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 &lt;my platform&gt;. </P>      <P>Actually, the Compact flash data sheet specifies exactly that, for a       big endian processor&nbsp;I should swap data when accessing a content       inside it (because in the compact flash access the even address data is       the&nbsp;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>